Sunday, May 02, 2010

Steve Jobs details Flash shortcomings


Steve Jobs recently posted an interesting essay called "Thoughts on Flash." It succinctly summarizes Jobs's various objections to Flash technology. Some of his major points:

  • 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. By almost any definition, Flash is a closed system.
  • Security and stability: 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.
  • 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.
  • Battery life: On an iPhone, H.264 videos (which are decoded in hardware) play for up to 10 hours, while videos decoded in software (e.g., Flash) play for less than 5 hours before the battery is fully drained.
  • Flash was designed for PCs using mice, not for touch screens using fingers. 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.

The final reason Jobs gives for not allowing Flash on Apple devices has to do with third-party control over development tools. "We know from painful experience," Jobs notes, "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."

So to make Flash acceptable for Apple hardware, all Adobe would have to do is convert Flash to a 100% open technology, vastly improve its security and stability, make it decodable in hardware (or otherwise ensure that Flash devices will have adequate battery life), and give Apple control over development tools.

Not bloody likely.

More power to Apple, I say.