Steve Jobs on Flash

In a rare public letter, Steve Jobs published his “Thoughts on Flash” in which he explained why Apple hasn’t implemented Flash on the iPhone, iPod, and iPad.

Jobs made six points in his piece, all of which have been made by others, but it’s nice to finally hear it from Apple themselves in a concise manner.

On openness:

Adobe’s Flash products are 100% 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 […] 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.

It’s hard for Adobe to argue that Flash is open, and I’m still amazed by the number of people who believe them. Flash isn’t open because Adobe solely controls it’s future. Just because Flash is nearly ubiquitous does not mean it’s open.

On the “full web”:

Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. […] YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices […] 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.

I can think of a lot of web video sites that are still not available on the iPhone or iPad, but you’d be hard pressed to find a video that isn’t available on one of Steve’s listed sites. When the iPhone was first released I would often come across a video that wouldn’t playback on the iPhone. But, this happens less and less often — I can’t even remember the last time I had to go to my computer because a video was only available in Flash.

On 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 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.

The best way to keep your browser from crashing is to install ClickToFlash or FlashBlock. You’ll be amazed at how stable the web can be. It’ll also surprise you how quiet your computer is once Flash is turned off, even the simplest Flash apps seem to kick my MacBook’s fans into high gear whenever they’re loaded in the browser.

On battery life:

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.

Steve says that an H.264 video played on an iPhone can play for 10 hours when decoded in hardware, but using a software decoder cut that time in half. That’s certainly not the kind of battery life I want on my mobile device.

On touch and mouse-based interfaces:

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.

Because of this discrepancy in interfaces, many Flash websites would have to be rewritten with touch in mind. So, why not just rewrite in HTML5, CSS, and JavaScript?

On cross-platform compilers:

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.

Apple wants you to develop using tools built specifically for the platform. It is the only way they can be assured that enhancements to the platform are adopted in a timely manner. Any feature that is specific to the iPhone won’t be a priority to the developer of a cross-platform compiler. Why spend time implementing a feature that’s only supported by one of the many platforms that your compiler supports?

Apple wants the applications in the App Store to shine when compared to their Android and Flash counterparts. Blocking cross-platform compilers is their best bet at making sure App Store apps shine. Native tools have always produced the best quality applications.

The final dig at Adobe comes in Steve’s conclusion:

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.

Anyone who understands why Apple is keeping Flash off their touch devices has been wondering why Adobe hasn’t invested more in building HTML5 tools. I’m glad someone this high-profile has finally told it to them straight.