Flash之我見

十年前,關於Flash登陸iPhone OS(IOS前身)平台的問題,蘋果與Adobe之間近期展開了非常激烈的爭論。出人意料的是,蘋果公司CEO史蒂夫喬布斯在蘋果官方網站上發表了一篇洋洋洒洒數千字的公開信,題目就叫做“Flash之我見”(Thoughts on Flash)。

2020年12月31日,Adobe終止支持Flash

世殊時異,而今觀之,別有一番滋味。

註:當你看到這行文字時,說明以下的譯文是來自網友ZEUUX於2010年的翻譯,個中還有不少的瑕疵未經修正。日後我會翻譯一版較為完善的譯文,以期盡善。

轉載者按

蘋果與Adobe之間有着長期的關係。事實上,早在Adobe公司還在當年那間著名的車庫時,我們就和Adobe創始人有過碰面。蘋果是他們的第一家大客戶,在我們的Laserwriter打印機(譯註:蘋果1985年產品)中使用了他們的Postscript語言。蘋果曾經投資Adobe公司,在很多年中都擁有這家公司20%左右的股份。兩家公司曾合作親密無間,率先提出了桌面出版的概念,那時曾分享很多的美好時光。不過在那段黃金時代後,兩家公司走上了不同的發展道路。蘋果在鬼門關前走了一遭(譯註:指上世紀90年代前半段蘋果陷入崩潰邊緣),Adobe則用Acrobat產品踏入了企業市場。今天,兩家公司仍在一起服務那些創意客戶——Adobe Creative Suite產品過半的客戶都是Mac用戶——但除此以外這兩間公司還有一些共同的興趣。

這裡,我想要寫下一些我們對於Adobe Flash產品的看法,讓消費者和評論界更好的理解為什麼我們不允許Flash出現在iPhone、iPod和iPad上。Adobe已經把我們的這一決定定性為商業利益驅動,他們說我們是為了保護我們的App Store。不過實際上,這是一個技術問題。Adobe聲稱我們是封閉系統,而Flash是開放的,但事實正好相反。下面就讓我來詳細解釋。

首先是“開放性”的問題。

Adobe Flash是100%的私有產品。它僅在Adobe有售,Adobe也是決定Flash未來發展、定價等的唯一機構。儘管Adobe的Flash產品非常普及,但這並不意味着它是開放的,因為它完全被Adobe控制,也僅僅來自Adobe。從任何角度來看,Flash都是一套封閉系統

蘋果也有不少私有化產品。雖然iPhone、iPod和iPad的操作系統是私有的,但我們非常相信所有關於網絡的標準都應當是開放的。相比Flash,蘋果採用了HTML5、CSS和JavaScript——全部都是開放標準。蘋果的移動設備全部搭載了高性能、低功耗版本的這些開放標準。HTML5,這一被蘋果、Google和許多其他公司採用的新網絡標準,讓網頁開發者們能夠在不依賴第三方瀏覽器插件(如Flash)的情況下創造先進的圖形、排版、動畫和動態效果。HTML5是完全開放的標準,由一個標準委員會控制,而蘋果也是該委員會的成員。

蘋果甚至會為網絡創造開放標準。比如,蘋果從一個小規模的開源項目開始,創造出了WebKit,一款完全開源的HTML5渲染引擎,現在已經成為我們所有產品上Safari瀏覽器的核心。WebKit已被廣泛應用,Google在Android系統瀏覽器中使用它,Palm使用它,諾基亞使用它,RIM(黑莓)也已經宣布將使用它。除微軟以外幾乎所有的智能手機網絡瀏覽器都在使用WebKit。通過開放WebKit技術,蘋果訂立了移動網絡瀏覽器的標準。

第二,是“完整網絡”(full web)的問題。

Adobe一直在反覆強調,蘋果的移動產品無法訪問“完整的網絡”,因為網絡上75%的視頻都是Flash視頻。而他們沒有說明的是,幾乎所有這些視頻通過一個更先進的格式:H.264,同樣可以在iPhone、iPod和iPad上看到。擁有整個網絡約40%視頻的YouTube在所有蘋果移動產品上都有專門的應用軟件,其中iPad版也許可以說提供了最佳的YouTube查找和觀看體驗。除此之外,來自Vimeo、Netflix、Facebook、ABC、CBS、CNN、MSNBC、Fox新聞、ESPN、NPR、時代周刊、紐約時報、華爾街日報、體育畫報、人物周刊、國家地理以及其他許許多多網站的視頻,iPhone、iPod和iPad用戶一個都不會錯過。

