2011年6月5日 星期日

對於 iOS 5 的一些期望


WWDC 即將到來,Apple 破天荒地提前公佈這次的重點 -- Mac OSX Lion、iOS 5、iCloud [1]。就這些日子裡看到的新聞來說,人氣最旺的應屬 iCloud,畢竟從北卡資料中心的建造開始,醞釀了一段非常長的時間,許多人都對 Apple 的新雲端服務非常好奇。

除了 iCloud 之外,Lion 藉著 Developer Preview 版本釋出的加持,傳言不斷,而且這次是大改版,故也吸引了不少目光 [2]。相較之下,iOS 5 似乎沒搶到什麼版面 .... 故趁還沒發表之前,我來寫一下我對於新一代 iOS 的期待 (或說是妄想 ....) :

1. Wireless Syncing and Backup (無線同步與備份)


與 iTunes 的同步及備份是 iOS device 比他牌行動裝置來得優秀的原因之一,但也是許多 PC user 抱怨的主因,更是那些只會嘴砲的台灣分析師攻擊的最佳目標。為什麼說優秀呢 ? 因為其他移動裝置 (不管系統是 Android 或 WP 7、不管產品是手機或平板) 都欠缺備份的功能 [3],沒有方便的軟體將整個系統的應用程式、設定檔及各式各樣的資訊一網打盡,備份在電腦中。很多人不屑 iTunes 的管理方式,也從不將移動裝置跟電腦連結,平時是沒問題,等到哪天系統掛掉或裝置遺失就知道痛了。

可是坦白說,一向推崇無線環境的 Apple,居然 iOS device 的啟動 (第一次開機時,對岸用語就是 -- "激活") 及同步都要用線連結電腦 ..... 實在很不 Apple ..... 因此這一點是 Apple user 普遍認為遲早要改進的一點。無線同步比起有線同步多了一些技術上的困難,比如說直接用 bluetooth 配對連線很方便,但傳輸速度太慢,距離也不能隔太遠;若使用 WIFI 或 3G 網路連線,則有區網、外網的連線設定問題,雖然不難,但只要無法做到一鍵搞定的簡單程度,Apple 就應該不會端出這道菜,畢竟 Apple 一向預設使用者是電腦白癡,而不是科技宅宅。

就我的看法,在 iOS 5 中,與 iTunes 的無線連結應該是勢在必行,但我上述提出的三個問題點 -- 速度距離設定難易度,也勢必要解決。依我的構想,iTunes 無線連結的模式可能分為兩種 :
  1. 區網無線同步 : 也就是同一個 IP 分享器 (router) 下的無線連結,此時每個 iOS device 及電腦的區網 IP 都是 192.168.X.Y .... 每個 IP 代表著不同的裝置,只要做一下 IP 掃描及比對 iTunes 內的 Apple ID 就能找到可供同步的電腦。至於尚未跟這些電腦進行同步的 iOS device,則可以在區網內電腦的選單中選取其一,並直接授權給該台電腦的 iTunes。
  2. 外網無線同步 : 由於區網內的電腦是透過 IP 分享器 (router) 跟外界的網路連結,在外界的網際網路下都是同一個 IP (例如 61.224.X.Y),故若從外界連至該 IP,iOS device 根本不知道該去跟區網中的哪一台電腦同步,故此時可以利用雲端服務 iCloud 或是該 IP 分享器的儲存空間 [4] 當作是備份檔的中繼站,等到回家後再用同步用的電腦下載中繼站的備份檔案回來。 
雖然上述只是我的猜測,不過我認為 Apple 的確有可能從這兩個角度去進行無線連結功能的改進。至於設定難易度方面,只要切換 "Local" 及 "Global" 的選項,再各別做些簡單設定即可。

2. Multitasking Enhancement (多工處理的強化)


