iPhone developer rules rewritten to block Adobe tools


Coinciding with the release of the iPhone OS 4.0 software development kit, Apple has quietly but significantly 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's forthcoming Flash Professional CS5. Section 3.3.1 of the iPhone Developer Program License Agreement, which previously read "Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs," now reads "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 language appears specifically designed to stymie the kind of app translation tools featured in the software firm's Flash Professional CS5 development suite, which promises to convert 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."

The Wall Street Journal reports Adobe is aware of the iPhone Developer Program License Agreement update and is presently looking into the situation, adding the company will proceed with Flash Professional CS5 as planned. Apple did not respond to a request for comment.

The license update is the latest chapter in the ongoing skirmish between Apple and Adobe, which dates back at least 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. That's almost complimentary compared to what Jobs reportedly had to say about Flash during a town hall meeting with Apple employees soon after the announcement of the iPad tablet device, which also does not support Flash--citing a source in attendance, Wired reported that 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 that the platform is facing extinction as the world moves to HTML5. Asked during Thursday's media event whether Flash will come to the iPhone anytime soon, Jobs succinctly replied "Uh, no."

For more on the iPhone developer license update:
- read this Wall Street Journal article

Related articles:
After Apple's iPad snub, what now for Adobe Flash?
Jobs: Adobe Flash not good enough for iPhone