Apple's iPhone lockdown: apps must be written in one of three languages, Adobe in the hurt locker
Apple's already got a veritable novella describing things you can't do with the iPhone as a developer -- create apps that execute their own code is the biggie, obviously, blocking technologies Flash and Java in the absence of a loophole -- but it seems they've locked down the ecosystem just a little further today with the release of the iPhone OS 4 beta SDK. Check out this snippet from the developer's agreement:What does that mean, exactly? Well, it means that technologies like Adobe's iPhone compiler in Flash CS5 won't be allowed, simply because the source code of the app that you're writing isn't in a language Apple's comfortable with. The compiler had been seen as a potential boon for Flash devs that had already been blocked out of the iPhone ecosystem for lack of a true Flash player, but Apple's found a way to block even this workaround -- technically you don't need to be using Apple's own tools, but you've got be using one of three variants of a single programming language. It's hard to say why Apple cares, exactly, but we suspect that the company would have to analyze your app pretty closely to detect variances in how the compiler produced your machine code in order to determine that you'd violated the rule.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).
This could be a blow to publishers -- Condé Nast included -- who'd been banking on Adobe Air to lead the digital push, since those guys presumably won't be able to bring their issues to the iPhone (and, more importantly, the iPad) without violating the terms of Apple's agreement. Protectionism is a core element of the iPhone's success, in Apple's view -- but ultimately, this might come out as a decision that's difficult to defend, unnecessarily sours publishers to the platform, and turns Flash devs' heads just a little grayer than they already were.
























@mackswift Very well said. I couldn't have done a better job explaining the comparisons and short comings.
What does this mean for the MonoTouch project?
@DXJ -- bad news.
Mono is used to the idea that they could be snuffed out by MS at any moment, but this was probably an unhappy surprise.
OTOH, they should still be able to support app developers who target Win7 phones and want to run on other platforms. Or to target MacOS apps.
Fapple
This is great ".... Flash is buggy, slow, and a CPU hog; but on a Mac and its OSX. And that's because Apple won't allow Adobe access to specif APIs and driver calls to Nvidia's GPUs. "
Pull your products Adobe, terminate licences, update so they cannot use any flash on any Mac, and make sure that Mac users know that Apple is the one restricting the customers internet usage.
What other leverage have you got?
Mac users will be in uproar.
Hey Adobe and Mac users, how about a law suit against Apple, one that would detail Apple's crippling of internet usage on it's "INTERNET DEVICES"?
@iPaul -- Flash is not slow on other smartphones / ultramobiles because there ain't a single smartphone today that can run it within the performance envelope of a 500MHz CPU and 256K or less RAM. Even the Nexus, with 2X/4X those specs, has produced only a "technology preview" of Flash.
.
Jobs's hating on Adobe notwithstanding, the truth is that nobody else has figured out the formula for Flash, either.
.
Not Microsoft, whose Win7Phone will be Flash-free on release; their most powerful MS OS 6.5 now available has been declared unsuitable by Adobe.
.
Not Palm, which is still awaiting the beta to turn into reality, and which risks having the introductory phones look under-powered.
.
Not Blackberry.
.
Not any of the Android version 1 phones, by Adobe's decree.
.
Hate on Apple all you like, but despite Adobe working furiously to put Flash onto ultramobiles, it just hasn't happened. Apple's problem is they called Adobe on their happytalk. Rude.
@WaltFrench got flash working fine on my 5yr old old Win Mo 5.5 , Samsung i730. touch screen and flash working fine thanks
Apple are conspiring with Google, that's the truth with HTML5 against Adobe.
Flash works fine. Thanks.
all this flash talk and not a word or two about YOUTUBE and how a top5 website cannot be accessed by the iPad.
All this Flash talk and no mention of how this policy is completely insane!
There is a very popular framework for making games on the iPhone: Unity3D. It uses Mono, and it looks like Apple is just giving it — and its shit-ton of users — the finger.
For perspective, many chart-topping apps are made with Unity. I guess the thing Apple has to be afraid of is that these can be ported to other platforms really easily, which means they can't lock in developers.
What happens to all those awesome apps made with Unity? What happens to Unity iPhone itself, which is a tremendous source of revenue for a harmless small company? What about people who have actually invested time and money building decent applications with Unity and won't be finished with them for the next month or so, because they care about quality?
Bloody Apple…
@Picklesworth This is nothing but a huge lockdown and money grab by Apple. Not only do you lock down everything from the hardware, software, and SDK/programming language; you're locking down the apps and developers. I wrote something similar on the ZDNet forums (and the Apple fanois attacked in droves). Basically, if you make an app for the iPhone; Apple does not want you to make the same app for Android, WinMo, Palm, etc. No double dipping for you!
Something similar happened with the record labels making some 'exclusives' with Amazon MP3. Jobs got pissed and sent letters and warnings to those labels and threatened to pull iTunes supports for those songs.
Ars Technica has a great write up on this whole mess. Endgadget also has a great write up about something else. There's rumors of an HTC/Palm merger. Imagine HTC getting a hold of Palm's patent portfolio regarding all things touch/swipe/mobile/PDA and firing right back at Apple?
It's only a matter of time. HTML5 will take over.
It's weird that people treat this as a dick move by Apple when they're actually fighting for an open, standards-based Web experience.
Adobe have a monopoly over RIAs with the Flash platform and Apple (along with Google and others) are trying to make the Web more accessible to everyone, both from a user and a developer standpoint.
Also, keeping Flash developers from flooding the AppStore with meaningless applications written in Flash and inefficiently ported to ObjC seems like a great move.
I'm all for HTML5 and a Web without proprietary platforms. If Flash devs stopped whining and started adapting to what will certainly be the future Web standard, we wouldn't be having this discussion.
Keep going, Apple/Google/whoever.