我在之前的文章中曾經提過 iOS 4 多工處理的優缺點,在 iOS 5 中,Apple 一定會對於多工處理的功能進行一些改良,因為 Apple 的風格一向是 "一開始限制很多,之後再慢慢開放"。所謂的 "限制" 可能來自於外界的壓力 [5],或是系統穩定性及續航力的考量。為什麼特別提到 "續航力" 呢 ? 因為 iOS 是一個處處對電池續航力斤斤計較的作業系統,許多限制不是技術上做不到,而是因為太耗電了,所以 Apple 才不讓 iOS 支援那些東西,必須要等到克服耗電問題之後才開放支援,多工處理就是最好的例子 [6]。那麼,這次的新版 iOS 會開放什麼樣的多工處理功能呢 ? 下面兩點是我認為應該改進的兩種功能 :
  1. 背景凍結的關閉 (如上圖 A) : 在 iOS 4 的半多工處理下,所有運行過的 App 在按 Home button 退出後,都不會直接關閉,而是在背景執行或凍結,大多數的 App 都屬於後者。雖然凍結在背景完全不耗 CPU 資源,耗的電量也很少,但是時間一久就會將記憶體佔滿,某些大型 App (如 Infinite Blade) 就會面臨 "一執行就跳出" 的窘境,而 iOS 雖然有自行管理記憶體的機制,但顯然不夠好,畢竟它不可能知道該如何選擇背景中的 App 去關閉 (就我的經驗,它根本不會做這種事,只是等著記憶體爆掉 [7] ... 不知道 "當記憶體用完時,iOS 會自己關閉被凍結的 App" 的傳聞是從哪裡來的)(20120131 Update:"一般情況" 下,iOS 的確會自動釋放記憶體,感謝網友的糾正)
    故我提出一個構想,就是讓每個 App 中都可以新增一個設定選項,由使用者自己決定它要不要被凍結在背景,以某些 App 的功能來看,能不能 Resume 根本不重要,直接關閉就好了,除非該使用者有 "頻繁地切換使用" 的需求。
  2. 背景下載或上傳 (如上圖 B) : 這一點就是 iOS 4 多工處理中 "Task completion" 的強化,其功能是讓上傳下載的過程能在背景執行。聽起來很棒,但目前限制很多,比如說一般人最常遇到的網頁瀏覽下載就無法辦到,也就是不能 "一次開好幾個網頁,之後跳去別的 App 使用,讓它在背景慢慢跑,等一段時間後再回來看下載好的網頁"。類似這樣的需求幾乎每個使用者都有,希望新版 iOS 能夠增加這類功能,畢竟在背景下載完資料後就斷線,對於續航力不會有太大的影響,跟目前支援的 Flickr 照片上傳之構想類似。
當然,只是猜測 .... 我希望 Apple 能做得更多更好。

3. Widget


這個一直是 Android 的賣點之一,因為 Google 認為人們最關心的就是要能快速地接收各式各樣的資訊 (詳情請看 Honeycomb 發表會的影片)。雖然這是典型科技宅宅的想法,但是的確有人需要,那為什麼 Apple 一直不支援呢 ? Dashboard 都已經在 Mac OSX 上發展五年多了 !! 原因就是 : 1. 耗電,持續在背景執行很浪費電;2. 移動裝置系統跟桌面系統的使用者體驗不同 (主要是螢幕大小差很多),若把 Dashboard 直接搬上 iOS,會顯得 widget 太小不好用,而且凌亂的排列方式會讓使用效率下降。

所以該怎麼做呢 ? 不知道有沒有人記得前陣子發表的 iAd Producer ? 這個方便的工具可以讓開發者以物件導向的方式輕鬆地製作出 iAd 廣告,由於運用的是 HTML5 技術,再配合現今的網頁瀏覽引擎,所以速度相當快,其特性正好拿來製作移動裝置用的 widget。如上圖左,widget 可以跟 iAd 一樣整齊地排列,如要查看細節則點選該 widget 的按鈕,隨後 widget 的視窗將迅速地浮現 (如上圖右),要跳出該 widget 則按左上角的 "X" 即可。至於 widget 頁面的位置應該會像 Lion 的 Mission Control 一般,有單獨的一頁,沒翻到這頁時應該所有的 widget 都處於關閉狀態,反正啟動很快,不差這一點時間 (那 widget 怎麼支援多工處理 ? 我個人認為這一代有可能還不會支援)。

4. File Sending between Apps


這一點很少人提起,但我覺得非常重要。我在另一篇文章中曾提及 iOS 有著非常特殊的 "App-based" 的特性,App 各自保管自己的檔案,不能干涉彼此,可是將檔案 "推" 給別的 App 是被允許的。可是 iOS 怎麼知道使用者安裝了哪些 App 呢 ? 所以這種 "推" 的目標只支援內建軟體 (iOS 不允許使用者刪掉內建軟體是有原因的)。因此我希望 iOS 5 能加強 "Open with .." 的功能,讓使用者有一個 App 清單可以選,而且藉由 App 各自支援的檔案類型,自動篩選出符合條件的 App 置於清單中,這樣會實用很多。若要考慮 App 的穩定性問題,可以在這個 "推" 的過程中將檔案複製或轉移過去,不僅安全,而且下一次使用該檔時也不用再選一次。(20110606 Update : 這個功能似乎已經有了,但不是所有的 App 及檔案都能使用,希望能延伸到整個系統)

================

一般來說,一個程式的版本號為 X.Y.Z .... 個位數 X 的改變代表大改版 (Chrome 這怪胎是例外),小數位數 Y (或 Z ...) 的改變只是做安全性更新或新增一些輔助用的小功能,雖然我比較愛 Mac OSX,但也很期待這次更新的 iOS 5,希望 Apple 能再次帶給我們驚喜。


