2010年4月30日

Thoughts on Flash:老賈論 Flash

蘋果公司執行長 Steve Jobs 發表了一篇以「Thoughts on Flash」為名的公開信,以不小的篇幅來闡述其對於 Adobe Flash 的種種觀感。

Jobs 的信開頭先回溯兩家公司多年來的友好關係,包括蘋果是 Adobe 的第一個大客戶、投資並持有 20% Adobe 股份多年等。然後很清楚的分成開放(Open)、完整的網路(Full Web)、穩定安全與效能(Reliability, Security and Performance)、電池使用時間(Battery Life)、觸控(Touch)、最重要的理由(The Most Important Reason) -- 協力廠商不應在作業平台與開發者之間扮演重要角色等六個重點來闡明蘋果批評 Flash 的理由。

一、開放(Open):Jobs 表示,雖然 Adobe 批評蘋果系統是封閉的系統,宣稱 Flash 是開放的標準,但事實上 Flash 是 Adobe 的智慧財產,所以也只有 Adobe 具有決定授權、改版、定價等權力, Flash 的一切完全受到 Adobe 的控制,所以並不是個開放的標準。蘋果相信所有網路相關標準都應是開放的標準,所以相對 Flash ,蘋果採用 HTML5 、 CSS 與 JavaScript 等開放標準,蘋果推出的行動資訊裝置都能順利地以高效能、低耗能狀態來操作使用。 Jobs 強調,完全開放的 HTML5 讓開發者能不依賴協力廠商所提供如 Flash 等外掛模組,就能創造先進的圖文與動畫特效。

相對於 Flash 的封閉, Jobs 也舉出蘋果曾創造網路標準 WebKit 這個開原碼 HTML5 排版引擎為例來說明怎麼樣才是開放的標準。 Jobs 說 WebKit 不但是蘋果自家瀏覽器 Safari 的核心,也被包括 Google 、 Palm 、 Nokia 等許多其他公司採用,除了微軟外的大多數智慧型手機瀏覽器都採用 WebKit 核心,這樣的事實證明什麼才是真正開放的標準。

二、完整的網路(Full Web):Adobe 一再宣稱蘋果行動資訊裝置無法提供「完整的網路」,只因為網路上 75% 的影片是 Flash 格式,但 Adobe 沒說這些影片幾乎也都有 H.264 格式版本,而 H.264 格式的影片能在蘋果行動資訊裝置上觀賞。 YouTube 估計有 40% 的網路影片能夠順利在蘋果的行動資訊裝置觀看,而其他許多知名媒體、視訊與新聞雜誌網站的影片都能使用蘋果行動資訊裝置觀看。

除了影片外, Jobs 提及 Adobe 以不能玩 Flash 遊戲來攻擊蘋果行動資訊裝置, Jobs 承認此點,但反將一軍說在 App Store 上超過五萬種遊戲與娛樂程式而且許多都是免費供應,蘋果行動資訊裝置能玩的遊戲數目遠超過其他世上其他平台。

第三、穩定、安全與效能(Reliability, Security and Performance):Jobs 提及知名防毒軟體大廠賽門鐵克 Symantec 將 Flash 列入 2009 年安全性最差的名單,也表示蘋果早知道 Flash 也是造成 Mac 當機的首要原因。 Jobs 透露蘋果曾與 Adobe 嘗試修正這些問題,但時至今日問題依然存在。蘋果不想因為與 Flash 相容,而降低蘋果行動資訊裝置的穩定性與安全性。

這些年來蘋果一再要求 Adobe 展示 Flash 能在任何一款行動資訊裝置上順暢運作的證明,但一次都沒看過。 Adobe 不斷推延 Flash 在智慧型手機上運作的時間,但蘋果不想再等待。

第四、電池使用時間(Battery Life):Jobs 解釋,智慧型手機透過硬體解碼,便能有較長的電池使用時間;而如 Flash 等必須採用軟體解碼,將消耗電池的電力。許多當代行動資訊裝置中都使用包含 H.264 格式解碼器的晶片,畢竟 H.264 格式是工業標準。

雖然 Flash 最近也增加了對 H.264 的支援,但若要瀏覽 Flash 網站的影片,還需要較舊款且行動資訊裝置並不支援硬體解碼的軟體解碼器。所以在 iPhone 上能觀賞超過十小時的 H.264 影片,但改若以軟體解碼,只播不到五小時就沒電了。倘若視訊網站將影片重新以 H.264 編碼,就不再需要 Flash 。這些影片能在不憑藉任何外掛模組的情況下在 Safari 與 Chrome 等瀏覽器播放。

第五、觸控(Touch): Jobs 批評 Flash 是為配備滑鼠的電腦而設計,而非專為使用手指的觸控螢幕而設計。例如 Flash 上常見的透過滑鼠滑過「Rollover」以跳出選單等;而蘋果的多點觸控操作介面不需要滑鼠,也沒有「Rollover」的概念。 Jobs 指出,若 Flash 網站要迎合觸控螢幕的新趨勢,就得重寫程式,但既然要重寫,為什麼不使用更先進的 HTML5 、 CSS 等技術呢?

第六、最重要的理由(The Most Important Reason) -- 協力廠商不應在作業平台與開發者之間扮演重要角色: Jobs 指出,讓協力廠商在作業平台與開發者之間扮演重要角色,最終會弄出低於標準的成品,反過來阻礙與干擾作業平台本身。例如當作業平台加入新功能,協力廠商就 得儘速支援,才能讓開發者透過協力廠商的支援來使用平台的新功能。倘若平台要繼續進步,就不應該讓協力廠商在這中間扮演重要的角色。

倘若協力廠商工具必須考慮跨平台相容,那就有可能不會針對單一平台的新功能做考量,直到新功能普及為止。面對這樣的情況,軟體開發者只能放棄那些新 功能來寫出跨平台相容的軟體,蘋果完全不能接受這樣被協力廠商影響自身創新與功能增進的結果。 Flash 正是 Jobs 口中的跨平台工具, Adobe 必須讓開發者成功跨平台開發軟體,而不是針對蘋果行動資訊產品來撰寫出最棒的軟體。此外, Adobe 針對蘋果平台上新功能的支援也十分緩慢,它是主流協力廠商最晚完全支援 Mac OS X 者,在 Mac OS X 上市近十年後才以兩週前上市的 CS5 完全支援 Mac OS X 。

在結論中, Jobs 再次指出 Flash 是個人電腦時代的產物,需要滑鼠來操作,也是 Adobe 成功的財源;但行動資訊時代代表低耗電裝置、觸控介面和開放網路標準,而 Flash 都無法提供。目前媒體紛紛推出與蘋果行動資訊裝置相容的無 Flash 內容,幾萬位開發者開發出 App Store 那二十萬個軟體也不再需要 Flash 來製作聲光效果的程式與遊戲,在在證明蘋果的論點。 Jobs 相信行動資訊時代中如 HTML5 等新開放標準終將獲勝,並建議 Adobe 開發出 HTML5 的相關工具。

[相關連結]

http://www.frostyplace.com/index.php?story_id=8835

1 則留言: