I have been waiting for a multi-tasking mainstream phone OS for years because that is what is needed to create really cool mobile communications applications. I have been excited about OpenMoko, excited about Palm Access, excited about a handful of other linux based phone platform announcements. But so far none of these platforms has become relevant or have seemed like they will really gain traction.
About a year ago I became excited about the idea of developing for the iPhone. That excitement waned as Apple made it clear that they were not supporting 3rd party application development. Since then, Google Android has made its way onto the scene and offered a truly open, truly multi-tasking OS that will probably achieve fairly wide adoption.
But in the last few months, the idea of developing for the iPhone became exciting again. Apple announced they were going to offer an iPhone software development kit (SDK) that would allow third party developers to write iPhone apps.
Today, I am mightily disappointed. This morning I read in TechCrunch that iPhone apps will only be able to be run one at a time. No background functionality. No flipping between applications.
Now this may seem like a nit. But it is huge. Communications applications like instant messaging, VOIP, and really anything else where one wants to broadcast information about yourself (like presence) or monitor other events on the network and react to them, are impossible. Perhaps Apple will allow a few insiders to access multi-tasking functionality, but essentially, though the operating system obviously supports it, none of that will be accessible to developers.
The bottom line is I think we are going to see a lot of cool games for the iPhone, and perhaps other types of applications. But as a platform for building communications applications, the iPhone sucks. Damn.