附註
1. 當然,我覺得應該會有 One more thing,不然驚喜程度就比往年差多了,Jobs 應該不會允許這種事。
2. 我也寫過關於 Mac OSX Lion 功能預覽的文章,有興趣的人請看 "Mac OSX 10.7 Preview 12"。
3. 所以 M$ 已經抄了 iTunes 這個構想,做了類似的軟體 WP7 Connector。不過備份及同步的功能似乎還沒完全做好,但那應該是遲早的事 ....。
4. 嗯 .... 據說 Time Capsule 已經停止出貨等待更新了是吧 ......
5. 最好的例子就是 iOS 4.3 新加入的個人熱點,因為之前 AT&T 不允許開放這個功能 (阿網路已經夠慢了 .....),但 Verizon 的 CDMA iPhone 發售之後,由於 Verizon 允許開放這個服務,故 AT&T 才不得不答應。
6. 這也就是 iOS device 比其它移動裝置省電的原因,Android 手機號稱開放,結果一天到晚要換電池。對於移動裝置來說,續航力比什麼都重要,何況那些 "限制" 常常也只是限制了次要需求,有些人根本用不到那些,可是看到有限制就不爽,那就讓他們去換電池吧。
7. 目前 iOS 有著 "Low Memory Warning" 警示視窗的機制 (如下圖),算是比以前進步了,但似乎不是從系統發出的,而是各 App 的開發者自己加的,有些 App 還是會放著讓它當 ....

7 則留言:

  1. 自己幻想的部份全掛 ...... orz

    回覆刪除
  2. 「iOS 雖然有自行管理記憶體的機制,但顯然不夠好,畢竟它不可能知道該如何選擇背景中的 App 去關閉 (就我的經驗,它根本不會做這種事,只是等著記憶體爆掉 [7] ... 不知道 "當記憶體用完時,iOS 會自己關閉被凍結的 App" 的傳聞是從哪裡來的)。」

    真是胡說八道啊
    用過iPhone的都知道
    剛關閉不久的憤怒鳥重開是「瞬間啓動」
    但是之後開了幾個較大的程式後再回去開憤怒鳥
    憤怒鳥會重新載入
    因為剛剛記憶體不夠
    所以憤怒鳥佔用的記憶體被回收了

    回覆刪除
  3. 不是很懂你的意思,你指的 "關閉" 是指按 Home button 退出,還是退出後還有去多工工具列關掉 ? 如果是後者,那跟我說的並沒有衝突。在多工工具列裡關掉的 App 已經不再凍結在背景,記憶體就像 Mac OSX 裡的 "inactive" 區塊一樣,雖然佔用著,但是只要其他程式有需求,就會釋出;可是如果是前者,記憶體就是佔在那裡,重開當然是瞬開,因為根本沒有被關掉,可是那塊記憶體其他 App 都不能使用,所以 App 越開越多之後,大型 App 就開不了,這就是我文章中的重點。

    回覆刪除
  4. 我說:「剛關閉不久的憤怒鳥重開是「瞬間啓動」
    但是之後開了幾個較大的程式後再回去開憤怒鳥
    憤怒鳥會重新載入」

    拜託你看清楚,上面很明顯有「自動釋放記憶體」,所以肯定不是從多工列「強制釋放記憶體」!

    我指的關閉是用Home button退出!退出後如果我開啓其它大型程式,憤怒鳥的記憶體會被自動釋放!

    事實上我從來不會去多工列關閉程式,所以我多工列少說也有兩百個以上的程式,但我從來沒遇過記憶體不足的問題!


    真的懂了再講會比較好!

    回覆刪除
  5. 我剛剛試了一下

    1.打開Dead Space、Final fantasy 3、導航王、KKBOX,用Home回到桌面。

    2.打開PKiller,記憶體只剩15.8MB

    3.啟動GTA3,用Home回到桌面。

    4.打開PKiller,記憶體只剩13.6MB,Final fantasy 3、導航王、KKBOX已經被強制關閉,並釋放記憶體了!


    如果iOS不會自動釋放記憶體,理論上只要記憶體一滿,就沒辦法開啓任何程式,但事實上很多iPhone使用者根本不知道要去多工列關閉程式,有此可見,你沒用過iPhone,只會造謠!

    回覆刪除
  6. 「在多工工具列裡關掉的 App 已經不再凍結在背景,記憶體就像 Mac OSX 裡的 "inactive" 區塊一樣,雖然佔用著,但是只要其他程式有需求,就會釋出;」

    這邊也是錯的
    在多工工具列裡關掉關掉app
    記憶體就馬上釋放了
    沒有等待釋出這種事

    回覆刪除
  7. 喔~ 89 兄的說法的確有人提過,但我認為 iOS 做得並不完備,比如說文中的附註 7,阿它就是跟你說記憶體不足要你關掉重開,而玩過 Infinite Blade 的人都知道,去它的記憶體管理,你不自己去多工工具列關 App 就等著 crash。

    不過的確有開發者的看法跟你類似,但之所以還有上述的情況發生,就表示 iOS 對於記憶體的管理以及其他 App 取用系統資源的管理還有改進空間。

    還有,我並非沒使用過 iOS device,別把話說得那麼死,我的 iPad 1 記憶體只有 256 MB,有遇過記憶體不足的情況真是不好意思。你開 200 多個 App 我不知道是真的還假的,你用得順我替你高興,但不代表 iOS 已經完美無缺,不過你的論點是正確的,我的文章的確有錯誤之處,感謝你的糾正。

    回覆刪除