這款老牌 “裝機(jī)必備” 應(yīng)用,一邊用 Kotlin 換血瞻讽,一邊深耕精細(xì)市場

在智能手機(jī)行業(yè)發(fā)展之初鸳吸,大多數(shù)手機(jī)自帶相機(jī)應(yīng)用的表現(xiàn)都不能盡如人意速勇。那時(shí)养匈,一些算法強(qiáng)大的第三方拍照應(yīng)用成了 “裝機(jī)必備” 清單里的成員积担。Camera360 就是這樣一個(gè)老牌 “裝機(jī)必備” 的拍照類應(yīng)用,已經(jīng)近 8 歲 “高齡” 的它的烁,曾經(jīng)獲選 Google Play "Best of 2016"。目前在 Google Play 上的總下載量超過 4 億次襟雷。

△?品果科技三位聯(lián)合創(chuàng)始人徐灝晃危、徐瀅、顧銳 (左起)

雖然現(xiàn)在很多 Android 旗艦機(jī)的自帶相機(jī)拍照功能越來越強(qiáng)大,第三方相機(jī)應(yīng)用的必要性似乎越來越低偿乖。能在激烈的市場競爭中屹立不倒眠副,得益于 Camera360 開發(fā)公司成都品果科技對于產(chǎn)品定位的精準(zhǔn)拿捏以及最新技術(shù)的快速跟進(jìn)霍弹。

這個(gè)老牌影像應(yīng)用是如何在手機(jī)自帶相機(jī)越來越強(qiáng)的沖擊下順利存活的?在技術(shù)層面又有哪些追求砾肺?這一次,我們帶來的是 Camera360 的開發(fā)商品果科技的心得與故事。

及時(shí)跟進(jìn)新技術(shù) 用 Kotlin "換血" 提效

任何一家技術(shù)驅(qū)動型公司闷煤,都會對熱門領(lǐng)域的新技術(shù)嗅覺敏感署咽。品果也不例外窒升。品果的技術(shù)總監(jiān) Lee 在大概六七年前知道了 Kotlin 這種新型語言,那時(shí)候關(guān)于 Kotlin 的技術(shù)社區(qū)逐漸開始起步蓉媳。2017 年狠角,Lee 和同事參加 Google I/O 大會時(shí)見證了 Kotlin 正式成為 Android 官方語言的時(shí)刻姨蟋,回到成都后悠砚,便開始在公司內(nèi)部推動學(xué)習(xí) Kotlin。在組織公司里的工程師們學(xué)習(xí) Kotlin 時(shí)枢泰,Lee 改進(jìn)了以往的培訓(xùn)方式毛甲。

“在內(nèi)部推廣學(xué)習(xí) Kotlin 之前,我們公司的技術(shù)分享比較中規(guī)中矩,談不上培訓(xùn),很多人聽了其他同事的分享以后有多少收獲终蒂、能否落地,其實(shí)是不明確的。”?Lee 說粤咪。


△?品果科技開設(shè)的內(nèi)部 Kotlin 課程

為了讓 Kotlin 更快在公司項(xiàng)目中落地,Lee 最初選擇了參加 StudyJams 的形式渴杆,動員公司里的同事組建了一個(gè)小組參加學(xué)習(xí)寥枝,最后也有四個(gè)同事順利拿到了畢業(yè)證。后來也在公司內(nèi)部建立了類似的學(xué)習(xí)機(jī)制磁奖,每周開課兩次囊拜,對此感興趣的工程師們自愿參加。因?yàn)橐痪€的優(yōu)秀開發(fā)者們普遍抱有隨時(shí)充電學(xué)習(xí)的態(tài)度比搭,所以每次課程都人滿為患冠跷。值得欣慰的是,Kotlin 的學(xué)習(xí)曲線較為合理敢辩,既不會很平蔽莱,也沒有很陡 (您可以參考我們發(fā)布的文章《31天,從淺到深輕松學(xué)習(xí)Kotlin》)戚长,有 Java 語言基礎(chǔ)的開發(fā)者上手并不困難盗冷。

當(dāng) Kotlin 成為品果科技工程師們 "標(biāo)配" 技能后,Lee 開始嘗試完全用 Kotlin 開發(fā)新的功能 —— 他們只用了三個(gè)月時(shí)間便將一個(gè)復(fù)雜度相當(dāng)高的新模塊開發(fā)到了可上線程度同廉,但因產(chǎn)品策略的調(diào)整仪糖,目前這個(gè)新功能還未正式對外。

