interpolating the platform

Mark blogged about the new Firefox -app switch, which I think is a pretty interesting thing. Of course, it’s not a substitute for XULRunner, which gives the application developer complete control over important things like the update cycle and process, and it’s definitely not something that we’re recommending people use without a lot of careful study.

This is something that we’ve been asked to provide for quite some time, and even with the tight coupling to Firefox in versioning and launch syntax I think it’s going to be a valuable addition to the repertoire. Here’s how I now see the platform spectrum for our technology:

  • Web applications. If you can do it here, you should. We’re working with other browser developers to develop and standardize new web-platform capabilities all the time, because being able to put your app in this bucket brings a ridiculously large number of benefits for users and developers both. With webrunner you’ll have a way to give users an optional desktop-launch experience that they may be more comfortable with, even.

  • Firefox extensions. There are thousands of them that have been able to build great experiences (and, in some cases, great businesses) with products that are tied to the Firefox maintenance-update rhythm, and we’re seeing more great stuff all the time.

  • Firefox “-app” apps. This is a nice little hybrid where you are still coupled to the Firefox update cycle and so forth, but get more isolation from the browser process and end-to-end control over the UI. As Mr. Finkle said, this is a sharp tool with its handle loosely attached, so please use care when using it. If extensions aren’t suitable for your project because of the update cycle model, then this very much won’t be either. For prototyping, or some extension-like uses, it’ll be killer, though. (I like that the apps are started with “firefox -app”, because it’s another hint that the thing you’re doing is dependent on Firefox, and that changes to Firefox could hurt it. I think it would be more confusing to have it be called “apprunner”, f.e.)

  • XULRunner apps. I need say little more on this topic; Joost and Songbird and Komodo and Miro and…yeah.

By no means do we expect, recommend or condone XULRunner-grade apps being moved to this model without extreme care, but a lot of people building such apps, especially smaller ones, have been asking for a way to piggyback off Firefox’s awesome update story while still having their own top-level chrome.

no comments to “interpolating the platform”

  1. entered 24 August 2007 @ 4:41 pm

    following up on webrunner…

    Mike Shaver has a great blog post up today that I think goes a long way to clarifying the Mozilla platform story. All that, and it’s less than 500 words long. Do read this…….

  2. skierpage
    entered 24 August 2007 @ 7:01 pm

    I’m using -app to load little test XUL apps to see if bugs are in Firefox builds or the underlying toolkit. Also it’s a great way to start up a “clean” browser instance while FF continues to run, to see if a browser problem clears up without your extensions and profile loaded.

    I realize there’s a risk if big XUL projects tie into the Firefox platform upgrade, but I would love to see more Mozilla-based apps provided as simple XUL packages. Fewer runtimes, fewer EXEs to install and uninstall, less disk usage, and less runtime memory usage through shared code (I think?).

    XUL-based projects could offer a “Download SuperApp as XULRunner (Smaller download) Use this if you have Firefox 3 installed and you’re familiar with XUL applications”.

    Then should Firefox version change, the code could report a friendlier “SuperApp needs a version of the Mozilla platform between 1.8 to 1.9.1, but your Firefox is at 1.9.2. Download the appropriate platform code from to continue …”

    Anyway, great stuff! I

  3. mawrya
    entered 24 August 2007 @ 10:12 pm

    Mike –

    Thanks for laying things out clearly. I feel enlightened. Of course now I have all these shiny platforms and need to pick one. It would be great to see something on MozDev along the lines of a choice matrix that helps you choose what would be best for your situation – you know a comparison of pros and cons. Everyone’s different of course, but it would at least point you a general direction. Basically what you have but more pros/cons to consider.


  4. entered 24 August 2007 @ 11:49 pm

    WebRunner, XULRunner…

    WebRunner, XULRunner: Seems like Firefox 3 can be passed an initialization file when started by command line, with the result that it starts up as your interface, rather than the viewer’s normal Firefox layout. Mark Finkle has the source post here. …