I'll take the fall here: Yesterday I went on and on about how much I liked Apple's iPhone SDK, how it would go far toward "cementing the iPhone as the leading mobile platform." But after I published my paean, programmers looking into the system found several major restrictions. So now I'm changing my tune: The SDK is plainly important. But it's probably not yet revolutionary.
An SDK, as you'll recall, is a software development kit; it allows outside programmers to create applications for the iPhone. Apple released a beta version of the SDK yesterday. The programs that developers create with it will be available on iPhones in June, when Apple updates the phone's software.
But at its launch event yesterday, Apple failed to mention several key restrictions on the programs that outside developers can build. Wired's Scott Gilbertson and TechCrunch's Mike Arrington go over them in detail this morning. Several restrictions look like security policies -- i.e., they're put in place so coders can't create programs that damage the phone -- but a few look dubious, and will likely constrain developers' ambitions.
The worst restriction prevents developers from creating any "background processes." This means that your application can only work when the user has it on the screen; if an iPhone user switches to another application -- to write an e-mail or answer the phone, say -- your application will quit.
This precludes many possibly great programs. Instant-messaging apps, for instance, stay on in the "background" most of the time, listening for incoming messages -- you only switch to an IM app when you want to read someone's message. Or, to quote Arrington, "say a developer wanted to take location information from the iPhone (created via the iPhone's cellular triangulation feature) and dump it into FireEagle to keep track of where you've been." Such an app could only work if the user kept it open at all times -- or, in other words, it couldn't work at all.
Gilbertson points to another restriction that prevents any application from launching any other "executable" code. The rule explicitly prevents programs from using a "plug-in" architecture -- which disallows apps like Photoshop and, importantly, Firefox, whose main benefit is the thousands of helper apps that developers have created for it. If Firefox ever gets to the iPhone, then, it'll be crippled.
In time, Apple may lift some of these rules. It was a big step for the company to let in outside apps -- maybe they're just moving slowly down the path to full access. Not too slow, let's hope.