“雖然還沒上線迫肖,但有了實(shí)操經(jīng)驗(yàn)锅劝,可以說我們技術(shù)團(tuán)隊(duì)已經(jīng)對Kotlin上手了◇『”?Lee 說故爵。


△ 內(nèi)部?Kotlin 培訓(xùn)課

除了使用 Kotlin 開發(fā)新功能,品果也在用 Kotlin 重構(gòu) Camera360 的老模塊隅津。Camera360 的架構(gòu)師表示诬垂,使用 Kotlin 可以顯著減少代碼行數(shù)。

“我們統(tǒng)計(jì)了整個(gè)項(xiàng)目中的所有代碼伦仍,其中每個(gè) Kotlin 文件的平均行數(shù)是 86 行结窘,而相對每個(gè) java 文件則平均接近 200 行,這能側(cè)面反應(yīng) Kotlin 更加簡潔充蓝;具體來說隧枫,我們的一個(gè)工具類庫喉磁,在使用Kotlin重構(gòu)之后,代碼從 2600 行減少到了 1400 行官脓⌒”


△?品果科技的開發(fā)工程師在交流心得

而代碼行數(shù)的減少意味著效率的提升,雖然沒辦法具體量化效率提升了多少确买,但一些提升是顯而易見的斤讥,比如自動類型推斷讓編寫代碼更簡潔,data class 可以減少大量的模板代碼湾趾,默認(rèn)參數(shù)減少重載方法的編寫芭商,字符串模板這些開發(fā)中最常用到的功能,另外 lambda 表達(dá)式搀缠、函數(shù)式編程和擴(kuò)展方法這些更高級的功能也大大豐富了代碼的編寫方式和效率铛楣。

此外,使用 Kotlin 顯著減少 NullPointerException 這個(gè) Java 語言的老大難問題艺普,在一個(gè) 90% Java 代碼的老項(xiàng)目中簸州,每個(gè)版本的前 50 條錯(cuò)誤最高統(tǒng)計(jì)中,平均出現(xiàn) 1~2 次 NPE歧譬,而在一個(gè) 70% 使用了 Kotlin 代碼的新項(xiàng)目中岸浑,很難在錯(cuò)誤統(tǒng)計(jì)的前幾頁找到 NPE。

強(qiáng)大的語法糖也是深受工程師們喜愛的一個(gè)特性瑰步。目前矢洲,Camera360 大概有 10% 左右的代碼使用 Kotlin 重構(gòu)完成,這些 Kotlin 代碼主要用在了相機(jī)模塊和一些基礎(chǔ)模塊上缩焦,品果希望在一年之內(nèi)把 Kotlin 的代碼占比提升到 50%读虏。

歷史轉(zhuǎn)折中的第三方拍照應(yīng)用

第三方拍照應(yīng)用逐漸淡出了智能手機(jī)的 "裝機(jī)必備" 清單,是個(gè)無可否認(rèn)的事實(shí)袁滥。在手機(jī)廠商越來越重視軟件配套盖桥、手機(jī)自帶相機(jī)應(yīng)用愈發(fā)強(qiáng)大的當(dāng)下,曾經(jīng)叱咤風(fēng)云的第三方拍照應(yīng)用紛紛開始了轉(zhuǎn)型题翻。作為起步較早的第三方拍照應(yīng)用揩徊,Camera360 也很早意識到了賽道的變化。品果科技 COO 顧銳表示嵌赠,實(shí)際上靴拱,在如今的市場格局下,用戶使用手機(jī)拍照已經(jīng)被清晰地分成了兩種場景:記錄場景和創(chuàng)作場景猾普。

手機(jī)廠商對攝像頭以及算法的優(yōu)化調(diào)教,是力求在記錄場景中本谜,給予用戶更好的體驗(yàn)初家,讓人們可以更加迅速、準(zhǔn)確、真實(shí)地記錄眼前的景象溜在,講究的是所見即所得陌知。

而曾經(jīng)的第三方拍照應(yīng)用,雖然承擔(dān)記錄眼前景象的任務(wù)越來越少掖肋,但各家的核心都逐漸放到了創(chuàng)作場景中來仆葡,即讓用戶將喜愛的照片更加生動,這種需求下追求的差異化志笼、風(fēng)格化是和記錄場景的初衷截然不同的沿盅。


