在智能手机行业发展之初,大多数手机自带相机应用的表现都不能尽如人意。那时,一些算法强大的第三方拍照应用成了 “装机必备” 清单里的成员。Camera360 就是这样一个老牌 “装机必备” 的拍照类应用,已经近 8 岁 “高龄” 的它,曾经获选 Google Play "Best of 2016"。目前在 Google Play 上的总下载量超过 4 亿次。html
这个老牌影像应用是如何在手机自带相机愈来愈强的冲击下顺利存活的?在技术层面又有哪些追求?这一次,咱们带来的是 Camera360 的开发商品果科技的心得与故事。java
任何一家技术驱动型公司,都会对热门领域的新技术嗅觉敏感。品果也不例外。品果的技术总监 Lee 在大概六七年前知道了 Kotlin 这种新型语言,那时候关于 Kotlin 的技术社区逐渐开始起步。2017 年,Lee 和同事参加 Google I/O 大会时见证了 Kotlin 正式成为 Android 官方语言的时刻,回到成都后,便开始在公司内部推进学习 Kotlin。在组织公司里的工程师们学习 Kotlin 时,Lee 改进了以往的培训方式。算法
“在内部推广学习 Kotlin 以前,咱们公司的技术分享比较中规中矩,谈不上培训,不少人听了其余同事的分享之后有多少收获、可否落地,实际上是不明确的。” Lee 说。编程
当 Kotlin 成为品果科技工程师们 "标配" 技能后,Lee 开始尝试彻底用 Kotlin 开发新的功能 —— 他们只用了三个月时间便将一个复杂度至关高的新模块开发到了可上线程度,但因产品策略的调整,目前这个新功能还未正式对外。架构
“虽然还没上线,但有了实操经验,能够说咱们技术团队已经对Kotlin上手了。” Lee 说。函数式编程
“咱们统计了整个项目中的全部代码,其中每一个 Kotlin 文件的平均行数是 86 行,而相对每一个 java 文件则平均接近 200 行,这能侧面反应 Kotlin 更加简洁;具体来讲,咱们的一个工具类库,在使用Kotlin重构以后,代码从 2600 行减小到了 1400 行。”函数
此外,使用 Kotlin 显著减小 NullPointerException 这个 Java 语言的老大难问题,在一个 90% Java 代码的老项目中,每一个版本的前 50 条错误最高统计中,平均出现 1~2 次 NPE,而在一个 70% 使用了 Kotlin 代码的新项目中,很难在错误统计的前几页找到 NPE。工具
强大的语法糖也是深受工程师们喜好的一个特性。目前,Camera360 大概有 10% 左右的代码使用 Kotlin 重构完成,这些 Kotlin 代码主要用在了相机模块和一些基础模块上,品果但愿在一年以内把 Kotlin 的代码占比提高到 50%。学习
第三方拍照应用逐渐淡出了智能手机的 "装机必备" 清单,是个无能否认的事实。在手机厂商愈来愈重视软件配套、手机自带相机应用愈发强大的当下,曾经叱咤风云的第三方拍照应用纷纷开始了转型。做为起步较早的第三方拍照应用,Camera360 也很早意识到了赛道的变化。品果科技 COO 顾锐表示,实际上,在现在的市场格局下,用户使用手机拍照已经被清晰地分红了两种场景:记录场景和创做场景。优化
手机厂商对摄像头以及算法的优化调教,是力求在记录场景中,给予用户更好的体验,让人们能够更加迅速、准确、真实地记录眼前的景象,讲究的是所见即所得。
而曾经的第三方拍照应用,虽然承担记录眼前景象的任务愈来愈少,但各家的核心都逐渐放到了创做场景中来,即让用户将喜好的照片更加生动,这种需求下追求的差别化、风格化是和记录场景的初衷大相径庭的。
点击这里可查看拍照场景视频
这两种拍照场景体如今手机商,辨识先后摄像头的定位差别。不少用户打开手机前置摄像头自拍的时候,但愿把本身拍得美一点。但这个美也会有一个限度,可能会去作一些细微的修饰,但过犹不及。这个尺度其实并很差掌握,“点到为止” 的美化方案,即是 Camera360 长期以来在行业里摸索出的规律。
在发展初期,Camera360 是记录、创做两手抓,因此早期的一些滤镜如 LOMO、复古等,其实都是想让用户更好地记录所见到的世界。那个时候在各类特效以外,品果的技术团队还在相机启动速度,占用系统资源方面花了不少精力去优化,这也是其得以在第三方相机大战中脱颖而出的一个关键。
“但后来咱们发现手机厂商在这方面作的愈来愈好,毕竟是自家生产的设备,因此在软硬件结合方面有着自然的优点,这时第三方拍照应用的记录场景几乎已经被剥夺了。” 顾锐表示。
因此在这样的产业转折中,第三方拍照应用将将来发展重心放在了创做场景中,品果也在 Camera360 以后,推出了 MIX 这样聚焦于影像后期创做的应用。
而在变现方面,Camera360 也在尝试向内容社区和新功能订阅模式发展。
品果曾经用 Google 的 AdWords 平台购买广告,但做为一个工具型产品,Camera360 在全球推广的核心依然是产品自己的运用前沿技术开发新功能,所创建起的口碑。好比,当年 Camera360 推出了创新性的动态贴纸功能,便凭借这个新的特性成功登顶日本应用市场。在 Google 推出了 ARCore 后,品果也第一时间选择了跟进,以期让动态功能的表现力更加优秀。
Firebase、Google Cloud Platform 等开发者工具都已经成为了品果平常工做中的好帮手。 一边学习新技术,一边利用新工具,早早扬帆出海的品果在多年的实践中,已经有了丰富的研发/运营经验。
“和 Google 合做了这么多年,咱们成了坚决的新技术、新工具追随者,也受益良多。” 顾锐表示。
成立近 8 年的品果,在突飞猛进的移动互联网领域见证了太多的行业变迁,自身也经历了从 "产品输出" 到 "技术输出",从 "记录场景" 到 "创做场景" 的定位升级。但不管行业如何变幻,保持对新技术的热情追求,是这家公司永葆活力的秘诀。
合适的技术就像一片含蓄而又前卫的滤镜,能将看似平凡的事业刻画得更加美好,也能折射出不同的光线,照亮前行的路。
注: 本文配图的肖像权归拍摄对象本人全部,品果科技征得员工赞成后受权使用
点击这里在 "成功案例" 菜单中您可查看更多谷歌开发者的故事