One of the biggest questions surrounding the iPhone since its January preview was whether developers outside of Apple would be able to create software that would run on the phone.
And just two weeks before the iPhone's June 29 release, Steve Jobs stood on stage at the Worldwide Developers Conference and told software makers that Apple had found an answer: a "sweet" way to support outside iPhone development.
Unfortunately, if you're thinking that Apple really addressed third-party development in Steve Jobs' keynote, you'd be wrong. While many people - including myself - have clamoured for support for widgets and applications, this week's announcement actually did nothing at all to address either issue. Instead, it told developers that since Safari on the iPhone is a full-fledged web browser, they can use Ajax and CSS to make nice, pretty web-based applications.
Now, don't get me wrong, you can do quite a bit with Ajax and CSS, as the demo of an Apple-created address book lookup tool showed. However, tools created using this solution are not true applications, as compared to the other programs on the iPhone. For instance, you can't tap on the program to launch it. There won't be an icon on the iPhone's screen, next to Apple's icons.
Instead, to run one of these web applications on your iPhone, you'll have to launch Safari, then either visit a URL or select an already-bookmarked entry from your Bookmarks list. You can't use them in places where there's no internet access - on an plane, for example - as the net will be required to connect to the program's URL. And we're two weeks from launch and we still have no idea how much the data plans will cost in the US (nor how they'll be structured) for the iPhone. If the plans include monthly limits, then each time you run a third-party application - even if that app doesn't really need to use the internet for any reason - you'll eat up some minutes to download and run the program.
For a developer, there's a huge difference between being able to give your users an icon on the iPhone's screen and telling them to load Safari and visit a web page. As a user, the first feels like a ‘real’ solution while the second feels like, well, visiting a web page. And as a user, I know I don't want to have to re-download (especially if I'm paying for it each time) these applications any time I use them. I want them on the iPhone's screen, right there next to Apple's offerings.
There's also the issue of money. Developers who create a program they'd like to sell will have to put it on a password-protected web page - after all, the program is the web page. And that opens up all sorts of security and accounting issues that make the matter more complicated. Even if it all worked, I don't see developers making a lot of money off of what are essentially nicely-formatted web pages.
Finally, there are limits to what can be done, programmatically, with Ajax and CSS. Those limits are high, of course, but I think something like a client for remote access to my home Mac (a program that exists today for my Treo) is going to be darn near impossible to pull off in the browser-only space that Apple has provided to developers.
For the real innovation to be seen, Apple must give developers access to the entire iPhone, not just its browser. I want to see what nifty useful tools developers can come up with when they can, for instance, create apps that use the multi-touch interface in new ways.
To paraphrase a couple of developers I overheard as they were leaving Monday's keynote: "They sat down and worked on this problem of developer access for six months, and all they could come up with was 'create a web page?' I'm not impressed."
While I doubt Apple has spent six months on the issue of developer access - the company has been much too busy working on finishing the phone itself, I'm guessing - I do agree with the conclusion many developers seem to be voicing at this week's conference: I am not impressed with Apple's current solution for giving software makers access to the iPhone.
Just a couple weeks ago, Steve Jobs had this to say about the topic of third party applications on the iPhone: "I think some time later this year we will find a way to let third parties write apps and still preserve security.... We would like to solve this problem, if you could be just a little more patient with us, I think everyone can get what they want."
If Jobs had been referring to Monday's announcement when he made that statement 12 days beforehand, he would hardly have used the phrase "later this year”. The implication here is that this browser-only model is a stop-gap solution, and that there's a more full-featured approach in the works for later this year. Let's hope so.