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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注