Camera360 Reference_騰訊視頻

這兩種拍照場景體現(xiàn)在手機(jī)商,辨識前后攝像頭的定位差異纫溃。很多用戶打開手機(jī)前置攝像頭自拍的時(shí)候腰涧,希望把自己拍得美一點(diǎn)。但這個(gè)美也會有一個(gè)限度紊浩,可能會去做一些細(xì)微的修飾窖铡,但過猶不及。這個(gè)尺度其實(shí)并不好掌握坊谁,“點(diǎn)到為止” 的美化方案费彼,便是 Camera360 長期以來在行業(yè)里摸索出的規(guī)律。

在發(fā)展初期口芍,Camera360 是記錄箍铲、創(chuàng)作兩手抓,所以早期的一些濾鏡如 LOMO阶界、復(fù)古等虹钮,其實(shí)都是想讓用戶更好地記錄所見到的世界。那個(gè)時(shí)候在各種特效之外膘融,品果的技術(shù)團(tuán)隊(duì)還在相機(jī)啟動速度芙粱,占用系統(tǒng)資源方面花了很多精力去優(yōu)化,這也是其得以在第三方相機(jī)大戰(zhàn)中脫穎而出的一個(gè)關(guān)鍵氧映。

“但后來我們發(fā)現(xiàn)手機(jī)廠商在這方面做的越來越好春畔,畢竟是自家生產(chǎn)的設(shè)備,所以在軟硬件結(jié)合方面有著天然的優(yōu)勢岛都,這時(shí)第三方拍照應(yīng)用的記錄場景幾乎已經(jīng)被剝奪了律姨。”?顧銳表示臼疫。

所以在這樣的產(chǎn)業(yè)轉(zhuǎn)折中择份,第三方拍照應(yīng)用將未來發(fā)展重心放在了創(chuàng)作場景中,品果也在 Camera360 之后烫堤,推出了 MIX 這樣聚焦于影像后期創(chuàng)作的應(yīng)用荣赶。

而在變現(xiàn)方面凤价,Camera360 也在嘗試向內(nèi)容社區(qū)和新功能訂閱模式發(fā)展。

品果曾經(jīng)用 Google 的 AdWords 平臺購買廣告拔创,但作為一個(gè)工具型產(chǎn)品利诺,Camera360 在全球推廣的核心依然是產(chǎn)品本身的運(yùn)用前沿技術(shù)開發(fā)新功能,所建立起的口碑剩燥。比如慢逾,當(dāng)年 Camera360 推出了創(chuàng)新性的動態(tài)貼紙功能,便憑借這個(gè)新的特性成功登頂日本應(yīng)用市場灭红。在 Google 推出了 ARCore 后侣滩,品果也第一時(shí)間選擇了跟進(jìn),以期讓動態(tài)功能的表現(xiàn)力更加優(yōu)秀比伏。

△?品果的工作人員在 GDD 上

顧銳舉了這樣一個(gè)例子:Camera360 曾在全球范圍舉辦了一個(gè)封面女郎征集挑戰(zhàn)賽胜卤,用戶可以將自己的照片上傳到指定專區(qū),獲勝者將成為某一天 Camera360 的開機(jī)封面赁项。這個(gè)活動在泰國葛躏、越南等市場吸引了大量的當(dāng)?shù)嘏杂脩魠⒓樱髞砥饭?lián)合那些熱門地區(qū)的知名企業(yè)悠菜,提供當(dāng)?shù)匮莩獣闹蓖▍^(qū)選拔入口舰攒,也獲得了用戶歡迎。現(xiàn)在 Camera360 已成為東南亞國民級別的應(yīng)用悔醋。

△?Camera360 在泰國舉辦的落地活動收到了當(dāng)?shù)赜脩舻臒崃覛g迎

新內(nèi)容訂閱也是 Camera360 正在發(fā)力的方向摩窃。在海外市場,很多用戶是愿意為更新的功能芬骄、特效付費(fèi)的猾愿,顧銳提到 Camera360 在日本應(yīng)用商店登頂,還曾獲得熱門偶像團(tuán)體 AKB48 成員在綜藝節(jié)目中力薦账阻,這些其實(shí)都是靠內(nèi)容和功能取得的成績蒂秘。

