当前位置:主页 > 社区生活 >

为什幺使用者不喜欢Facebook的iOSapp?


2020-06-15



为什幺使用者不喜欢Facebook的iOSapp?
Facebook 创办人与执行长 Mark Zuckerberg 最近喜事连连,除了上週五自己创办的公司公开上市,他自己也在隔天与女友结婚。不过也许是因为要公开上市,最近市场冒出许多质疑 Facebook 的声音,例如美国通用汽车认为在 Facebook 投放广告不划算、分析师认为 Faecbook 执行长「不够成熟」、Facebook 的市值被高估等等,其中跟使用者最为相关的,就是 Facebook 搞不定行动装置。
目前 Facebook 有半数的使用者透过行动装置使用这个全世界最大的社交平台,可是他们的 app 在行动装置上的两大平台 iOS 与 Android 最近饱受批评,而这些批评不外乎是速度太慢、bug 太多⋯ 举例来说,也许有读者看过 Facebook 的 iOS app 出现类似以下的画面:
为什幺使用者不喜欢Facebook的iOSapp?
Facebook App 评价下滑
最新一版的 Facebook iOS app 在 App Store 上评价只有两颗星,而给予评价的 23303 名使用者当中有 12809 人打了一颗星。通常一个 app 有超过半数使用者在五星评等中只给出一颗星的评价,说明这个 app 必定很有问题。
为什幺使用者不喜欢Facebook的iOSapp?
来源:App Store
为什幺使用者不喜欢Facebook的iOSapp?
来源:App Store
请注意截图中,每则给予一颗星的评论都获得九成以上的认同。
无独有偶,最近 Android 的使用者对 Facebook app 也很有意见:
为什幺使用者不喜欢Facebook的iOSapp?
来源:Google Play
一开始 Facebook 的 iOS app 不是长这样
其实一开始 Facebook 的 iOS app 不是现在这样,最初它是由 Firefox 浏览器的共同创造者 Joe Hewitt天天使用)所开发出来的,用了一部分他自己的开源码专案「Three20 project」,堪称当时 iOS app 的範本,许多有名的 app 也是参考他的设计。但是在 Joe Hewitt 离开 Facebook 后,接手的团队重写了 Facebook app。
几天前 mobtest 在他们的部落格上发表了一篇文章〈Here\'s why the Facebook iOS app is so bad 〉,说明为什幺 Facebook 的 iOS app 会这幺糟糕。
他们列举出几个 Facebook iOS app 的问题:
app 的速度太慢
不一致的讯息有时候代表「通知」的图示告诉你有新的通知,但其实没有。
app 甚至比行动版网页还慢大家都在用速度越来越快的 iOS 原生 app 时,Facebook app 竟然比行动版网页还慢,而后者提供了几乎与前者一模一样的功能。
一大堆 bug超慢的显示、照片上传会失败、文字框会消失、缺乏分享功能⋯
问题:HTML、UIWebView、没有 Nitro JavaScript 引擎
HTML超文件标示语言是为「网页创建和其它可在网页浏览器中看到的信息」设计的一种标示语言。
UIWebViewYou use the UIWebView class to embed web content in your application.您可用 UIWebView 这个类别将 web 内容嵌入到您的 app。
Nitro JavaScript 引擎JavaScrip t 引擎是一个专门处理 JavaScript 脚本的软体程序,一般会附带在网页浏览器之中。而 Nitro JavaScript 引擎是 Apple为旗下的浏览器 Safari 开发出来的 JavaScrip t引擎。
Facebook iOS app 是从 facebook.com 下载 REST与 HTML。HTML 负责使用者的 timeline、个人资讯及社团的 timeline。我们可以发现有时候 Facebook app 在下载 HTML 和图片/样式/JavaScript。为了在 app 里显示 HTML,开发者就用了 iOS 浏览器 Safari 里的一个物件「UIWebView」,它虽然方便,却也很危险。HTML 档案不小,包括了图片、样式和 JavaScript 的连结。由于 UIWebView 无法让开发者对内容做有效的快取,每一次 Facebook 都会重新下载整个 Timeline 的 HTML 档案,而 UIWebView 的效能又比不上行动版的 Safari,不但缺乏 Nitro JavaScript 引擎,也有安全上的疑虑。
mobtest 的作者特地用自己的 iPhone 4执行 SunSpider JavaScript Benchmark,结果在行动版 Safari 的效能是 iOS 原生 app 里 UIWebView 的三倍快,也难怪使用者会觉得慢。而且为了 UIWebView 跟原生 app 之间的沟通,必须靠 JavaScript bridge,这东西很棘手,不但慢而且还不安全。
对于相同资讯的呼叫无法同步
前面提到资讯不一致的问题,是因为 REST 呼叫完成后,会回传 XML 资料,先确认「通知」的数量,然后再透过一个独立的呼叫撷取通知的内容。由于 Facebook 会回传不一致的讯息,导致使用者遭遇通知数与实际内容不相符。
那为什幺 Facebook 不乾脆全面使用原生 app 的技术就好?
因为 HTML 比 Objective-C 更容易调整内容的呈现方式,后者在处理一些状况时候很麻烦,例如文绕图的样式。
使用 HTML 跨平台容易许多。iOS、Android、BlackBerry、Windows Phone 使用技术都不同,造成开发者极大的困扰。要在不同的平台中分享内容及功能,靠 HTML 容易的多。
HTML 更符合 Facebook 的连续布署程序。Apple 的审核时间太长,不符合 Facebook 布署程式码的流程。
世界上还有许多不是 iPhone/Android 的功能手机。一些比较没那幺富裕、先进的地区,很多人都是透过功能手机来使用 Facebook。
全世界只有一个 Facebook。当你我的朋友都在用 Facebook 的时候,就算它的 app 再糟糕,我们也只好继续忍耐。
至于 Facebook app 到底有多困扰使用者,我们可以参考一下 Facebook 产品总监、Firefox 浏览器的共同创造者 Blake Ross 在 Facebook 公开上市前夕发出的一个讯息,他说明天 Facebook 要公开上市,问使用者们今天晚上 Facebook 是不是该做点什幺、各位使用者们希望加入什幺功能,结果就有人回应:
「Fix the Android app. It is ridiculously slow.」
「A mobile app that works.」
「Fix the iPhone app.」
「Please fix the mobile app.」
引用来源:inside


上一篇:
下一篇: