2014年6月17日 星期二

WWDC 2014 的主題:Crossing


WWDC 2014 剛結束,由於它的光芒實在太大,所以我就先寫這個吧。

從去年開始,Apple 取消了在上半年的發表會 (像是 3 月的 iPad 發表會),把焦點全部放在下半年,故 6 月的 WWDC keynote 成為 Apple 每年的第一場發表會,其受矚目的程度當然是不言而喻。今年的 WWDC 比起去年 WWDC 2013 更加 "純粹",因為完全沒有新硬體參與其中,整體上就跟最初的 WWDC 宗旨相同 -- 它是一場 (一系列) 為了軟體開發者而設的殿堂,除了軟體還是軟體,事實上我比較喜歡這種安排。

這次 WWDC 發表了 OSX Yosemite 及 iOS 8,其實在我觀看轉播時並不像去年那麼興奮,前半段我以 "沉悶" 二字作評,但在後半部份的內容則是高潮迭起、毫無冷場!厲害的是這些讓人拍案叫絕的新玩意並非單一的酷炫功能,而是整個 Apple 產品生態圈的補強,其影響是貫穿古今的 (好像說得有點誇張)。

就我的看法,一些零碎的新功能不過是充場面的玩意,Apple 真正想表達的主題就一個字 -- "Crossing",它體現在四個方面:

iCloud Drive


簡單地說,就是 Apple 版的 Dropbox。其實這項功能是有利有弊的, 我實在不懂發表時為什麼這麼多人鼓掌,因為它一來沒有新意,二來它違背了 iOS 追求 "簡潔" 的目標。各位不妨想想 iOS App 的操作效率為什麼那麼高?原因就是步驟少,除了 Good Reader 這類大雜燴的檔案總管 App 之外,iOS App 只會秀出自己保存的檔案,所以檔案很容易找,雖然難免造成檔案在各 App 間的互通問題,但效率是奇高的,而 iCloud Drive 無疑地拿磚頭砸了自己的腳。

可是,為了踏出新的一步,加上 Jobs 已經不在了,有些事情還是必須妥協。比如說,iOS 最令人詬病的一點就是上一段所提到的 -- 檔案互通及取用不便,如果不改善這一點,iOS 始終只是移動系統,不能成為正式工作用的系統,做個簡單的比喻就是 "無法獨當一面",因為用戶不管用它做了多少事,回到家或辦公室後還是得乖乖地用 OSX 或 Windows 繼續處理剩下的事情。

iCloud Drive 看似簡單,但一口氣解決了很多問題。比如說我要在 iOS device 發一封郵件,乍看之下沒什麼問題,可是當你要插入附檔的時候,你就會發現你只能插入圖片,其他的檔案想都別想。iOS 以往的作法是 -- 用某 App 開啟該檔,然後按下 "分享" 鈕把東西寄出去,可是這樣無法插入在信件的討論串中,對於商務人士來說簡直無用,我以前就提過。現在 iCloud Drive 提供一個統一的儲存槽,一口氣就解決了這個 "系統級" 的大問題,不僅僅是寄信時很方便,製作任何文檔時也是很方便的,而且同一個檔案可以由多個 App 取用,這也弭平了很多用戶長久以來的怨念。

不過,縱使是這麼單純的功能,還是有幾點值得我們觀察:
  1. 檔案的分類:存在不同 App 中的檔案有依資料夾分開,只有從 OSX 存入的檔案才能散亂地堆放,這樣減少了整體的複雜度,找檔案時會稍微好找一些。
  2. 沒有單獨的 iCloud Drive App:表示沒有 Good Reader by Apple,系統還是如往常般為 App 取向,只是檔案不像以前被單一 App 綁死,今後取用檔案會更加靈活,也更省空間,不用複製同一個檔案到好幾個 App 裡,檔案同步的問題也解決了。
  3. 沒有新增支援的成本:大家應該知道至今很多 App 沒有支援 iCloud,也就是說用它們生產的檔案不會同步到 iCloud 上,原因就是 iCloud 不是自動支援,而是開發者選擇要不要支援,如果支援的程式碼不好寫,開發者當然不想買單,像 OSX 的 "自動關閉" 就是血淋淋的例子。不過這個不是問題,因為 Apple 只是自己新建一個檔案的存取接口,開發端並不用改變以往支援 iCloud 的方法。
  4. 是否有部份儲存的功能?在 iCloud 的支援正式進駐 OSX 後,只要是支援 iCloud 同步的軟體,儲存視窗中就會新增 "iCloud" 的選項,不過你依然可以選擇儲存在本機磁碟中。但是,在 iOS 上沒得挑,只要開啟 iCloud 同步就會將該 App 內的所有檔案都同步到雲端,有鑑於 iCloud 的總空間實在很小,需求量又越來越大,而且有些文件的確沒有上傳雲端分享的必要,如果可以部份存檔會更好,不然我就只能另尋高明了 .... 好像有個不算新的功能叫作 "Document Provider" 是吧?Box.net 容量不錯大。


Continuity


當 Apple 發表這個功能的時候,不知道各位的感想是如何?我個人是沒有感到很意外,因為這是遲早會推出的東西,現今 Apple 產品的無縫接軌已經近乎極致,也只剩下 "即時同步作業" 能做了,故這有什麼好驚訝的呢?可是,儘管如此,在看過發表會的示範之後,我還是有幾句話要說。

AirDrop
別鬧了,以往 iOS 及 OSX 的同名 AirDrop 不能互通才是腦殘的舉動,現在只是補了這個洞而已,就我看來連鼓掌都不必鼓掌。喔對了,Instashare 被這樣一搞可能真的要走到盡頭了,現在只剩 "支援 iOS 舊版系統及非 Apple 作業系統" 的優勢而已,不管如何,還是感謝它這幾年的貢獻。

Handoff
這個算是 Continuity 裡最好用的功能,但事實上並沒有那麼地神奇。大家應該都知道 iOS 及 OSX 都有自動存檔的功能,而且 iCloud 是隨時備份及同步的,故相關技術早已到位,只要把現階段於 Apple 產品上使用的 App 名稱及狀態無線地傳給其他裝置即可,並不算全新的功能。


另外,近年來 Apple 逐漸將 "浮動視窗" 的軟體設計從 OSX 內淡出 (最具體的例子就是 iWork 的檢閱器,如上圖),鼓勵以 "半透明選單" 的方式呈現,隱約地建議開發者儘量以 "單一視窗" 作為軟體介面的設計準則,此舉對於 iOS 及 OSX 的 UI 統一有很大的幫助,同時也減輕了 Handoff 所需要傳遞的訊息量,算是一舉數得。

最後,我認為 Handoff 的諸多特性還是很值得討論:
  1. 點對點的連接:若以 "Handoff" 的字面意義來看,這樣設計似乎很合理,目前的 Bluetooth 可綁 iCloud 帳號,點對點連接又表示裝置們都在附近,切換使用時無縫接軌,可是 ...
  2. iCloud 的同步:這個就比較嚴重了,各位不彷想想以往 iOS device 及 Mac 間是怎麼同步檔案的?就是用 iCloud!Handoff 必須保持檔案及使用狀態的同步,故以 iCloud 輔助它也很合理,可是並非所有 App 都支援 iCloud,而在 OSX 上支援 iCloud 同步的 App 更少,因為它們必須要先支援 AutoSave。AutoSave、Version 等酷炫功能在 OSX 上不受第三方青睞的原因我已在這篇舊文中提過,老外們也有同樣的疑問,而大家目前也只看過 Apple 自家軟體的 Handoff 展示影片 .... 所以最壞的情況是,這功能以後僅限 iOS 使用,第三方 Mac App 還是不甩它 (是說開發者們也比較不在意 Mac App 就是 ....)。
  3. 直接支援所有 Universal App?-- Handoff 的價值只能在不同裝置的同名 App 間才能顯示出來,但同名就夠了嗎?我認為 "Universal" App 才是關鍵,因為這代表開發者認定它們是同一個軟體。可是有些 App 是 iPhone 及 iPad 分開上架怎麼辦 (先不提 Mac App)?像舊版的 GoodReader 就是如此 (新版已經是 Universal App),這樣還能 handoff 嗎?而且開發者需不需要花時間寫額外的程式碼去支援這個功能?這些都值得觀察。
以我個人的看法,Handoff 應該是在 iCloud 同步檔案的情況下,近距離與其他裝置聯繫的一個方法 (不然遠距離的 handoff 還蠻詭異的,而且被他人盜用怎麼辦?),至於限制應該還不少,希望別又搞成 Apple 自家軟體才支援的玩意。

