Jun 12

Marc Hedlund

Marc Hedlund

XULRunner for the iPhone

There are two current conversations about development platforms that I think deserve a little merging. First, there's a lot of interest in so-called "rich Internet applications" platforms, like Adobe's AIR and XULRunner. Second, there's much debate over the meaning of this week's iPhone application development announcement, that iPhone apps will be written in HTML and Javascript, just like any other Safari page.

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.

On the other hand, just HTML and Javascript is too little, for all the reasons Jesus mentions. An "application" which is just a web page with a home-screen button that acts like a bookmark isn't really an application for the iPhone -- it's an application for the web. And here's where the wait and see comes in; what interfaces, if any, will the iPhone Safari have to the rest of the phone? It sounds like making calls is one of them, which is great. What else? What else will people want? I suspect that the real and right desire is to connect all of the capabilities of the iPhone to the Internet. That's not going to be in the 1.0 release, I'll bet, but I also bet that by opening this door, Apple is acknowledging the demand, and from that can come a lot of good.

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.

tags:   | comments: 8   | Sphere It

Previous  |  Next

0 TrackBacks

TrackBack URL for this entry: http://blogs.oreilly.com/cgi-bin/mt/mt-t.cgi/5598

Comments: 8

  Kelly Sutton [06.13.07 03:14 AM]

I will try to remain civil in this post. I air more on the side of Jesus Diaz of Gizmodo in this argument. All signs seem to point to the fact that AT&T wants to profit from any use of the iPhone, i.e. preventing users from installing Skype or a similar application. Fair enough, but an industry that relies upon denying or witholding capabilities is not liked one. (Anecdote warning) It seems like very few people like their cell carriers for this and other reasons.

Not providing an SDK is really a shot in the foot. It would have been nice to be able to develop iPhone applications with a better-by-the-day environment (XCode) but instead developers have been relegated to web development. Blah.

Another problem I've heard circulating is the speed of Javascript. Even speedy computers sometimes slow down on simple Javascripts applications like Lightbox. The iPhone is still a phone as far as overall computing power.

But I am hoping and praying that someone discovers that it's easy to "hack" the iPhone in some way or another. Apple seemed to make that "mistake" with the new Intel machines and then released a beta of Bootcamp. Maybe Apple just will wait to tell AT&T, "Look. We can't prevent people from doing this, so we're going to give them the SDK." I can only dream.

  Xavier [06.13.07 03:21 AM]

What you say about XULRunner makes me think of Antoine Quint's presentation at XTech 2007 on how Joost use the Web standards for their project. If the iPhone gets powerful enough, Safari may well become sufficient to also run Internet-Powered TV. Once it supports SVG, I mean (see WebKit SVG status).

  Razib Ahmed [06.13.07 06:39 AM]

Do you think that Safari will gain more users because of iPhone?

  Carl Malamud [06.13.07 08:02 AM]

I think dashboard widgets is probably closer to what we're going to see than xulrunner. You're not going to put together a full application with this kind of tool and you can call it an sdk if you must, but it is more than just javascript plus html.

  Swashbuckler [06.13.07 11:24 AM]

I suspect that the real and right desire is to connect all of the capabilities of the iPhone to the Internet. That's not going to be in the 1.0 release, I'll bet


Well, that's for sure considering that the iPhone only supports EDGE and not 3G. EDGE is too damned slow.

Many initial iPhone users will be disappointed in the web performance. And Apple will be more than happy to sell them a second generation iPhone that supports 3G.

  Julien Couvreur [06.13.07 02:21 PM]

I agree with Kelly Sutton above. I feel that cellphone companies and carriers are holding back many capabilities and opportunities. The iPhone showed some potential to open some doors, but the "no SDK" annoucement shows that the potential is limited.

In terms of Safari support for iPhone capabilities, the ones that are offered (click to call, click to map, ...) are extremely basic and certainly not innovative.

Whether or not other capabilities can be exposed to Safari over time, the same way that Flash provides APIs for webcams and microphones, remains to be seen.

In other words, even if the iPhone had a XUL Runner on it, you would still need a number of XPCOM components to be provided to expose the various sensors and features (local storage, connectivity,...) of the device.

  stephen o'grady [06.13.07 08:00 PM]

@ Kelly Sutton / @ Julien Couvreur (hey Julien ;): gnerally speaking, i concur that carriers here in the US are far too shortsighted in their obsession with controlling every aspect of the platform.

of the carriers, however, Cingular (now AT&T) has historically been one of the more lenient. my last two phones (LG CU320 and Nokia N75) have had precisely zero of their capabilities limited by the manufacturer, and this post itself is actually coming to you via the N75 being used as a modem.

not that AT&T is perfect, or above reproach, but i'd urge you to keep an open mind. they're light years from Verizon in that respect.

@marc: first, thanks for the kind words - much appreciated. more importantly, i agree. there are justifications - and room - for multiple approaches to the web.

  Seth Corduan [06.14.07 08:17 AM]

The few blogs and posts that I've seen seem to miss the point of what's going on here, although this post seems to get the closest. Reliance on Safari to write iPhone apps is going to press developers away from their tendency to write a nitch app (iPhoneCalendar) and write a globally available app.

Look at this simple emerging app, for instance:


A more fully developped app like this could almost single-handedly cause me to buy the iPhone. It sounds silly, but consider the following scenario:

I do most of the grocery shopping for my family, as it's on my way home from work. Of course, while I'm at work, I'm not looking in the fridge to add stuff to my shopping list. So when I'm at home I need to write the list. But, the list is with me, so what happens when my wife needs to add something to the list? We're out of luck. This leads to frequent phone calls simply trying to sort out what needs to be on the list. However, with an app like the above, plugged into a database, my wife and I can simultaneously maintain the list that I will be accessing with my iPhone. And all this is from web development. Add in the port of Safari to windows and you begin to see what Apple is offering, and in a way, forcing. The iPod/iTunes combination brought Apple domination across the industry. An iPhone/Safari/YourApp combination provides the opportunity for a developer to write borderless apps without trying to switch skillsets. This has huge potential both for the developers and for Apple to dominate emerging markets.

Post A Comment:

 (please be patient, comments may take awhile to post)

Type the characters you see in the picture above.