Apple took the wraps off its iPhone OS 4 yesterday, letting developers and consumers know what major new features would be coming to its mobile platform. One thing the company did not specifically highlight in its presentation, however, was a slight change to its Phone Developer Program License Agreement. What’s different? Section 3.3.1, which now reads in part: “Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited.”
In plain English, this is bad news for developers who were planning to roll out apps to the iPhone using technologies like MonoTouch or Adobe Flash CS5.
The change in the licensing terms appears to have first been called out by Daring Fireball’s John Gruber.
Apple’s iPhone—and now iPad—are famous for not supporting Adobe’s proprietary Flash technology, which is widely used to being video and other interactive elements to the Web. Apple’s no-Flash stance has seriously weakened Flash’s one-ubiquitous presence on the Web: it’s one thing if you have a vast installed base on computers, but if your technology isn’t available on (arguably) the most significant mobile media platform currently on the market, you have a problem.
Adobe had been hoping to work around the no-Flash-on-the-iPhone problem by providing a deploy-to-iPhone capability in Adobe Flash CS5: the idea is that developers could create their applications in Flash without any specific knowledge of the iPhone, then deploy it as an iPhone-ready application essentially by choosing a “deploy to iPhone” command.
Under Apple’s new licensing terms, iPhone applications may only use documented API calls and be written in C, Objective C, C++. Apps may also be written in JavaScript to be executed by Apple’s built-in WebKit engine, which powers the iPhone’s Safari browser.
Apple’s new licensing terms may prove particularly troublesome to Adobe, which had been telling developers they can stick with their Flash development tools and will soon be able to deploy those applications to the iPhone.
However, while industry watchers have no doubt Apple is well aware what Adobe was planning to do with creating iPhone apps from Flash, the move is probably best seen in the context of Apple’s long-term efforts to control its platforms from the ground up: historically, the company feels that maintaining total control of its products leads to creating the best customer experiences…and hence best-selling products. Apple’s new license terms essentially bar developers from implementing a development framework for the iPhone on top of Apple’s own Cocoa Touch and WebKit APIs. If such a framework were to gain significant traction amongst developers, it would essentially seize control of Apple’s iPhone platform…and that’s something the Cupertino company is unlikely to tolerate.