Firebase、Google Cloud Platform 等開發(fā)者工具都已經(jīng)成為了品果日常工作中的好幫手淘太。 一邊學(xué)習(xí)新技術(shù)姻僧,一邊利用新工具,早早揚(yáng)帆出海的品果在多年的實(shí)踐中蒲牧,已經(jīng)有了豐富的研發(fā)/運(yùn)營經(jīng)驗(yàn)撇贺。

“和 Google 合作了這么多年,我們成了堅(jiān)定的新技術(shù)冰抢、新工具追隨者松嘶,也受益良多】嫒牛”?顧銳表示翠订。

△?品果科技旗下 "Camera360" 和 "Camera360 lite" 兩款產(chǎn)品獲 Google Play "Best of 2016" 的獎(jiǎng)牌

成立近 8 年的品果缓升,在日新月異的移動互聯(lián)網(wǎng)領(lǐng)域見證了太多的行業(yè)變遷,自身也經(jīng)歷了從 "產(chǎn)品輸出" 到 "技術(shù)輸出"蕴轨,從 "記錄場景" 到 "創(chuàng)作場景" 的定位升級。但無論行業(yè)如何變幻骇吭,保持對新技術(shù)的熱情追求橙弱,是這家公司永葆活力的秘訣。

合適的技術(shù)就像一片含蓄而又前衛(wèi)的濾鏡燥狰,能將看似平凡的事業(yè)刻畫得更加美好棘脐,也能折射出不一樣的光線,照亮前行的路龙致。

注: 本文配圖的肖像權(quán)歸拍攝對象本人所有蛀缝,品果科技征得員工同意后授權(quán)使用

點(diǎn)擊這里在?"成功案例"?菜單中您可查看更多谷歌開發(fā)者的故事

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市目代,隨后出現(xiàn)的幾起案子屈梁,更是在濱河造成了極大的恐慌,老刑警劉巖榛了,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件在讶,死亡現(xiàn)場離奇詭異,居然都是意外死亡霜大,警方通過查閱死者的電腦和手機(jī)构哺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來战坤,“玉大人曙强,你說我怎么就攤上這事⊥久#” “怎么了碟嘴?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長慈省。 經(jīng)常有香客問我臀防,道長,這世上最難降的妖魔是什么边败? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任袱衷,我火速辦了婚禮,結(jié)果婚禮上笑窜,老公的妹妹穿的比我還像新娘致燥。我一直安慰自己,他們只是感情好排截,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布嫌蚤。 她就那樣靜靜地躺著辐益,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脱吱。 梳的紋絲不亂的頭發(fā)上智政,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機(jī)與錄音箱蝠,去河邊找鬼续捂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宦搬,可吹牛的內(nèi)容都是我干的牙瓢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼间校,長吁一口氣:“原來是場噩夢啊……” “哼矾克!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起憔足,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胁附,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后四瘫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汉嗽,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年找蜜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饼暑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洗做,死狀恐怖弓叛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诚纸,我是刑警寧澤撰筷,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站畦徘,受9級特大地震影響毕籽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜井辆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一关筒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杯缺,春花似錦蒸播、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胀屿。三九已至,卻和暖如春包雀,著一層夾襖步出監(jiān)牢的瞬間宿崭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工才写, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劳曹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓琅摩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锭硼。 傳聞我的和親對象是個(gè)殘疾皇子房资,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,303評論 25 707
  • 當(dāng)有人對你說:你個(gè)沒心沒肺的東西 有時(shí)候我們應(yīng)該感到慶幸 沒心沒肺有時(shí)候是件好事 為什么大多懷念童年 因?yàn)槟莻€(gè)時(shí)候...
    徐曉滕閱讀 475評論 0 0
  • 陋巷深深, 我步步尋覓檀头, 驀然仰首轰异, 那塊黑漆牌匾閃亮了我的眸子。 推門暑始, 步入一室安然搭独。 盈盈的是她親切的笑臉。...
    花悠然閱讀 119評論 0 0
  • “我是從那兒出來的嗎配椭,那我想再重新進(jìn)去!” 這是韓國導(dǎo)演金基德的作品《圣殤》中崔江道對自己的“母親”說的話雹姊,足以表...
    隨性的瑪利亞閱讀 1,526評論 0 0
  • 幾日前在甘肅出差股缸,閑來無事就看了一部電視劇《艦在亞丁灣》,里面講述了亞丁灣護(hù)航官兵及家屬們的“家長里短”吱雏,里面有一...
    關(guān)中布衣閱讀 129評論 2 2