The face-off between Apple and Adobe Systems concerning Flash on the iPhone and iPad is a perfect fit for today's world of fanboys and flame wars. But beneath the surface, it's not all as simple as it seems.
There are plenty convenient rhetorical points for those who want to find a place in the debate: Apple exerts draconian control over its walled garden. Flash is a buggy, insecure, resource hog. Apple is taking a stand for the betterment of the Web. Apple is inflicting a crippled Web on its customers for its selfish ends.
All these positions have some merit but are exaggerated. It's not nearly so black and white, so let's dig into the issue a bit more.
Q: Wait, what? Flash? Objective-C? What's the background here?
The iPhone is the smartphone to beat these days when it comes to polish, power, and wealth of applications. Apple, though, has thwarted Adobe's ambition to have the Flash Player browser plug-in or the related AIR (Adobe Integrated Runtime) technology on the device. Programmers can write programs that run on Flash Player on any number of computing devices; AIR is geared for for standalone applications and adds Web browser technology abilities.
FAQ: Apple vs. Adobe
Adobe, which wishes to extend the ubiquity Flash enjoys on desktops and laptops to the mobile market, isn't happy about Apple's Flash decision. As something of an end run around Apple, it built into its new Flash Pro CS5 developer tools the ability to create Flash applications that compile into native programs for the iPhone, iPod Touch, and iPad.
But just after the iPad launched without Flash and just before Adobe launched its Creative Suite 5 products that included the new programming technology, Apple changed the iPhone 4.0 software developer kit license so that people could only write programs in the C, C++, or Objective-C languages--the latter from Apple. That blocked Flash and some other cross-platform developer tools.
The first result is that Adobe ditched future development of the Flash-to-iPhone programming technology, accompanied by some fightin' words from Mike Chambers, Adobe's principal product manager for the Flash platform: "As developers for the iPhone have learned, if you want to develop for the iPhone you have to be prepared for Apple to reject or restrict your development at any time, and for seemingly any reason."
The second result was new emphasis on Adobe's partnership with Google to bring Flash and AIR to the Android operating system. Those technologies are also headed for other smartphone operating systems, but particularly with a new generation of powerful Android phones, Google's open-source operating system that right now is the chief rival for iPhone OS. Flash Player 10.1 for Android is in private beta testing now and is scheduled to arrive by the end of June for computers and a wide range of phones.
So Apple and Adobe hate each other's guts?
No doubt there's plenty of fuming among Adobe personnel who saw Apple kill a project--especially so late into its development. And after what each side has said about the other, some kind of Flash partnership would have to overcome some ill will on top of the usual technical, strategic, and legal obstacles.
But the days when big computing companies don't have some cooperation as well as competition are long gone, and Apple and Adobe have a symbiotic relationship overall. Adobe's cash cow, its Creative Suite of products including Photoshop, Illustrator, Flash Pro, InDesign, Premiere Pro, and Dreamweaver, is popular on the Mac, especially the design applications. Those applications, in turn give Apple a reliable group of customers who often are willing to pay premium prices.
On Mac OS X, for now at least, people are free to download Flash Player, and most of them do. Apple isn't happy with how Flash performs on Macs--but neither is Adobe, and it's working to speed up Flash, presumably with added urgency given the current state of affairs.
Why did Apple change the license terms?
The company hasn't said much publicly about its rationale, but there are hints. Here are two.
Second, Apple Chief Executive Steve Jobs' e-mailed response to Greg Slepak's objections to Apple's Flash-blocking maneuver: "We've been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform."
That dovetails with what Jobs said in a 2007 interview with The New York Times about Apple's objections to blocking Sun Microsystems' Java on the iPhone: "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain."
Flash--as with Java--are technologies that provide a foundation on which applications run. Adobe provides versions of Flash Player for different hardware and operating systems, and programmers can write a single program that will run on a wide variety of computers rather than having to laboriously recraft their program for a hodgepodge of different user interfaces and processor families.
Using this intermediate layer causes complications, though. One of the big ones, as John Gruber points out in a post that Jobs lauded, is that applications built with cross-platform tools often have a generic look rather than fitting in with the native style.
Oh, OK, so Apple is just looking out for its users, then?
Certainly Apple cares a great deal about the user experience, not just by offering refined and carefully thought-out user interfaces, but also by screening out any number of iPhone, iPad, and iPod Touch applications it doesn't like from its App Store. Apple is willing to inflict some short-term pain to achieve what it thinks is a better future--take for example its willingness to scrap the floppy drive when the original iMac arrived, or its relatively swift software transition from PowerPC-based Macs to Intel-based Macs.
The bigger issue with Flash is that Apple, leveraging the power it has through the immense range of applications available in the App Store, can afford to be picky. And one of the things it's picky about is not offering an easy way for competitors to get in on the action. Programmers may well balk at the treatment at Apple's hands, but ditching iPhone development while it's in its present dominant position is not a decision to be made lightly.
Jean-Louis Gassee, a former head of Macintosh development, phrased the Apple-vs.-Flash situation this way: "Steve Jobs has seen enough in his 34 years in the computer business to know, deeply, that he doesn't want to be at the mercy of cross-platform tools that could erase Apple's competitive advantage."
Says Gruber: "Adobe's goal isn't to help developers write iPhone apps. Adobe's goal is to encourage developers to write Flash apps that run on the iPhone (and elsewhere) instead of writing iPhone-specific apps. Apple isn't just ambivalent about Adobe's goals in this regard--it is in Apple's direct interest to thwart them."
So is Apple closed or open?
Apple is maintaining control over developers when it comes to iPhone applications. Through Apple's technological and legal restrictions, iPhone developers don't enjoy the same freedoms that they do on Windows, Mac OS X, or Android.
On the other hand, Apple really is advancing open-standard Web-based alternatives to Flash, one of the leaders in the HTML side of the HTML-Flash turf war. If you want your Web site to stream video to iPad customers, you'll have to find a way besides Flash to do it, and once that work is done, it makes it easier to support non-Flash video players beyond just the iPad.
This is something of a contradiction: the very "Open Web" technologies it's promoting and developing are the back door into Apple's walled garden. When Apple rejected the Google Voice and Google Latitude iPhone applications, Google rebuilt them as Web applications accessed through the iPhone browser.
Don't expect this debate to end soon. "Will HTML5 make rich Internet application (RIA) technologies such as Adobe Flash/Flex and Microsoft Silverlight obsolete? For at least the next five years, the answer is a definite 'no,'" said Forrester analyst Jeffrey Hammond in a report this week. "Inconsistent implementations of the draft HTML5 specification and immature tooling make building HTML5 apps that work consistently across browsers and operating systems a real challenge."
OK, so what about Adobe? Closed or open?
Again, both. Flash is an openly documented format. The free availability and widespread availability of Flash Player provides an open foundation that can liberate programmers from the difficulties of browser incompatibility. At the same time, Adobe controls Flash technology and the proprietary Flash Player almost invariably used to handle it. Flash Player is proprietary in part because of support for H.264 that isn't Adobe's technology to give away.
H.264 is an interesting element of this openness debate. HTML5 supports streaming video, and Apple's Safari browser supports it when encoded with H.264. Apple calls H.264 "open," and in a sense, it is: any organization is free to license its patent portfolio from MPEG LA, in contrast to any number of proprietary technologies that have been used in the computing industry. But Mozilla's Chris Blizzard, who is steeped in the world of open-source software, doesn't see H.264 as open--"not even a little. [It's] locked up behind a glass wall." Even if Mozilla paid the requisite $5 million H.264 license fee, it wouldn't be permitted to include support in the open-source Firefox software because it can't extend its license rights to those who build projects from the source code.
Mozilla prefers the unconstrained Ogg Theora video technology, and perhaps later the VP8 Google obtained through its acquisition of On2 Technology, too. Google hasn't said what it'll do with VP8 or other On2's other codecs, but releasing them as open-source software is a likely possibility. These complications all spotlight the fact that although HTML5 video is open by any measure, the video encoding technologies used within it aren't necessarily.
In general, be very cautious when you hear any computing company wrapping itself in the flag of openness as it promotes its products. There are different kinds--open interfaces, open source, and open standards, for example.
So will any of this brouhaha matter to the average person?
Not too much, at least not in the near term. There are scads of iPhone applications, scads more on the way, and scads of iPhone-related dollars falling to Apple's bottom line, so clearly Apple isn't suffering from the lack of Flash and AIR support. Some high-profile AIR applications such as TweetDeck are available AIRlessly on the iPhone.
The biggest immediate issue is probably that any number of Web sites with Flash-based games, applications, video streaming, interactive tours of $100 bill anticounterfeiting measures don't work on the iPhone, iPad, and iPod Touch, but the recent war of words doesn't change that situation much.
But there are longer-term possibilities that could, perhaps, change things.
First, Apple's moves have led Google to bless Flash as a legitimate aspect of the full Web experience, building Flash into its Chrome browser and vocally cooperating with Adobe to ensure Flash Player 10.1 integrates smoothly with Android. Clearly the two are trying to avoid some of the jarring disconnects possible from cross-platform developer tools. This is all notable given Google's fervid promotion of the same Open Web technologies Apple likes.
The availability of Flash isn't likely to erase the iPhone's application head start over Android. But Google is indicating that it's a safe haven for developers, and in the long run, that could help Android catch up.
Second, you can bet Adobe is working furiously to improve Flash--not just to speed it up to counteract the drubbing it's received by its detractors, but also to add new features to keep it ahead of the Open Web technologies. Flash made Web video simple to use, and doubtless Adobe hopes to offer future compelling features as well.