Why AIR is Banned from the iPhone: Breaking Down Apple’s Arguments
tl;dr at the bottom …
Background:
Adobe has made moves to allow Flash applications to compile to executable applications for desktop use through the AIR runtime. Adobe announced that Flash CS5 will allow flash applications to compile through AIR to iPhone applications. This would expose worlds of nice API and functionality and ease of deployment to the iPhone stores.
Then, Apple updates its Terms of Service in 4.0 to say that “Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited.” Essentially, this term bars Flash from compiling to the iPhone. This would also theoretically ban other systems like Unity3D and Ston3D from doing the same thing, but the current forecast is that those applications will likely be allowed through while Flash is being targeted.
Now, there has been debate as to why Flash has been banned. The most common response that I have heard is that Apple is afraid that allowing AIR on the phone will lead to the development of too many crappy applications. Steve Jobs himself said “Letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform.”
I have heard this interpreted as FLASH is the concern, not the developers that would use it. That FLASH would not be able to keep up with the standards of the platform and therefore result in applications that rely on libraries that may not take full advantage or performance of the system. Let’s address why this is wrong …
First, going through Steve’s arguments on the recently released post (AIR relevance at the bottom.)
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
So why then is Unity3D likely being allowed through? Why can we trust Unity to keep up with the features of the platform and not Adobe? Ston3D as well? How about even further: What about audio libraries like FMOD? What if the iPhone comes out with 5.1 audio output through an optical cable? Why are we to trust that the FMOD library can keep up with this as well? By this logic, all of these platforms should be banned as well, and they won’t be.
This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.
Unity3D, Ston3D and FMOD all boast being cross-platform. Wii, Mac, Windows, Android, iPhone … all of them can be compiled to through these systems as well. Adobe is not the only player in this field. In AS3, in fact, Adobe actually has shown that it is willing to work with native systems through libraries like its NativeWindows (meaning application windows, not Microsoft windows) classes. They WILL add changes to the API that aren’t necessarily supported on all platforms. Multitouch too, for example, is clearly demonstrated here This is a functionality that will not be available on all platforms, and yet has API exposed for it, giving the developer the discretion to implement when needed. This argument should apply to all third party platforms, and it won’t.
Additionally, Ogre3D is on the iPhone. Ogre3D will NOT change its core components to meet a device standard. Are they going to ban Ogre3D?
Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.
This is a weak argument and is clearly just a jab at Adobe. AIR is not Flash. iPhone is not Mac OS X. There is no reason Adobe should not be trusted to keep up with standards anymore than any other company. I would argue that Adobe, with its power, can certainly be trusted more than any other third party layer.
What does this mean? Steve Jobs is not afraid of the quality of the third party layer. If he was concerned about the quality of the third party layer, he would stick to the ToS and ban FMOD, Ston3D, Unity3D, Ogre3D, and all other third party libraries from his system. What Steve Jobs is afraid of is the quality of the developer at the other end.
From a developer’s standpoint, Flash does such a good job lowering the barrier of entry to develop applications that now anyone can make an iPhone game. Sure, Unity3D makes it easy, gives developers a lot of tools to do things, but more often than not with access to Unity3D comes a sort of experience as a developer. Every new media lab across the country should be equipped with Adobe CS5, meaning any Sophomore in an Intro to Flash class can now try to sell his Brickles clone on the App Store. Steve Jobs doesn’t want THOSE sorts of sub-par apps on the store. That’s what everyone is saying. That’s what Apple is not..
Let’s call it what it is, please.
tl;dr: Steve Jobs is banning Adobe AIR from the App Store because he believes that AIR will make it too easy to make applications and therefore will result in an onslaught of low-quality applications.
Tags: Adobe AIR, App Store, apple, ipad, iphone, Steve Jobs
This entry was posted on Thursday, April 29th, 2010 at 1:56 pm and is filed under Lots of Pulp. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.
8 Responses to “Why AIR is Banned from the iPhone: Breaking Down Apple’s Arguments”
Leave a Reply
You must be logged in to post a comment.





