There has been a great deal of discussion and debate lately regarding the position that Apple has taken with regard to Adobe Flash. Steve Jobs posted an article yesterday which clearly sets out the basis for Apple’s decision not to allow Flash on iPhones, iPods, and iPads.
He listed the following six reasons as the basis for Apple’s position:
- "Open" :: 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 strongly believes that all standards pertaining to the web should be open, and rather than using Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards.
- “Full Web” :: Adobe’s claim that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash doesn’t consider that all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. For instance, YouTube has an estimated 40% of the web’s video, and it shines in an app bundled on all Apple mobile devices. While Adobe’s claim that Apple devices cannot play Flash games ignores the fact that there are over 50,000 games and entertainment titles on the App Store, and that there are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.
- Reliability, Security and Performance :: Symantec recently highlighted Flash for having one of the worst security records in 2009. Flash is also the number one reason Macs crash, and these problems have persisted for several years despite Apple’s efforts to work with Adobe to fix them. Apple doesn’t want to reduce the reliability and security of its iPhones, iPods and iPads by adding Flash. What’s more, Flash has not performed well on any mobile devices, regardless of manufacturer.
- Battery Life :: To achieve long battery life when playing video, mobile devices must decode the video in hardware, as decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264. While 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, which can cut battery life by 50% or more. When websites re-encode their videos using H.264, they can offer them without using Flash at all.
- 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. Because Apple’s revolutionary multi-touch interface doesn’t use a mouse, 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?
- Independence :: Adobe also wants developers to adopt Flash to create apps that run on our mobile devices, but Apple believes 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. Apple does not want to be at the mercy of a third party deciding if and when they will make ots enhancements available to its developers.
Source: "Thoughts on Flash" by Steve Jobs, posted at Apple.com.
This was interesting to see Apple lash out at Adobe; however it was a long time coming. In some ways Apple is right. But in others no. Flash is clunky for macs and its apparent. HTML5 is still in its baby sets and has been for years. Its still difficult to use and very proprietary despite what Apple states. I do see the benefits and highly recommend CSS and Java over Flash though.
It will be interesting to hear how the anti-trust arguments play out. Forcing Microsoft to unbundle its web-browser seems different than forcing a platform to accept programming that might threaten security… (way over simplified, but interesting)