Or is he trying to ensure that Apple apps continue to "just work?" A guide to the latest flap
The hottest topic in tech these days -- and the lead item all weekend in Techmeme -- is an obscure clause in Apple's (aapl) latest Developer Program License Agreement, the document programmers must conform to if they want to be part of the bonanza that is the iTunes App Store (185,000 apps and counting).
It's a discussion that echoes complaints about Apple's essential controlling nature that date back a quarter century to the original Mac and which have returned full-force with the release of the iPad -- a device that has been called the Disneyland of Computers, and not in a nice way.
Its outcome could determine whether Apple holds on to the dominant position in smartphone computing it has achieved with the iPhone, or whether the history of Mac vs. PC -- in which Microsoft (msft) seized control of the desktop and Apple was relegated to the role of a small (albeit highly profitable) also-ran -- is about to repeat itself.
<!-- more -->
Apple didn't mention the clause at the center of the debate -- section 3.3.1 of iPhone OS 4.0 SDK -- during its hour-long press preview of the new system software last Thursday, and the clause didn't come up in the Q. & A. But before the day was out, Daring Fireball's John Gruber, a blogger with close ties to the Apple developer community, had singled it out for closer examination and put his finger on what it means.
What 3.3.1 says is that to be approved for sale on the App Store, programs must be originally written in one of three approved computer languages (C, C++, and Objective-C). It explicitly prohibits apps created with so-called cross-platform interpreters or compilers.
The immediate effect is to put a nail through the heart of the Flash-to-iPhone compiler in the upcoming release of Flash Professional CS5, Adobe's (adbe) back-door way of getting those hundreds of thousands of Flash ads and videos to work on Apple's mobile devices.
But as the debate over section 3.3.1 raged over the weekend -- giving birth to an "I'm with Adobe" Facebook fan club and eventually eliciting a pair of widely reposted e-mail response from Steve Jobs himself -- it became clear that the purpose of the clause is not to frustrate Adobe, but to fend off the long-term threat posed by competing mobile operating systems like Google's (goog) Android and Microsoft's Windows Mobile 7.
Thousands of words have already been written on the topic, but if you want to catch up, the essential documents can be boiled down to a fairly short reading list:
- Three posts by John Gruber here, here and here, in which he identifies the problematic clause, explains why Apple included it, and reads between the lines.
- Adobe platform evangelist Lee Brimelow's Apple Slaps Developers in the Face, an impassioned cry for the support of "real developers" everywhere (including within Apple) and ends, even after bowdlerization by his employer, with three words for Apple's executive staff: "Go screw yourself."
- A piece by Daniel Eran Dilger in AppleInsider that suggests that Apple may be more concerned with getting multitasking to work on the iPad and iPhone than it is with killing off Adobe Flash. UPDATE: Dilger on five Apple. vs. Flash myths.
- Developer Greg Slepak's fascinating account in the Tao Effect of his e-mail exchange with Steve Jobs, in which Slepak cites comments like Hank Williams' Steve Jobs has just gone mad, and Jobs responds by pointing Slepak to Gruber's second post, Why Apple Changed Section 3.3.1, which Jobs describes as "very insightful." The central argument of Gruber's piece is this:
"What Apple does not want is for some other company to establish a de facto standard software platform on top of [Apple's] Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage. If, say, a mobile Flash software platform — which encompassed multiple lower-level platforms, running on iPhone, Android, Windows Phone 7, and BlackBerry — were established, that app market would not give people a reason to prefer the iPhone. And, obviously, such a meta-platform would be out of Apple’s control. Consider a world where some other company’s cross-platform toolkit proved wildly popular. Then Apple releases major new features to iPhone OS, and that other company’s toolkit is slow to adopt them. At that point, it’s the other company that controls when third-party apps can make use of these features.
So from Apple’s perspective, changing the iPhone Developer Program License Agreement to prohibit the use of things like Flash CS5 and MonoTouch to create iPhone apps makes complete sense. I’m not saying you have to like this. I’m not arguing that it’s anything other than ruthless competitiveness. I’m not arguing (up to this point) that it benefits anyone other than Apple itself. I’m just arguing that it makes sense from Apple’s perspective — and it was Apple’s decision to make."
Slepak answers Jobs that from a developer's point of view, that makes Apple "evil" in the Google sense of "trying to compete by means other than making the best product and marketing it honestly.” Within 3 minutes he receives this terse reply from "Steve":
"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."
- Finally, TechCrunch's Erick Schonfeld does a good job of putting the latest flap in context with Is Steve Jobs Ignoring History, Or Trying To Rewrite It?
What we have here is a classic battle for the hearts and minds of developers, with Google's Android (a common OS that runs on many platforms) in the role that Microsoft Windows played in the 1980s and 1990s.
Apple attracted tens of thousands of developers to the iPhone/App Store platform and made some of them rich. Now the company is trying to hold on to that advantage with the iPad and the new inducements in iPhone 4.0, such as its iAd advertising platform. If developers find section 3.3.1 too burdensome -- if they decide can't make a living under its terms -- they will flee to less restrictive platforms.
If enough of them do that, Steve Jobs might even back down.
Apple holds its annual World Wide Developers Conference in late June, and iPhone OS 4.0 will go live shortly afterward. By then we should know which way the wind is blowing.
[Follow Philip Elmer-DeWitt on Twitter @philiped]