Same problem, different device. The problem is this: what capabilities do you want in an Internet-age application platform?
I’m a big proponent of XULRunner for desktop applications. It’s my opinion that many of the applications we all want to write and use these days need to consume a wide variety of content from the web. You can script together a single-site or limited-scope solution with something like Perl’s WWW::Mechanize, but if you want to deal with arbitrary web content, it’s hard to beat what XULRunner provides — namely, all of the capabilities of Firefox in a development platform. Stephen O’Grady has a fantastic write-up on this topic, and RIA platforms generally, which I highly recommend.
And yet, I’ve argued very strongly for third-party apps on the iPhone. I was left a little befuddled by this week’s iPhone news, unsure whether to cheer with my friend Jason Fried, who calls the move “bold” in his piece, “iPhone SDK: It’s called Safari,” or to be dismayed like Jesus Diaz at Gizmodo, who writes a righteous condemnation of the announcement in, “No iPhone SDK Means No Killer iPhone Apps.”
As with all things Apple, we’ll just have to wait and see. I’m inclined to agree with Jason that Apple has made — for whatever reasons, expedient or prescient — the right philosophical decision about how iPhone apps should be developed. Building apps on top of a web browser is the right call for all of the reasons described above. iPhone apps are going to want all of the capabilities that Safari can provide.
Bring the web to whatever device I’m using. And then bring the device to the web. That’s the mantra for the web application development platform debate — no matter the device. I’m encouraged by XULRunner and encouraged by Apple’s move, and I think the common solution these two imply is the right one.