轉載注明出處:簡書-十個雨點
本文記錄我和同事開發(fā)《全能分詞》(又名《錘子Bigbang》,以下簡稱Bigbang)的過程,內(nèi)容不一定精彩,只是個人的記錄,如果你也做過或者想做個人APP,可以看下去。
一切的源頭
雖然我至今還沒有購買過錘子的手機,不過一年一度的老羅相聲會我一直都是網(wǎng)上直播觀眾。
2016年10月18號,老羅在相聲會上拋出了Bigbang和One Step這兩個重磅炸彈,當時就把我震驚到了。且不說One Step分享信息的交互方式有多便利,單是應用切換方式也比三星的上下分屏巧妙了許多——將Windows的任務欄搬到了手機上。而Bigbang則為文字處理提供了一種新思路,確確實實的提高了復制粘貼的處理效率。如果不是M系列長得不如T系列美,我可能就剁手了。
到25號,有個同事在github上發(fā)現(xiàn)有Bigbang的開源項目,模仿了錘子的界面和功能,通過輔助服務實現(xiàn)了在微信上長按觸發(fā)選詞。但是試用后發(fā)現(xiàn),它的分詞功能不好用,很容易就分詞失敗。我跟同事說——咱們自己做一個Bigbang吧。
說干就干
基于開源項目,我們修復一些bug,添加了拖動詞語排序的功能,添加了對其他應用的支持,添加了復制觸發(fā)分詞,添加了懸浮窗控制開關,添加了……總之,加班一整個個星期以后,11月1日我們發(fā)布了應用的第一版,起名“Bigbang”。應用圖標是我自己在星際穿越的海報圖的基礎上P的,懸浮窗的圖標也是百度出來的。
開始前幾天下載量都非常低迷,每天新增用戶20個左右……
作為開發(fā)者,我們的心情也和這條曲線一樣一樣的……不過我們沒有時間低迷,因為已經(jīng)著手做第二版了。
不過才剛發(fā)布就遇到了問題,因為Bigbang碰巧是某知名組合的名字,所以我們發(fā)布的應用在一些市場上遇到重名應用,審核一直不通過,被要求改名字,于是,我們就改成了“錘子Bigbang”。
而我百度Bigbang的時候,發(fā)現(xiàn)有個類似的應用——“Clipboard Plus”,也在做跟我們一樣的事情,而且關于這個應用的新聞也有好幾篇,下載量已經(jīng)好幾萬了。當時的心情是沮喪的。
沒想到塞翁失馬了!
首先是“Clipboard Plus”新聞中的下載鏈接指向酷安網(wǎng)——世界第三大同性交友平臺(大霧),我們發(fā)現(xiàn)這個應用市場之前沒聽說過,于是就在這上面發(fā)了包。沒想到第二天下載量就破400了(8號晚上才發(fā)布,9號早上審核通過),雖然第三天就掉下去了,不過這已經(jīng)足以讓我們認識到了酷安基佬的力量了,從此我們就做出了將工作重心轉移到酷安上的重要戰(zhàn)略決定。
改名為錘子Bigbang可能起到了作用,以下情節(jié)是我猜測的,不承擔任何責任:有個偉大的編輯(我估計是酷安基佬),用到了我們的產(chǎn)品,發(fā)現(xiàn)還不錯,看看名字,發(fā)現(xiàn)有錘子,“嗯,似乎可以做點文章”。于是一篇介紹“錘子Bigbang”的新聞面世了——錘子BigBang大爆炸APP上線!老羅良心之作(請原諒我不知道哪里才是這篇新聞,互相轉載太嚴重了)。開篇就說“老羅承諾將Bigbang開源,沒想到這么快就單獨開放下載了”,然后其中又雞賊的說“由于是開源,所以不確定是不是錘子官方發(fā)布的!”——當然不是官方的,我們在“關于”中說得一清二楚,而且文中截圖都串了,最后一張是“Clipboard Plus”的截圖!
但是沒關系,我們的下載量11號暴增到2000多,感謝天感謝地,感謝小編!
百度不愧是大佬,百度經(jīng)驗第二天就跟進了——錘子bigbang功能怎么下載開源(非錘子也能用),這篇新聞也被其他網(wǎng)站轉載了。我們的新增用戶又翻了一倍,達到4000+。
我已經(jīng)26歲了,但是直到2016年11月12日的晚上,我才第一次認識到傳媒的力量。至于第二次,則是在我讀《大敗局》的時候……
在這之后,雖然也有許多新聞和介紹,各個論壇也有不少討論,不過我們的新增下載量一直差不多維持在1000左右,再也沒有能復現(xiàn)第一次爆發(fā)時的奇觀。
比如下面兩篇,分別是Bigbang在不同版本時的報道,我相信編輯們肯定是很認真的體驗了我們的應用,真的非常感謝你們。
錘子手機Bigbang已經(jīng)有了,不是錘子手機也可以用啦
真的是神級App?錘子BigBang文字復制App體驗
不過名字的風波還沒有完,11月16號開始,QQ、魅族、百度等幾個渠道,陸續(xù)將我們的《錘子Bigbang》強行下架了,估計是名字涉嫌的版權方面的問題吧。無奈之下我們做了個艱難的決定:在酷安上還保持《錘子Bigbang》,而在其他渠道改名為《全能分詞》。因為酷安現(xiàn)在是我們的主力渠道,而酷安上用戶對“Bigbang”這個名字的認可度明顯是比較高的。不過這種頻繁改名的做法可能浪費了一些媒體的力量,導致一些用戶的迷惑,甚至是推薦給其他朋友時的尷尬。這些暫且放到一邊,繼續(xù)說說接下來的發(fā)展。
功能還是UI?
用戶多起來以后,我們收到不少反饋,其中一半是一個意思——丑,比Clipboard Plus難看;另一半的意思是——好用,比Clipboard Plus強大。
既然我們已經(jīng)被用來跟Clipboard Plus對比了,那就干他*的!
首先,不得不承認我們丑,但是由于我跟同事都沒有什么審美細胞,第一版的時候單純的覺得黑色百搭,所以就以黑色為分詞界面的底色了,當時怎么就沒想到直接抄原版Bigbang的呢?!結果Clipboard Plus色值跟原版很相似,我們又傻逼的覺得直接抄襲不好,楞是把黑色用了很久很久……
后來有個用戶幫我們設計了新的圖標和懸浮球圖片,雖然不夠競爭對手漂亮,不夠比較契合我們的應用,所以我們懷著感激之心一直沿用至今。雖然它們也一直被詬病。(直到最近我才發(fā)現(xiàn),原來Clipboard Plus的圖標是抄襲Google+的,難怪看起來這么順眼,這么想想就開心多了。)
既然我們在美觀上基本上無法超越對手了,那只好從功能上想辦法了。
Clipboard Plus只做了復制取詞,所以我們首先要在取詞的方式上打敗它。
我們覺得點擊取詞、復制取詞、全局復制、再加上OCR取詞,基本上就能覆蓋用戶所有的取詞需要了。
功能多了以后,需要有開關,以防用戶誤觸發(fā);還需要能觸發(fā)全局復制和OCR的開關。所以我們做了功能比較復制的懸浮窗,然后又做了通知欄,還做了快捷鍵的觸發(fā)方式。
為了給用戶更大的自由度,我們開放了界面樣式自定義、懸浮球樣式自定義。
后來我們又在用戶的建議下實現(xiàn)了基于Xposed的選詞和全局復制。
總結一下我們實現(xiàn)的功能點:
- 通過輔助模式,實現(xiàn)單擊、長按、雙擊來進行選詞;
- 通過系統(tǒng)復制進行選詞;
- 通過輔助模式,實現(xiàn)全局復制進行選詞;
- 使用5.0以上的系統(tǒng)接口,進行截圖OCR進行選詞;
- 通過懸浮窗、通知欄、快捷鍵進行控制;
- 通過xposed模塊,實現(xiàn)單擊、長按、雙擊來進行選詞,以及全局復制的功能
- 界面樣式自定義、懸浮球樣式自定義
干干干干干
這些功能看起來不多,真做起了還是相當折騰人的。為了把新功能盡快發(fā)布出去,我們以極高的頻率發(fā)布新版本——在2.0.0版以前,基本上每周會發(fā)布2-3版,2.0.0以后也基本上保持了一周一版。截止2月9日,我們一共發(fā)布29個版本,往git上提交了300多次,總共30000多行有效java代碼。下面兩張圖是酷安的應用發(fā)布后臺,真實記錄了我們每一次發(fā)布(2.6.0沒在里面)。
你可能覺得100多天發(fā)布29個版本并沒有多頻繁,但要知道我們都是有本職工作的,而且剛好那段時間公司的需求也特別多。所以我們只能在下班以后干,幾乎每天都10點半下班,連續(xù)工作了至少一個月沒休息。
我們接受用戶的建議建了個QQ內(nèi)測群,很快就聚集了很多可愛的基佬們,他們無私的幫助我們測試新版本,給我們提建議,還捐贈我們吃辣條,真的很感謝他們。有很多項改進都是根據(jù)這些熱心用戶的建議修改的。雖然回復QQ群消息也成了我們不小的負擔,但也從他們身上學到不少知識,看到不少新思路。
Clipboard Plus很快也推出了點擊取詞和OCR功能。看來對方也不想坐以待斃呢。
我們還做了一件很雞賊的事情:我們使用的是巨硬的OCR服務,但是因為我們并沒有在軟件中加入廣告,所以并沒有穩(wěn)定的收益,負擔不起頗為昂貴的服務費,當時可把我們苦惱了好幾天。冥思苦想后突發(fā)一計:讓用戶自己去注冊巨硬的開發(fā)者,獲取免費體驗OCR服務的key,然后填到軟件中使用。Clipboard Plus估計也遇到了類似的問題,所以第二天就跟進了。
關于技術方面的總結,我另開了多篇文章總結,可以看文末的列表,源碼也已經(jīng)放在Github上了,感興趣的同學可以移步查看。
我們拼命的coding,頻繁的發(fā)包,其實也是有原因的。因為我發(fā)現(xiàn),發(fā)新包就會出現(xiàn)在最近更新榜上,下載量就會大幅提升。不過這么拼也沒有什么用,我們剛發(fā)布的時候,Clipboard Plus下載量(只算酷安上的)差不多4萬,到現(xiàn)在我們的還是比對方少2萬多,而對方12月中旬就停止更新了。
不是結束的結束
2017年1月3日,雖然還沒有完善所有功能,但我們還是把代碼稍作整理后,開源了。
9天以后,錘子如約把原版Bigbang開源。我很不要臉的覺得,雖然它們在按壓取詞完爆我們,但是分詞處理上可能還沒我們做得好。不過他們的圖片資源,我就老實不客氣的笑納了。
又經(jīng)過一個月,我們把設想中的功能都完成了,bug基本上也修復了。雖然用戶還給了我們很多建議,比如剪貼板管理的功能、類似fooview的截屏錄屏、類似懸浮菜單的手勢操作……但是我們覺得這不符合Bigbang的功能定位——給用戶提供全面的選詞、分詞幫助,所以并沒有盲目添加。
至此,開發(fā)上的工作基本上結束了,即使以后再有更新,可能也只是一些小修改而已,所以我們的Bigbang之旅差不多就到此結束了!感謝一同開發(fā)的小伙伴,感謝支持我們的用戶,感謝其他所有給我們幫助的人!
總結
做Bigbang的過程中,我不僅僅是作為一個程序員,我扮演的角色還包括產(chǎn)品、測試和用戶運營。甚至我還在知乎強行當了一次市場運營,結果被人罵成狗……
稍微總結一下收獲:
- 產(chǎn)品的功能很重要,但是更重要的是界面UI和細節(jié),因為用戶接觸得到的就是UI,除非功能不可替代,否則分分鐘換掉你!
- 傳媒的力量非常大,以前聽說大作家在報紙上對罵覺得不理解,現(xiàn)在才稍微有點懂了,稍微。所以運營的重要性可見一斑。
- 構想產(chǎn)品的時候要有用戶思維,可能自己頭腦風暴自嗨到高潮,但是用戶不喜歡就是白搭。
- 但是產(chǎn)品又要有自己的思考,因為用戶并不知道他想要的究竟是什么。
- 自己做的狗屎自己一定要吃!我跟同事一開始都是使用iphone做常用機的,所以自己做的應用自己沒有長期的使用,這對我們做產(chǎn)品帶來了不少麻煩,后來我們都換成了使用Android手機。
這幾點雖然是我的一些心得收獲,但直到最后我們也沒能做好,如果要我給自己這段經(jīng)歷打分,及格分都得不到。
最后說句雞湯的話——雖然結果不甚完美,但是這一段經(jīng)歷確實是我很喜歡的過程,因為每天都很有干勁,每天腦子里都只想著產(chǎn)品,每天都能對自己產(chǎn)生認同感。
一切經(jīng)歷都是經(jīng)驗,抵達終點是為了再次出發(fā)!我要做出更棒的應用!
廣告
如果你對我們的開源代碼感興趣,可以移步github:Bigbang
如果你對應用中用到的技術感興趣,可以參考以下文章:
通過輔助模式獲取點擊的文字
使用輔助服務實現(xiàn)全局復制
使用輔助服務監(jiān)聽系統(tǒng)按鍵
如何通過Xposed框架獲取點擊的文字
使用Xposed框架實現(xiàn)全局復制
在onLayout中實現(xiàn)簡單的微動效
如何使用Android的拖拽接口實現(xiàn)拖拽功能
通過ContentProvider多進程共享SharedPreferences數(shù)據(jù)
Android上如何實現(xiàn)矩形區(qū)域截屏
Android如何判斷NavigationBar是否顯示(獲取屏幕真實的高度)
如何在Bitmap截取任意形狀
4種獲取前臺應用的方法(肯定有你不知道的)
android7.0 通過代碼 分享圖片到朋友圈
Android中如何正確的獲得所有App列表
Android的supportV7中默認按鈕的顏色設置
Android沉浸式與SearchView的坑
Android中“強制停止”和廣播保活的一個小坑
Xposed大法好,教你實現(xiàn)ForceTouch炫酷功能
如何實現(xiàn)android炫酷懸浮球菜單
如果你對這款應用感興趣,可以下載:錘子Bigbang
如果你是使用Xposed框架的,可以下載錘子BigBang_XP專版
如果你只想使用Xposed的全局復制,可以下載全局復制xposed版
如果你是個手機控,并苦惱于此的話,可以下載不做手機控