April 29th, 2010 at 2:45 pm
Hey Colin, thanks for the thoughts. I really know 0% about any of this stuff, and I realize that Steve Jobs highlighted the third party layer as his most convincing reason for not allowing Flash, but what do you think about his battery life argument?
It’s probably not as relevant, but I didn’t know about the dramatic differences between resource requirements for hardware and software compiling(semicolon) now I know little more than the fact that a difference exists. That was honestly the most interesting thing to me in his statement, and I was wondering if Juicers had anything interesting to say about it.
April 29th, 2010 at 2:47 pm
I’m extremely interested in seeing if Apple does indeed crack down on the other platforms such as Unity3D, Ston3D, etc. or if they will let them slip through the cracks. In my mind, it’s the most important part of figuring out what is really going on here.
From a developers point of view, I am very frustrated with Apple’s decision. It’s clear to me that they want as much control over the applications available on their devices as possible. It has been clear for quite some time (app store application process, denying lower level functionality in OS X, etc.), but this only helps solidify it.
I am also aware of the simple fact that Apple has the right to do whatever it wants. It’s a company making business decisions which help move them closer to their goals. I’m concerned for Apple that they may be taking it a bit too far.
April 29th, 2010 at 2:47 pm
And every time I said “compiling” I meant “decoding”. Sheesh.
April 29th, 2010 at 2:51 pm
Brad,
That is an argument against having Flash enabled in the web browser, which is a fully different argument.
I am discussing specifically the banning of AIR apps from the App store. An AIR app IS an iPhone app and they will have the same battery requirements based on how they are made / how intense they run.
April 29th, 2010 at 5:28 pm
I agree.
Banning Flash in mobile Safari is, in my opinion, a defensible move. Flash is a CPU hog on Macs; it always has been. Having flash on my iPhone would be the death of the device, both from a battery life, and performance standpoint.
Having said that, there’s little real support you could garner for banning the use of Flash to make an iPhone app.
I do think, though, that your conclusion may be a little off (granted, we can only speculate). I think this is just purely a War on Flash. Steve Jobs wants to eradicate Flash from our lives, and the quicker the better. This means banning Flash (and maybe even Adobe, more generally) from every part of his devices, including the development path. He wants these Sophomores you speak of to learn something else besides Flash in their classrooms (preferrably Mac friendly development tools
, i’m sure).
That, i think, is the crux of it.
April 29th, 2010 at 5:40 pm
The Adobe Creative Suite is one of the more Mac-friendly development tools. Photoshop? InDesign? Flash? Flash authoring takes place on Macs probably more than on PCs.
If this is a war on Adobe/Flash, then let’s just be clear about it. I still believe it is about control over the quality of applications in the App Store, but either way … these are not the defenses I am hearing from Apple. I want to keep Apple and its fan-boys honest.
April 30th, 2010 at 12:33 am
One thing that is tangentially related to this post but I feel is worth refuting is how Steve Jobs mentions touch events and more specifically hover events in his letter.
He mentions that most Flash sites employ the use of “rollovers” to pop up menus or other elements which will need to be re-coded in order to work on touch devices. He goes on to suggest that the work should simply be done using HTML, CSS, & JavaScript instead. He fails to mention the fact that most non-flash based sites also use “rollovers”, AND THEY USE CSS & JAVASCRIPT to accomplish it. These sites will need to be updated to support touch devices just like the Flash sites he mentions. The problem isn’t just with Flash, Steve. Maybe you should take a look at this article before designing the next iPad.
Here’s a fun little example just because I can. I hope you’re not on an iPad!
April 30th, 2010 at 12:45 pm
@Choof
Thank goodness Chrome allows you stop those pop-ups after like, the third time. Shit was driving me nuts lol.
@Colin
Started my response last night, it’ll be up tonight.
In the mean time, some lulz!
http://axian.tumblr.com/post/560040213