Apple CEO Steve Jobs lambasted Adobe’s Flash platform today in a statement published on Apple’s website. Flash is a near-ubiquitous desktop browser plug-in commonly used to power video, animation, and other interactive features on websites. Though Adobe wants to extend the Flash platform to mobile devices, it’s hit a roadblock in Apple’s refusal to support Flash on its popular iPhone and iPad. Adobe has also found itself in conflict with boosters of new Web standards, who believe Flash could be replaced by new specifications such as HTML 5.
Jobs outlined the reasons that Apple does not plan to support Flash on its devices, including concerns about its security and reliability and its effect on battery life. He also noted that current Flash sites aren’t designed to be navigated by devices that use touch interfaces. Since they would need to be rewritten anyway, Jobs suggested, they could be rewritten so they don’t use Flash.
Perhaps his strongest words are directed at Adobe’s control over the Flash platform. “Apple has many proprietary products too,” Jobs acknowledged, but followed up by stating in no uncertain terms that he wants a direct relationship with developers of applications for Apple’s 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.
Jobs denied that Apple’s motivation to shut out Flash was a desire to protect its App store, but that’s hard to buy when he attacks cross-platform development so harshly. I appreciate that Apple wants developers to build beautiful applications that are specifically molded to Apple’s devices, but I’m also someone who uses multiple devices created by multiple manufacturers. I like applications that work on all of them, but I have a lot of sympathy for the time, money, and effort it takes developers to maintain support for the ever-increasing number of devices out there.
Cross-platform development has got to have a place, unless I’m expected to stick with devices created by one manufacturer. Ideally, the Web browser would be the ultimate cross-platform device, but so far, reality has been otherwise.
HTML 5 may be part of the answer, but I doubt it will be all of the answer. Developers want to take advantage of the special features that are being added to mobile devices, such as location services, and they want to do that on multiple devices. It’s not clear to me that a standard can keep up with the pace of innovation on devices.
Whatever Flash’s problems, I’ve respected Adobe for trying to manage the confusing changes taking place across the board–for example, by recently making it possible for its developers to manage multiple social network plug-ins through a single Flash interface.
Fragmentation just seems to be the rule–we’re even seeing it these days in the variety of Android devices running different versions of that operating systems with different capabilities. I don’t think the solution for it can be for every developer to handcraft every application for every device.