The Runtime Wars (Aka XULRunner's Exaggerated Demise)
“I keep telling people that Firefox is just a measly stub built on XULRunner, but they don’t believe me. They claim that Mozilla stopped supporting XULRunner and I’m telling lies.”
This comment was made to me by Benjamin Smedberg, who is the driving force behind XULRunner, Mozilla’s platform for building portable, web-enabled applications. Obviously the remark is largely tongue-in-cheek (and in fact “measly stub” was my own joking characterization), but there is a kernel of truth to what he says. To understand why, some background is in order.
The original architects of Firefox were impressively visionary in building their browser on top of a general-purpose framework that has helped them to manage the complexity of deploying a sophisticated product on dozens of different operating systems. This platform is so powerful that other companies have decided to build their own applications on top of it. Prominent examples are Songbird, Joost and Miro. Benjamin has done a great deal of work to take what used to be the pile of stuff that makes Firefox tick and turn it into a product in its own right: XULRunner.
The current confusion has stems from a blog post written by then CEO Mitchell Baker last May. In her defense, Mitchell devotes the vast bulk of the piece to explaining that Mozilla is planning to continue supporting XULRunner in a variety of ways, particularly as the foundation for Firefox and as a platform that other software developers can use for their own apps. But many seem to have latched onto the last section, where she says that “the Mozilla Foundation does not plan to invest in a pre-packaged or stand-alone XULRunner at this time.” In the game of telephone that is the technology press, this was apparently communicated as “we’re discontinuing XULRunner”.
In reality, nothing could be further from the truth. Benjamin is referring to what is doubtless the least understood but most significant of many exciting innovations in Firefox 3. Previous versions of Firefox used the XULRunner source code but couldn’t share it with other apps at runtime. The upcoming version ships with a complete XULRunner runtime, and actually lets you turn Firefox into XULRunner with a simple command line switch.
This is important because the browser wars are evolving into runtime wars. Players like Adobe and Microsoft are trying to convince software developers to build on top of their RIA platforms (AIR and .NET/Silverlight, respectively). Programmers are understandably wary of doing so if users will have to download a hulking runtime just to use their applications. This is one of the key factors that has prevented Java and previous incarnations of .NET from gaining widespread penetration on the desktop.
The only company that’s been really successful thus far in getting its runtime onto users’ desktops is Adobe, whose Flash player has achieved something approaching ubiquity. It’s a safe bet that they are planning to leverage this installed base to push the AIR runtime, and in fact I made precisely this bet with another Mozillian, Mike Shaver, who will be paying me 100 euros if Adobe finds a way before the end of 2008 to sneak AIR onto surfers’ machines when they upgrade to a newer version of Flash. (And if anyone from Adobe is reading this, there’s 50 euros in it for you if you can make this happen.)
The player with the strongest cards, however, is Mozilla. Unlike Adobe and Microsoft, they have a true killer app in the form of Firefox. When its 150 million odd users upgrade to Firefox 3, they’ll be getting XULRunner as a surprise bonus. This will seed the market and make it a whole whack easier for software developers to deploy XULRunner-based applications. Right now people are focused on the “awesome bar“, a slimmer waistline and other cool new additions planned for Firefox 3, but the platform it conceals under the hood may turn out to have the most revolutionary impact.
« New Version of Flock in the Pipeline - AIR, Flash and Self-Fulfilling Prophesies »