Adobe的另一種說法是,蘋果產品無法玩Flash遊戲。這句話沒錯。不過幸運的是,App Store中已經有超過5萬款遊戲和娛樂軟件,其中許多都是免費的。iPhone、iPod和iPad上的遊戲和娛樂軟件數量比全世界其他任何平台都要多。

第三,是可靠性、安全性和性能的問題。

賽門鐵克近期的報告着重提到了Flash,因為它是2009年最差安全記錄的創造者之一。我們還擁有這樣的第一手消息:Flash是Mac死機的頭號禍根。我們曾和Adobe一道試圖修補這些問題,但最近數年他們都持一種頑固的態度。我們不希望因為加入Flash而降低iPhone、iPod和iPad的可靠性和安全性

另外,Flash在移動設備上的性能表現一貫不佳。在過去多年中,我們每隔一段時間都會請求Adobe向我們展示Flash在移動設備上實現的高性能表現,任何移動設備都可以。但至今我們都沒有看到。Adobe曾公開宣稱,Flash會在2009年初登陸智能手機,隨後改口到2009年下半年,接下來是2010年上半年,現在他們又說是2010年下半年。我們想它最終應該能夠推出,不過我們很慶幸沒有死等它。天知道它到底會有怎樣的表現。

第四,是電池續航時間。

為了能夠在播放視頻時達到高電池續航時間,移動設備必須使用硬件解碼視頻,因為軟件解碼需要耗費太多的電能。當今移動設備中使用的許多芯片都包含H.264解碼器,這一行業標準被應用在所有藍光、DVD播放器中,也被蘋果、Google(YouTube)、Vimeo、Netflix以及大量其他公司採用。

儘管Flash近期加入了對H.264的支持,但幾乎所有Flash網站上的視頻都要求使用上一代解碼器,這在當今的移動設備芯片中是不存在的,因此必須使用軟件解碼方式。這其中的差別是驚人的:比如iPhone播放H.264視頻可以堅持10小時,而如果使用軟件解碼模式,電池在5小時內就會耗盡。

當網站使用H.264重新編碼後,就能夠在完全不使用Flash的情況下提供視頻。它們能夠在不加載任何插件的情況下在蘋果Safari、Google Chrome這些瀏覽器中完美播放,在iPhone、iPod和iPad上看起來也非常棒。

第五,是觸摸問題。

Flash是為PC使用鼠標控制設計的,而不是為使用手指操作的觸摸屏設計的。舉個例子,許多Flash網站的操作依賴“Rollovers”(滑動),當鼠標指針徘徊在一個區域一段時間後,會彈出菜單或其他元素。蘋果革命性的多點觸摸操作界面並不使用鼠標,因此也就沒有這種滑過並停留在某塊區域的概念。絕大多數Flash網站為了支持觸摸設備都需要重新編寫。如果開發者需要重寫他們的Flash站點,為什麼不使用更加先進的技術,如HTML5、CSS、JavaScript呢?

就算iPhone、iPod、iPad能夠運行Flash,也無法解決大多數Flash網站需要為支持觸摸設備完全重寫的問題。

第六,是最重要的原因。

除開Flash是一套封閉系統,存在嚴重的技術缺陷,並且不支持觸摸設備外,我們不允許Flash出現在iPhone、iPod、iPad上還有一個最重要的原因。我們已經討論過使用Flash播放視頻以及網站互動內容的缺點,但Adobe還希望開發者使用Flash來打造運行在我們移動設備上的原生應用程序。

對於允許第三方中間層出現在操作系統平台和開發者之間造成的軟件質量低下,甚至妨礙整個平台演進的後果,我們有過痛苦的經驗。如果開發者越來越依賴於第三方開發庫和工具,他們將只有在該第三方決定採用系統新特性的時候,才能夠充分利用系統平台改進的成果。我們不能容許由第三方來決定我們的開發者能不能,或何時能使用我們的改進成果

