為什麼使用者不喜歡 Facebook 的 iOS app?

Facebook 創辦人與執行長 Mark Zuckerberg 最近喜事連連,除了上週五自己創辦的公司公開上市,他自己也在隔天與女友結婚。不過也許是因為要公開上市,最近市場冒出許多質疑 Facebook 的聲音,例如美國通用汽車(GM)認為在 Facebook 投放廣告不划算、分析師認為 Faecbook 執行長「不夠成熟」(例如在路演期間穿的是招牌連帽外套而非西裝)、Facebook 的市值被高估等等,其中跟使用者最為相關的,就是 Facebook 搞不定行動裝置。
評論
評論

來源:Google Play

一開始 Facebook 的 iOS app 不是長這樣

其實一開始 Facebook 的 iOS app 不是現在這樣,最初它是由 Firefox 瀏覽器的共同創造者 Joe Hewitt(他另一個有名的作品是 Firefox 的附加元件「Firebug」,目前有超過三百萬人(註 1)天天使用)所開發出來的,用了一部分他自己的開源碼專案「Three20 project」(註 2),堪稱當時 iOS app 的範本,許多有名的 app 也是參考他的設計(例如 LinkedIn)。但是在 Joe Hewitt 離開 Facebook 後,接手的團隊重寫了 Facebook app。

幾天前 mobtest 在他們的部落格上發表了一篇文章 〈Here’s why the Facebook iOS app is so bad (UIWebViews and no Nitro)〉(註 3),說明為什麼 Facebook 的 iOS app 會這麼糟糕。

他們列舉出幾個 Facebook iOS app 的問題:

  1. app 的速度太慢
  2. 不一致的訊息
    有時候代表「通知」的圖示告訴你有新的通知(例如妳的留言有人按讚),但其實沒有。
  3. app 甚至比行動版網頁還慢
    大家都在用速度越來越快的 iOS 原生 app 時,Facebook app 竟然比行動版網頁還慢,而後者提供了幾乎與前者一模一樣的功能。
  4. 一大堆 bug
    超慢的顯示、照片上傳會失敗、文字框會消失、缺乏分享功能⋯

問題:HTML、UIWebView、沒有 Nitro JavaScript 引擎

