Adobe slams Apple's plot for 'tyrannical control over developers'

Apple unveiled both its iPhone OS 4.0 and its new iAd mobile advertising effort during a media event last week at its Cupertino campus, but it's news the company didn't announce that's now generating the lion's share of attention. Following the release of the iPhone SDK 4 beta (available for download here), it came to light that Apple updated the terms of its iPhone developer agreement to mandate that all applications must be written to run directly on the iPhone platform, effectively banning cross-compiler translation tools like Adobe Systems' new Flash Professional Creative Suite 5. According to Section 3.3.1 of the iPhone Developer Program License Agreement, "Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)."

While the updated agreement does not cite Adobe by name, the implications are obvious--Apple is lowering the boom on Flash once and for all, prohibiting developers from converting their Flash-based scripts into native iPhone applications. While it is unclear how Apple proposes to enforce the new rules, Daring Fireball's John Gruber notes that iPhone apps produced by Flash CS5 are easily identifiable by inspecting the contents of the app bundle. "This also bans apps compiled using MonoTouch--a tool that compiles C# and .NET apps to the iPhone," Gruber writes. "It's unclear what this means for tools like Titanium and PhoneGap, which let developers write JavaScript code that runs in WebKit inside a native iPhone app wrapper. They might be OK. The folks at Appcelerator realize, though, that they might be out of bounds with Titanium. Ansca's Corona SDK, which lets you write iPhone apps using Lua, strikes me as out of bounds."

On Monday, Adobe Systems announced the launch of Adobe Creative Suite 5 as planned--the accompanying press release acknowledges the current situation, however, noting "users can now build AIR applications using the new Packager for iPhone tool preview, a component of Flash Professional CS5, which can be deployed on the iPhone and iPad (subject to Apple's requirements and approval)." But removed from the niceties of official corporate messaging, a remarkably candid and raw Flash Blog post from Adobe platform evangelist Lee Brimelow confronts Apple's actions head-on: "What [Apple is] saying is that they won't allow applications onto their marketplace solely because of what language was originally used to create them," Brimelow seethes. "This is a frightening move that has no rational defense other than wanting tyrannical control over developers and more importantly, wanting to use developers as pawns in their crusade against Adobe... Speaking purely for myself, I would look to make it clear what is going through my mind at the moment. Go screw yourself, Apple."

It's unclear where Adobe goes from here, although there are rumors it will take legal action against Apple. In the meantime, questions abound, the biggest of which is exactly why Apple is so inflexibly opposed to allowing Flash onto the iPhone platform. The bad blood between Apple and Adobe dates back at least as far as as far as March 2008, when Apple CEO Steve Jobs contended the iPhone requires a media player more robust than the existing Flash mobile solution. Behind the scenes, Jobs is reportedly even more blunt in his criticisms--Wired recently reported that during a town hall meeting with Apple employees soon after the announcement of the iPad tablet device, which also does not support Flash, Jobs dismissed Adobe as "lazy" and added that Apple doesn't support Flash because it's so buggy. Jobs went on to blame Flash as the culprit behind most Mac crashes, and said the platform is facing extinction as the world moves to HTML5.

But Greg Slepak, CEO and founder of Apple developer Tao Effect, wanted clarification on the revised iPhone Developer Program License Agreement, so he emailed Jobs--and Jobs responded, recommending Slepak read this John Gruber/Daring Fireball post titled ‘Why Apple Changed Section 3.3.1' and calling it "very insightful." Gruber's central argument: "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."

Slepak replied to Jobs' email, contending "From a developer's point of view, you're limiting creativity itself. Gruber is wrong, there are plenty of [applications] written using cross-platform frameworks that are amazing, that he himself has praised. Mozilla's Firefox just being one of them." Jobs again responded, this time writing "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." It's clear all the Adobe tirades and developer entreaties in the world aren't going to convince Apple to change its mind--either you play by Jobs' rules, or you don't play in the iPhone sandbox at all. Selling iPhone applications is one thing; selling your soul is another. -Jason