電話及訊息
這部份可說是趣味性應用了,對於某些人可能很有用吧?不過它們也是最容易讓人誤解或神化的功能。我想,一定有人看完發表會影片之後,就懷著以後買台 Mac 或 iPad 就能當電話的夢想 ..... 省省力氣吧,若你沒有 iPhone 的話,這個功能對你完全是無用的,Apple 再神也沒有辦法將電信網路與 WiFi / 家用寬頻網路互相轉換,況且就算有辦法也不能做。

那麼這個功能是怎麼做到的呢?其實跟上述幾點 Continuity 的功能差不多,都是藉由 Bluetooth 及 WiFi 將各個裝置串連起來,然後送出命令以進行不同的應用。在電話及訊息的例子裡,iPad 及 Mac 更像個投影屏幕,不管是送出或接受指令,實際執行的裝置都是身邊的 iPhone。

(20140618 Update:昨晚釋出的 DP2 終於有了初步的 Handoff 支援,依眾實驗結果修改一點錯誤)


Extensibility


這個部分可說是 iOS 8 的重頭戲,毫不客氣地說,就算 WWDC 發表的其他功能都是垃圾,只要有 Extensibility 新增的 API,這場發表會就有價值了。

Extensibility 大致可分為三種類型:
  1. 分享 (Share):在 App 內即可將資訊或檔案傳輸給其他 App,不用跳出原本在使用 App,就像以往 Apple 官方支援的 Twitter 及 Facebook integration。
  2. 動作 (Action):從其他 App 裡取用其功能,像是發表會中示範的 Bing Translate 及照片濾鏡,這個部分可是 iOS 的一大躍進。
  3. 連動:通知中心裡的 Widget 及每個用戶 "望穿秋水" 的第三方鍵盤 (輸入法) 都屬於此類,它們讓不同的 App 可以同時運行,如同開放外掛軟體去補強系統功能 (事實上輸入法就等於所有軟體的外掛啊),這可是以往想都不敢想的。
儘管 Apple 在發表會中沒有花太多時間在 Extensibility 的橋段,但現場的開發者已熱血沸騰,回頭看看以前的舊文 "隱藏在 iOS 4 多工處理背後的真相",不得不感慨 iOS 真是發展神速啊,從 iOS 8 開始,除了硬是要改系統 UI 跟要裝盜版軟體的人之外,誰還需要浪費時間去搞 JB 呢?

由於 Extensibility 牽扯很多技術問題,有興趣的人可以參考 Ars Technica 的專文 "Explaining iOS 8’s extensions: Opening the platform while keeping it secure" (香港網友 @losiu中譯版),看看 Apple 如何兼顧功能性及安全性,就像當年被大家諷刺到爆卻遲遲在 iOS 4 才推出的多工處理,等待不是沒有價值的。


HomeKit & HealthKit


我相信這兩類開發工具跟很多人沒有關係 (笑),事實上它們真的不是很重要,因為相關硬體產品及其搭配的 App 早已充斥在市場上多年,不過它們證明了 Apple 想統一使用體驗的企圖心,比如說 HealthKit 讓第三方健康相關的產品能將使用者的身體狀況統一輸入到 iOS 8 的 Health App 裡,使各家 App 提供的數據一目了然;HomeKit 雖沒有統一的 App 可用,但提供更安全的裝置配對,以及 Apple 至今都沒有開放過的 Siri 語音控制!這可是很夠意思了 (開放 Siri 造成的數據流量很大,Apple 不限制可不行),也是用戶最需要的東西。

附帶一提,Apple 的競爭者是怎麼做的呢?請看這個網頁。大家應該有發現 HealthKit 跟 HomeKit 其實都是空殼子,服務還是第三方開發商提供,原因就是 Apple 知道他們沒辦法在每個行業都做得盡善盡美,況且也沒必要擋別人的財路,所以這樣的安排或許也是維持生態圈健康的要素之一。

========

最後,我來整理一下:
  1. iCloud Drive:File crossing among iOS and OSX
  2. Continuity:User experience crossing among iOS and OSX
  3. Extensibility:App function crossing among iOS Apps
  4. HealthKit & HomeKit:Third party health device and appliance crossing by iOS
很有意思吧?很久以前,由於 iOS 過多的限制,我只承認 OSX 是最先進的作業系統,在 iOS 8 推出之後,我相信 OSX 及 iOS 8 都夠格賦予這項美名了。

誰還敢說 iOS 封閉?說的人只是 Apple hater,不必理會

沒有留言:

張貼留言