HTML
超文件標示語言(英文:HyperText Markup Language,HTML)是為「網頁創建和其它可在網頁瀏覽器中看到的信息」設計的一種標示語言。(參考來源: 維基百科

UIWebView
You use the UIWebView class to embed web content in your application.
您可用 UIWebView 這個類別(class)將 web 內容嵌入到您的 app。 (參考來源:Apple iOS Developer Library

Nitro JavaScript 引擎
JavaScript 引擎是一個專門處理 JavaScript 腳本的軟體程序,一般會附帶在網頁瀏覽器之中。而 Nitro JavaScript 引擎是 Apple  為旗下的瀏覽器 Safari 開發出來的 JavaScrip t 引擎。(參考來源: 維基百科

Facebook iOS app 是從 facebook.com 下載 REST(XML 格式而非 JSON)與 HTML。HTML 負責使用者的 timeline、個人資訊及社團的 timeline。我們可以發現有時候 Facebook app 在下載 HTML 和圖片/樣式(stylesheets)/JavaScript。為了在 app 裡顯示 HTML,開發者就用了 iOS 瀏覽器 Safari 裡的一個物件(component)「UIWebView」,它雖然方便,卻也很危險。HTML 檔案不小(15kb),包括了圖片、樣式和 JavaScript 的連結。由於 UIWebView 無法讓開發者對內容做有效的快取,每一次 Facebook 都會重新下載整個 Timeline 的 HTML 檔案,而 UIWebView 的效能又比不上行動版的 Safari,不但缺乏 Nitro JavaScript 引擎,也有安全上的疑慮。

mobtest 的作者特地用自己的 iPhone 4(搭載 iOS 5.1.1)執行 SunSpider JavaScript Benchmark,結果在行動版 Safari 的效能是 iOS 原生 app 裡 UIWebView 的三倍快,也難怪使用者會覺得慢。而且為了 UIWebView 跟原生 app 之間的溝通,必須靠 JavaScript bridge,這東西很棘手,不但慢而且還不安全。

對於相同資訊的呼叫無法同步

前面提到資訊不一致的問題,是因為 REST 呼叫完成後,會回傳 XML 資料,先確認「通知」的數量(https://api.facebook.com/restserver.php),然後再透過一個獨立的呼叫擷取通知的內容(https://api-read.facebook.com/restserver.php)。由於 Facebook 會回傳不一致的訊息,導致使用者遭遇通知數與實際內容不相符。

那為什麼 Facebook 不乾脆全面使用原生 app 的技術就好?

  1. 因為 HTML 比 Objective-C 更容易調整內容的呈現方式 ,後者在處理一些狀況時候很麻煩,例如文繞圖的樣式。
  2. 使用 HTML 跨平台容易許多。iOS、Android、BlackBerry、Windows Phone 使用技術都不同,造成開發者極大的困擾。要在不同的平台中分享內容及功能,靠 HTML 容易的多。
  3. HTML 更符合 Facebook 的連續佈署程序 。Apple 的審核時間太長,不符合 Facebook 佈署程式碼的流程(每次都要送審的話那還得了)。
  4. 世界上還有許多不是 iPhone/Android 的功能手機(feature phone)。 一些比較沒那麼富裕、先進的地區(例如非洲),很多人都是透過功能手機來使用 Facebook。
  5. 全世界只有一個 Facebook。當你我的朋友都在用 Facebook 的時候,就算它的 app 再糟糕,我們也只好繼續忍耐。

至於 Facebook app 到底有多困擾使用者,我們可以參考一下 Facebook 產品總監(Director of Product)、Firefox 瀏覽器的共同創造者 Blake Ross 在 Facebook 公開上市前夕發出的一個訊息(註 4),他說明天 Facebook 要公開上市,問使用者們今天晚上 Facebook 是不是該做點什麼、各位使用者們希望加入什麼功能(或是修好哪些問題),結果就有人回應:

“Fix the Android app. It is ridiculously slow.”

“A mobile app that works.”

“Fix the iPhone app.”

“Please fix the mobile app.”

(大家可以去 Blake Ross 的訊息網頁,在大家的留言中搜尋「app」XD)

 

 

註 1:Firebug :: 統計資訊顯示板 :: Firefox 的附加元件

註 2:Three20

註 3:Here’s why the Facebook iOS app is so bad (UIWebViews and no Nitro)

註 4:Blake Ross 的 Facebook 牆上照片


警戒升級,店面安全也升級!月租型 HomeSecurity AI 店家防護,小店業者無痛導入

監視器不稀奇,不過在盡量不外出的管制期,還要另外花錢購買監視器,對於備受衝擊的業者來說彷彿又多剝一層皮。幸好還有台灣大寬頻月租型「HomeSecurity AI 店家防護」,每月不用千元即可遠端守護店面安全。
評論
Photo Credit:iStock
評論

全國三級疫情警戒,市景進入半封城的模樣,人人自危。許多店家也只好選擇暫停營業,減少營運成本;尤其雙北限制餐廳內用後,不少店家也改做外帶/外送服務,關閉原本的室內用餐空間。門可羅雀不是最可怕的,最可怕的是當在家防疫、減少外出的同時,店面安全出現破口,遭有心人士闖空門。既然花錢請一個人專門顧店或是花時間親自坐鎮都不是好辦法,此時引進智慧監控系統,才是明智之舉。

月租型HomeSecurity AI 店家防護,安心無負擔

監視器不稀奇,不過在疫情嚴峻期間,花費破千、破萬的預算購買昂貴監視器,對於備受疫情衝擊的業者來說,彷彿又多剝了一層皮。此時此刻最需要的,應該是能夠減緩大筆支出,陪伴業者度過艱難時期的店家防護系統。

對此,台灣大寬頻的月租型「HomeSecurity AI 店家防護」是很好的解決方案,不只遠端守護店面安全,搭配指定光纖上網方案,每月也只要 999 元起的價格,十分超值划算。

異地監控店家,同步更新雲端、方便即時察看與回放

價格好入門可不是「HomeSecurity AI 店家防護」唯一的優點。一般來說,架設閉路電視系統監控、將監視器的影像即時上傳網路,同時還要 AI 智慧監控功能,總要耗費不少資金成本。不過為了讓眾多小店家業者享有同等級的監控服務,台灣大寬頻推出月租型「HomeSecurity AI 店家防護」能以相對實惠的方案,滿足小型店家的科技監控需求。

首先,店主可以根據店面需求,選擇「槍型」或「吸頂」等網路攝影機款式。接著,店主可以跨裝置檢視監控畫面,無論是桌機、筆電、智慧型手機、平板,都能觀看 1920x1080p 的高畫質即時監控影像;此外,分割畫面也能讓店主同時監看多角度或連鎖分店的情況。

拜先進的雲端技術之賜,「HomeSecurity AI 店家防護」的監控影像可以即時串流雲端,店主能不限時間、地點登入網頁或 App 服務,觀看各網路攝影機的即時影像與錄影回放,不必再辛苦傳輸資料畫面或手動上傳雲端,監控管理十分方便。

AI 影像告警,聰明防竊;另有最高 36 萬竊盜損失補償

更讓人安心的是,「HomeSecurity AI 店家防護」最重要的核心技術「AI 人像辨識」。簡言之,就是網路攝影機能將拍攝畫面快速回傳至技術平台並分析數據,進而精準判斷畫面中是否有「人」入侵。一旦AI影像告警確認店內有人為入侵,便會立即以電話、簡訊、App 推播等管道主動通報緊急聯絡人。

不只聰明防竊,也另有完善的配套讓店主安心。萬一真的不幸發生竊盜損失,台灣大寬頻和富邦產險合作,能提供竊盜損失補償,因此只要在案發 30 天內,以報案後憑警察機關刑事報案證明三聯單以及相關影像證據提出申請,店主最高可獲得每年 36 萬元的補償。

防疫期間,同島一命。台灣大寬頻推出「HomeSecurity AI 店家防護」以相對平易近人的方案,提供台灣小型企業店家安心智慧的守護,以嚴密堅實的智慧監控,陪伴業者迎來雨過天青的彼日。