Apple blocks Adobe's iPhone 'end around' plans

New SDK license bans cross-platform compilers -- like the one Adobe will unveil Monday

Apple on Thursday banned developers from using rival programming tools, including one from Adobe that was called an "end-around" last year, to create iPhone and iPad applications.

First reported by John Gruber, who writes the Daring Fireball blog, Apple modified the iPhone Developer Program License Agreement to bar programmers from using cross-platform compilers, tools that turn code for other systems, as well as Java-built software, into native iPhone apps.

According to Gruber, the license agreement, which developers must accept before downloading the new SDK, or software developers kit, for iPhone 4, reads:

"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)."

The change is designed to quash developer allegiance to Adobe, said Ray Valdes, an analyst with Gartner. "It's primarily directed at Adobe," he said. "The two have an oppositional relationship that goes back at least 15 years."

Apple and Adobe have been wrangling at ever-higher volumes over whether Flash Player should be allowed on the iPhone, iPod Touch and iPad. Apple has repeatedly claimed that Flash would degrade the performance, with its CEO, Steve Jobs, saying that Adobe's software"performs too slow to be useful" on the iconic smartphone. Yesterday, during a question-and-answer session immediately after the iPhone 4 preview presentation, Jobs flatly rejected the idea that Flash would be added to his company's mobile devices.

Last year, Adobe announced that Flash Professional CS5, the company's top-of-the-line Flash development framework, would include something dubbed "Packager," a tool that takes Flash applications and recompiles them to run natively on the iPhone. At the time, another Gartner analyst, Van Baker, said that Packager was an Adobe "end around" Apple's decision to ban Flash from the iPhone.

Today, Valdes said Apple's language gives developers no real wriggle room. "Apple is clearly saying that you can only develop in C, C++, Objective C and JavaScript, and that you can't translate the code to native iPhone," he said.

Adobe acknowledged the change in Apple's SDK licensing agreement and promised it would move forward, at least for now. "We are aware of the new SDK language and are looking into it," Adobe spokeswoman Wiebke Lips said today. "We continue to develop our Packager for iPhone OS technology, which we plan to debut in Flash CS5."

The company plans to officially launch its Create Suite 5, of which Flash Profession CS5 is a part, on Monday, April 12.

To Valdes, the decision to limit developers makes sense from Apple's perspective, even though it has already riled some programmers. "Clearly, Apple is trying to make sure its platform is the only platform for developers for the iPhone, and that's its prerogative," he said. "But some developers are finding this odd, even bizarre, and will have a negative reaction. Apple, of course, is counting on the fact that most developers may not care."

A development lockdown like this on a general computer platform, say Windows or Mac OS X, would certainly raise a ruckus, Valdes added. But it's in line with the control game console makers once maintained over their developers. "It's not without precedence for gaming platforms," said Valdes. "Nintendo once not only approved every game, but in some cases actually inspected the source code."

Flash Professional CS5's Packager isn't the only development framework now out in the cold. Others, such as MonoTouch, which compiles C# and .NET apps to create native iPhone software, will also be banned, both Valdes and Gruber said.

Mountain View, Calif.-based Appcelerator, meanwhile, is wondering what the news means to users of its flagship Titanium platform, which lets Web developers create native iPhone, iPad, Android, PC, Mac and Linux applications using JavaScript, HTML and CSS.

"Since iPhone 4 is still in beta, both the APIs and the Terms of Service are covered under NDA [non-disclosure agreement], so we cannot speak to specifics or Apple's intent with its proposed language," said Jeff Haynie, the CEO of Appcelerator, in a post to the company's blog yesterday. Haynie held out hope, however. "These terms are subject to clarification and change by Apple up through its official launch, which looks to be mid-summer. Until iPhone 4.0 is actually released, we will work with Apple to ensure that we abide by any updates to its Terms of Service, just as we have done successfully in the past."

An Appcelerator spokeswoman declined to comment beyond Haynie's blog posts.

"Some people were unpleasantly surprised by Apple's decision," said Valdes. "They view Apple's development platform as one that has its own set of problems that were addressed by others, whether it was Ruby or Python. Now they're going to have to recalibrate their thinking. Some will find it repugnant to be asked to give up this level of control.

"And I think some will abandon the platform because of it," he concluded.

Apple did not reply to a request seeking additional comment on the SDK licensing language changes.

Gregg Keizer covers Microsoft, security issues, Apple, Web browsers and general technology breaking news for Computerworld. Follow Gregg on Twitter at @gkeizer or subscribe to Gregg's RSS feed . His e-mail address is gkeizer@ix.netcom.com.

Copyright © 2010 IDG Communications, Inc.

Bing’s AI chatbot came to work for me. I had to fire it.
Shop Tech Products at Amazon