如果該第三方提供的是一套跨平台開發工具,情況將更加嚴重。該第三方可能在新特性沒有在所有支持平台上實現前,拒絕採用這一改進成果。如此一來,開發者將只能接觸到各系統間能夠共通的一組最低標準特性。和上面同樣的,我們無法接受這樣的情況:開發者被阻擋在使用我們創新和改革成果的門外,只因為我們競爭對手的平台上不支持這些新特性

Flash是一套跨平台開發工具。Adobe的目標不是幫助開發者編寫最棒的iPhone、iPod、iPad應用軟件。而且Adobe採納蘋果平台改進成果的速度異常的緩慢。再舉個例子,Mac OS X已經發布近10年了,但Adobe在兩周前發布的Creatve Suite 5中才完全採用了Mac OS X標準編寫(Cocoa)。Adobe是最後一家完整採納Mac OS X標準的大型第三方軟件開發商。

我們的動機非常簡單:我們希望為我們的開發者提供最先進、最具創新性的平台,我們希望他們能夠直接站在這一平台的肩膀上,開發全世界見所未見的最棒應用程序。我們希望不斷的改進這一平台,讓開發者能夠創造更加驚人、強悍、有趣、實用的應用程序。這將有益於所有人:我們能夠因最棒的軟件銷售更多設備,開發者將能夠得到更多更廣的受眾和用戶群,用戶也將因擁有最棒和選擇面最廣的軟件平台而不斷得到愉悅。

結論

Flash是在PC時代,為PC和鼠標創造出來的。Flash是Adobe公司的一項成功業務,我們可以理解他們為什麼要把它推向PC以外的市場。但移動時代的關鍵是低功耗、觸摸操作和開放網絡標準,這些都是Flash的痛腳。

媒體行業如雪崩般的將他們的內容推向蘋果移動設備的事實顯示,Flash已經不再是觀看視頻以及其他各種網絡內容的必須途徑。而蘋果App Store中的20萬款軟件也證明,Flash已經不再是成千上萬開發者創造包括遊戲在內豐富圖形應用的必需品。

如HTML5這樣在移動時代中創立的新開放標準,將會在移動設備上獲得勝利,PC上也是一樣。也許Adobe公司未來應當更加關注於開發出色的HTML5工具,少一些對蘋果甩開過去舉動的評頭論足吧。

史蒂夫喬布斯
2010年4月

以下為英文原本:

Apple has a long relationship with Adobe. In fact, we met Adobe’s founders when they were in their proverbial garage. Apple was their first big customer, adopting their Postscript language for our new Laserwriter printer. Apple invested in Adobe and owned around 20 percent of the company for many years. The two companies worked closely together to pioneer desktop publishing and there were many good times. Since that golden era, the companies have grown apart. Apple went through its near death experience, and Adobe was drawn to the corporate market with their Acrobat products. Today the two companies still work together to serve their joint creative customers – Mac users buy around half of Adobe’s Creative Suite products – but beyond that there are few joint interests.

I wanted to jot down some of our thoughts on Adobe’s Flash products so that customers and critics may better understand why we do not allow Flash on iPhones, iPods and iPads. Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true. Let me explain.

First, there’s “Open.”

Adobe’s Flash products are 100 percent proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards. Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products. WebKit has been widely adopted. Google uses it for Android’s browser, Palm uses it, Nokia uses it, and RIM (Blackberry) has announced they will use it too. Almost every smartphone web browser other than Microsoft’s uses WebKit. By making its WebKit technology open, Apple has set the standard for mobile web browsers.

Second, there’s the “full web.”

Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75 percent of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices, with the iPad offering perhaps the best YouTube discovery and viewing experience ever. Add to this video from Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic, and many, many others. iPhone, iPod and iPad users aren’t missing much video.

Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.

Third, there’s reliability, security and performance.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.

In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it. Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform?

Fourth, there’s battery life.

To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.

Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.

When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.

Fifth, there’s Touch.

Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.

Sixth, the most important reason.

Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.

Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.

Conclusions.

Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.

The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 200,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.

New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

Steve Jobs April, 2010

發表回復

您的電子郵箱地址不會被公開。 必填項已用*標註