1.5 星到 4 星的背后:Facebook iOS 应用涅槃

特稿

2012-09-17 16:17

在四天内,半数 iOS 用户升级到最新的 Facebook 应用。从 8 月 24 日 5.0 新版上线至今短短 3 周的时间内,Facebook iOS 应用在 App Store 的平均应用评分已经从 1.5 星飞涨至 4 星。

页面与旧版完全无异,应用经历了怎样的涅槃让挑剔的用户态度发生如此大的转变?

其实,Facebook 早期长期专注于 HTML5 的应用,试图建立一个用户手机应用程式的基础架构,iOS 应用也不例外,不过因此造成的加载速度慢等问题极大地影响了用户体验。

TechCrunch 的报道,Facebook 移动应用产品经理 Mick Johnson 在谈及旧版应用的失误问题时说:“在一个 App 中嵌入 HTML5 内容并非人们想要的。”

Facebook 早先之所以选择 HTML5 开发应用主要是看中其跨平台、易维护的特性。利用 HTML5,只要一次开发就可以向多个平台发布产品,从而覆盖到尽可能多的平台和用户。

“HTML5 驱动的 Facebook 移动版对分裂的移动平台至关重要,我们总不能为市面上 7000 种不同的设备开发本地应用吧。”Facebook 平台总监 Doug Purdy 坦承。

另一方面,跨平台使用一套代码,也方便快速迭代升级,只要愿意,Facebook 就能够利用 HTML5 技术随时在服务器端对应用进行更新,从而方便地测试新功能。

不过也正因为过于依赖网络技术,iOS 应用缓慢的加载速度变得令人难以忍受。这种阻碍意味着用户会浏览更少的内容、接受到更少的推送。用户的减少和注意力的丧失对于广告日益成为主要营收来源的 Facebook 无疑是一个灾难。

于是团队按下了 Reset 按钮,舍弃 HTML5,完全利用 iOS SDK 进行开发。新应用采用了与 Facebook Camera 和 Facebook Messenger 相同的代码库。据悉,这两款应用的面世一部分原因正是为了测试用户对本地应用的态度。新应用最显著的变化是速度的提升,包括应用启动、刷新实时新闻、打开图片三方面。官方称新版应用的运行速度是旧版的两倍。

Facebook 官方博客介绍,提升速度具体的实现方式是对多任务的系统资源进行调度。比如以主线程控制用户界面、处理触控事件,在后台处理网络活动、存盘、JSON 分析等对计算资源要求较高的任务。

旧版应用在启动时长时间地加载遭到不少用户的诟病。因此,新版应用为了提升用户体验,在应用启动时显示此前缓存的内容。不过当用户的动态新闻过多,会导致应用需要从磁盘中加载,启动速度会变得更慢。开发团队解释,他们的解决方案是在初始异步布局计算时,存储在 Core Data 的高度,避免在委托函数中计算布局信息。然后他们将 “内容” 模型对象进行分解,只从磁盘获取内容的高度,然后再读取其余的内容数据。

当然,速度的提升同样带来一些局限——开发团队无法保持从前的更新速度。不过,在应用中可能经常更新的部分,应用仍然会使用 HTML5 的代码。

早先时候,Facebook CEO 马克·扎克伯格在 TechCrunch Disrupt 大会上直言公司对移动战略理解有误,错误地将赌注押在 HTML5 技术上。扎克伯格同时表示,应用速度的提升促使用户浏览量水涨船高,公司得以拥有更多机会向用户展示广告。

“相比较桌面平台(广告潜能),移动平台更接近于电视。” 扎克伯格通过比较几个平台赢利能力表达了自己对移动平台的信心。而 iOS 应用作为 Facebook 移动战略的关键,将日益逐渐发挥巨大的作用。

后评论

评论在审核通过后将对所有人可见

正在加载中

热爱 News Feed 与 Menu,正在努力让每天处理的信息量超过脂肪摄入量。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容