100428_Clarifier

Apple’s embarrassing loss of a next-model iPhone prototype has garnered plenty of media coverage, what with the police seizures and a resurrected  "Are bloggers journalists?" debate. But Apple’s battle with software giant Adobe, while harder for non-geeks to understand, has far bigger implications. It’s about the entire mobile computing market -- potentially billions of dollars. On the surface, this is about Apple not allowing the iPhone run software created in Adobe Flash, a platform for adding interactive multimedia to websites including animation, video, games and, more recently, full-featured applications. iPhone doesn’t run Flash. But Adobe’s newly-released Flash Professional production tool introduces what’s essentially a button  marked "turn this Flash stuff into iPhone stuff". This was to have been a major selling point for Flash Professional. Except Apple just banned it. That’s an expensive slap in the face for Adobe. "Go screw yourself Apple," wrote one of Adobe’s Flash evangelists. But deeper than that, this is all about control of the mobile market in which Apple’s iPhone and its App Store is leader. That’s why Apple’s latest "iPhone Developer Program License Agreement" bans a lot more than just Flash. To explain why that’s important, I’ll have to over-simplify … Developers write software apps in a programming language that is translated ("compiled") or interpreted in real time into the language spoken by the hardware device in question. Different devices speak different languages. To write software that works on different devices, developers have two main choices. One, they write a different version of the software for every device. One for the iPhone, one for Nokia phones, one for phones running Google’s Android system, one for Microsoft’s Windows and so on. As an analogy, if you’re writing a document for an international audience, you’ll need to write versions in Chinese, Spanish, French and so on. Two, they first write intermediary translation software for each device, then they write just one version of the software for that intermediate language and it works everywhere. In our analogy, that’s like teaching everyone to speak English, and then writing one document in English. More work up front, but then it’s far more flexible. Clause 3.3.1 of Apple’s new developer agreement says "Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine … Applications that [use] an intermediary translation or compatibility layer or tool are prohibited." In other words, you can only write in specific Apple-approved languages, and translation is banned. If you want to write for the iPhone, Apple’s way is now the only way. Not Flash. Not any other way. "The App Store platform could turn into a long-term de facto standard platform. That’s how Microsoft became Microsoft. At a certain point developers wrote apps for Windows because so many users were on Windows and users bought Windows PCs because all the software was being written for Windows. That’s the sort of situation that creates a license to print money,” writes  John Gruber, developer and long-time Apple-watcher. The last thing Apple wants is for Adobe to turn its already-popular Flash into some kind of meta-platform for mobile apps. Those Flash apps could run just as easily on BlackBerry or Android or other platforms, giving the punters far less reason to stick with Apple’s highly profitable iPhone. "Apple isn’t just ambivalent about Adobe’s goals in this regard -- it is in Apple’s direct interest to thwart them," writes Gruber. Thwart? Steve Jobs’ open letter Thoughts on Flash posted yesterday reams Adobe a new orifice. Jobs criticises Flash for being a closed, proprietary system, for its poor performance, for its poor handling of touch interfaces and much more. “[IT security vendor] Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash,” he writes. “We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it. Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform?” It’s worth reading in full. “While you’re reading it,” writes Gruber, “think about how little wiggle room the whole thing leaves for Adobe to respond."