As things stand third party apps on the iPhone suck. Web-based apps which are confined to the browser are not the long-term answer. The problem isn’t really that JS+XHTML+CSS is a crap platform, because it’s not. It’s not perfect, but it’s a grand platform as demonstrated by the glut of Dashboard widgets out there. The big problems with the web only iPhone apps are that you can only use them when you’re online, and they are stuck in Safari and can’t be launched from the main screen. What good is a great third party app if you can’t use it on a plane or if using it abroad will cost you a fortune on roaming data charges?

I have no idea what Apple have up their sleeves, or indeed, if they have anything up there at all with regard to third party iPhone apps. But, as far as I am concerned, Apple have the solution already. It’s a pre-existing part of OS X Tiger, Dashboard. Dashboard widgets are basically off-line web apps. They are written in JS+XHTML+CSS, just like iPhone apps have to be now. But, they are installed on the machine so, when I’m on a plane, I can still use my dashboard widgets. Now, there are much smarter people than little-old-me in Apple so surely someone in there must also have come to the same conclusion? Maybe that’s why they are making developers work on web-based iPhone apps for now. The only way I can make any sense out of that decision is to look at it as a half-way-house on the road to Dashboard-like apps installed on the iPhone.

[tags]iPhone, Apple, Dashboard, 3rd Party Apps[/tags]

When you think about it that makes sense. We know the iPhone was rushed, very rushed. So rushed they had to steal Leopard devs to get it out on time. When you’re that rushed you hack things. The chances are innards of the first iPhone software were a mess. If that were the case then it would make sense to then re-do a lot of that code and do it properly and then release that with a few additions as your first big update. I would hope that that is what the 1.1.1 firmware is.

So, assuming my guess work is still on target, now that 1.1.1 is out there is a stable API for the iPhone. Were I to be the Apple engineer calling the shots on the iPhone I’d now have my people working on creating a dashbaord-like system for the iPhone that presents a JS interface to the now stabilised iPhone internal APIs. I’d develop this system so that it can deliver Dashboard-like apps to the iPhone via iTunes. I’d also build the system so that each app lives in it’s own little sand-box and has strict limits on RAM, CPU and disk usage. I’d add in a mechanism that would kill any third party app that was being too greedy and hence jeopardising the performance of the phone.

There’s no point in re-inventing the wheel. Apple already have a solution for delivering install-able, small, self-contained webby apps, and that’s exactly what the iPhone needs. Surely Apple can see that too?