iPhone SDK: The carrot for Cocoa, the stick for Flash

Apple has a problem. How do they attract and keep developers on their platform? They created an Apple-only API that requires a variant of C long thought dead. Developers aren’t so keen on having to learn a new programming language that doesn’t give them any advantage over their existing ones and ties them to a platform with a tiny market share. It means re-using code across platforms becomes nearly impossible. It’s just not an attractive prospect. The impromptu surveys done from the stages of the Apple World-Wide Developer Conference continuously surprise the Apple employees that most of their developers prefer to write in C++ even as Apple tries to marginalize it.

So, first Apple announces all these ObjC-only APIs, like Cocoa, Core Animation, etc… They get some converts on some new apps, but mostly the developers ignore the APIs and demand C++-compatible versions (which Apple promises they will never get).

Then, at WWDC 2007, Steve announces that the world of 64-bit is here and tells all Mac developers that it is their duty now to port all their apps to 64-bit. Just as he demanded they embrace Intel and OS X before it. A short while later, Apple announces quietly that it will not support Carbon for 64-bit. Basically, Steve tells the Apple developers that have supported him the longest, “screw you. You do as your told. I’m in charge here.”

Now, if you are an Apple developer, or an aspiring Apple developer, the world of RIAs is getting pretty attractive around this point. It let you step off the Apple crazy train and also embrace all the folks on the iPhone, Linux and Windows too. Plus, the technology around RIAs has grown pretty mature. Soon, you realize that doing this all in HTML is kind of pain in the ass. If you can get it to look right in one browser, it looks crappy in another. You spend all your time fixing your CSS or javascript and very little of it writing code. Something like Flash or Flex start to become pretty attractive. You can get your whizzy UI and not have to sweat the cross-platform or cross-browser problem. Then comes AIR, even better! Now you can have the web experience and desktop experience identical, plus it works when you are offline! Apple hates this.

Apple (and Microsoft for the same reason) wants you locked into their platform. Apple can’t try to kill Flash (a la Silverlight) because they don’t have the adoption (or money) to make it happen. But they can use the iPhone. It’s the coolest device around, the herald of a new class of computer devices, and it doesn’t run Flash. Then, just before the iPhone SDK announcement, Steve comes out and trashes it. Then they announce the iPhone SDK. Anyone see through the BS a bit? “Hey our phone isn’t powerful enough to run a web banner ad, but we can run Spore!” C’mon.

The iPhone SDK looks neat, but Cocoa and ObjC only? That sucks. I’d way prefer Flash or even Java support, at least that way I could release a mobile app with a desktop version that shares some of the code.

Related Articles:

2 Replies to “iPhone SDK: The carrot for Cocoa, the stick for Flash”

  1. Kevin, you have been eating at the Adobe commissary for too long. Flash and FLEX are yet another lock-in proprietary platform – they are not the Web. The future is standards-based Web applications – yes, even on mobile. Look into your heaart. You KNOW it to be true.

  2. You have a valid point for a different discussion.

    I wasn’t making claims for the openness of Flash in this post. If I was, it’d be a silly comparison against the iPhone which is about as open as a bank safe.

    The iPhone tried the standards-based Web applications route, that didn’t go so well. In the world of the standards committees :), it must seem so obvious. Down here where the rubber meets the road, trying to make a consistent user experience across all the different flavors of web browsers (mobile or desktop) is like sticking hot pokers in your eyes over and over.

    Also, I’d love to see a standards-based web application version of Spore…

Leave a Reply

Your email address will not be published. Required fields are marked *