The brief backstory: Apple won’t support Adobe’s Flash on the iPhone or iPad, nor will it even accept apps built using Adobe’s just-released converter that turns Flash documents into native iPhone apps.
Flash was created to fill a huge void left by early HTML standards: no support for animation and video. Adobe (really, Macromedia) created the free Flash player along with several paid developer tools so that web developers could create content with animation and video.
Meanwhile, the web standards organization (W3C) has slowly labored to add those same features to HTML in a way that everyone can agree on. And now, after many years, “HTML5” has essentially caught up with Flash. It supports animation and video, without needing a plugin. And crucially, Apple has spearheaded the WebKit project: an efficient, open-source, cross-platform web browser that can actually interpret HTML5, thus bringing W3C’s theoretical work into the real world.
In other words, WebKit does the same things as Flash.
From a high-level perspective at least, WebKit and Flash are both simply cross-platform interpreters of rich internet content. (They even use the same scripting language.) The iPhone already has WebKit built-in, working well, displaying rich content quickly and using a minimum of battery power. Why include a second, redundant interpreter?
There are various arguments about whether WebKit or Flash is better. Which one is more efficient, more secure, more “open”, more compatible, more available, easier to develop for. But the bottom line is that Apple and the open source community have done a great job with WebKit, even though Flash started out with such a big lead. WebKit even has important features that Flash lacks, like decent support for multi-touch devices.
Flash still has important advantages. It has an excellent suite of developer tools maintained by Adobe. (This also happens to be the only way Adobe actually makes money from Flash.) And it has all those web developers already trained on how to use these tools.
But the most important selling point of Flash may be that it’s a cross-platform solution. It works across operating systems, across browsers. All of a sudden, Apple is in a position to break that position. The iPhone is popular enough that if Flash doesn’t run on it, Flash is no longer truly cross-platform. If you want your rich web content to reach everyone, you now need to use other technologies. And once you’re using HTML5, why go back? HTML5 will only become more ubiquitous over time, like HTML 4 before it.
The only way for Flash to really compete would be to jump ahead of the HTML standards again, offering functionality you can’t get in mainstream web browsers. But it’s unclear what those features might be, and it’s unclear why Apple wouldn’t just add those same features to WebKit. Indeed, it seems more likely that Apple (along with the open source community) will continue to push WebKit and the HTML5 standard above and beyond Flash.
Overall, I agree with Steve Jobs’ 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.
Though they will probably not admit it for some time, I suspect that Adobe has already started following this advice.
Update: Just weeks later, Adobe Delivers HTML5 Support in Dreamweaver CS5.
Update 2: (Oct, 2010) Adobe has now previewed a prototype tool for choreographing HTML5 animations. “We’re really excited about HTML5 and all of the creative capabilities it offers.”
Update 3: (Nov, 2011) Adobe has announced that they will discontinue their efforts to develop Flash Player for mobile devices. Instead, they will focus on their tools for exporting Flash-based native apps to the mobile app stores. (Apple now permits such apps.)