Apple is the Gatekeeper. Are you the Keymaster?
Sunday, April 11th, 2010
Disclaimers: I don’t have an iPad yet (I ordered the 3G version), and I’m not officially an iPhone developer in that I haven’t made or sold any apps yet. This does not, however, keep me from posting my opinions on both from the perspective of someone who is looking to create and design apps for the iPhone and iPad.
If you’re a web or Flash developer (or a concerned publisher), you’re probably wondering “Why is Apple shutting out Adobe? Why isn’t it allowing Flash on the iPad?” Some publishers have already gambled and hitched their horses to Adobe AIR in the hopes that it will allow them to transition to app-building without making a dramatic shift to hiring Objective C and Cocoa developers. With their recent release of the iPhone OS 4.0 SDK beta, in section 3.3.1 of the iPhone Developer Program License Agreement, they explicitly state “that applications must be written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine” (see @gruber’s excellent redux). This strikes directly at the heart of Adobe’s CS5 release which promised the ability to author in an environment many designer/developers were familiar and comfortable with (Flash/Flex) and export to iPhone or iPad applications, something many people (myself included) were very excited about.
What happened? Why did Apple shut this route to app-ification down?
My take on it is that now that Apple’s gotten deep into the mobile computing business, it’s started to care a lot more about how applications are written, because how they’re written seriously affects how well and efficiently they run. And mobile computing is all about ruthless efficiency, like engineering for space travel. If your application (and then your phone) grinds to a halt because of some unidentifiable memory leak (I’m using “memory leak” here as a euphemism for “poorly written code that makes a program run sub-optimally”), and you need to make an emergency phone call, you’re ditching your iPhone right then and there.
The same “memory leak” might be happening right now on an application you’re running on your desktop (either a Flash SWF in your browser or some other desktop application) but because of the huge RAM and memory sizes of most desktop computers, these leaks take a lot longer to become noticeable. (I’m talking out of my ass here but correct me if I’m wrong.)
Another way to look at it is that when you use a “meta-framework” to author in Flash/Flex and export to iPhone, you’re depending on Adobe to create the proper hooks to tie into Apple’s Touch APIs, and the assumption with these meta-frameworks is that you don’t really care what’s going on under the Apple hood; you just want to “drive the car” so to speak. What Apple is saying, to put it bluntly, is “You need to care about what’s going on under the hood if you want to make apps for the iPhone/iPad.”
As @gruber points out, “We’re still in the early days of the transition from the PC era to the mobile era,” and it looks like Apple is taking this opportunity to enforce standards and best practices on their mobile devices by a) making app developers use their tools and APIs and b) strict gatekeeping during the app submission process before releasing them to the App store. It’s tough love, and some people are going to get hurt. Some people will have their feelings hurt (Flash developers), and others are going to have their businesses hurt (MonoTouch, Adobe, and it’s also looking like Flurry/PinchMedia and other analytics companies are going to get shut out).
Big Questions: What about Google/Android? Will Apple’s benevolent dictatorship win out over a messy but open democracy?
For more reading on this subject, check these excellent articles:
- Apple’s prohibition of Flash-built apps in iPhone 4.0 related to multitasking from AppleInsider
- Daring Fireball on Why Apple changed Section 331
- Steven Johnson’s column on How Apple has rethought a gospel of the web
Category redub | Tags: Tags: iphone ipad apple adobe,