The Mozilla world is abuzz with emotional statements about the fate of XULRunner, the technology stack Firefox is built on, in particular as a reaction to Mitchell Baker’s post on the topic, and Chris Messina’s video rant.
Gerv Markham has a great point I’d like to riff on:
Whether “the open web is the platform” or “xulrunner is the platform” depends on what fight you’re in for. If your aim is primarily to build a platform for “rich internet applications”, then, sure, XULRunner (XR for short) could be turned into a “contender” of a platform. From a technical point of view, the XR stack is a pretty decent cross-browser development framework, in the sense that people can and do ship great apps built on that stack. People keep mentioning the recent entrants Joost and Songbird, but we’ve been doing it for for the larger half of a decade (see this quaint release from eons past). It can be done. Today.
In terms of making XR a contender for a much broader class of users, I’m sure that the folks at Joost and Songbird would agree with me that there’s a lot of work to be done! To make XR as appealing for RIA developers as Flex/Apollo or Silverlight, you’d have to solve two very different classes of problems. The first are nice juicy coding challenges, like a faster runtime, a sexier graphics framework, etc. The second is that for an RIA platform to be compelling, it has to be already installed on virtually all target systems, automatically updated/patched, versioned properly, security-audited, well documented, etc. Those are hard problems which take years of slow market penetration, constant massive investment, and aggressive channel management to build. Macrodobe is there with the Flash installed base after years of taking one beach at a time, thanks to regular folks’ passion for games and tolerance for ads. Microsoft is there thanks to, well, owning the dominant operating system. Mozilla is nowhere near that, and it won’t get there until Firefox is much more widely deployed than it currently is.
However. Even if the features were implemented, and the distribution challenge were solved… Making an RIA platform is not what’s driving Mozilla. That, as hard as it is, is too modest a goal. Mozilla has signed up for a bigger fight, described in the Mozilla Manifesto, which people don’t talk about as much as they should. I’ll repeat the Principles section here:
- The Internet is an integral part of modern life–a key component in education, communication, collaboration, business, entertainment and society as a whole.
- The Internet is a global public resource that must remain open and accessible.
- The Internet should enrich the lives of individual human beings.
- Individuals’ security on the Internet is fundamental and cannot be treated as optional.
- Individuals must have the ability to shape their own experiences on the Internet.
- The effectiveness of the Internet as a public resource depends upon interoperability (protocols, data formats, content), innovation and decentralized participation worldwide.
- Free and open source software promotes the development of the Internet as a public resource.
- Transparent community-based processes promote participation, accountability, and trust.
- Commercial involvement in the development of the Internet brings many benefits; a balance between commercial goals and public benefit is critical.
- Magnifying the public benefit aspects of the Internet is an important goal, worthy of time, attention and commitment.
Ensuring the health of these principles is Mozilla’s driving force. I like these principles. They concisely state why I have learned to care about the Internet and its human-readable face (the web) ever more deeply over the years.
Notice the absence of any mention of RIAs. Notice the number of times the Internet is mentioned.
This fight that Mozilla signed up for is not about fighting over the profitable ivory tower of RIAs (as sexy and glossy as it is), but watching out for the much bigger, messier, and more valuable, Greater Web.
To win that fight, it’s not as important to come up with an offline model for XUL apps as it is to come up with an offline model for plain old web pages. It’s not as important to come up with glossy effects for dialogs as it is to enable the creation of web content that can be seen in a choice of standards compliant browsers competing for users. It’s not as important to optimize the runtime for XUL apps as it is to optimize the runtime for random web pages. Luckily, there will be overlap with the needs of RIA developers. In particular, getting Firefox ever more out there will, over time, allow for a XUL-based RIA story.
Solving the RIA problem can make a company money. Solving the problems of internet apps, whether “rich” or poor, can change the world. Microsoft and Adobe in particular will make lots of money building out RIA platforms and selling them to intranet developers everywhere. But, hopefully, most people won’t be that affected. They’ll be too busy posting on Craigslist, editing Wikipedia, doing all kinds of technologically “simple” things which are actually changing the world, rather than getting sucked into caring about the Jenga-like ever-taller stack-o-technologies which keeps us geeks so enthralled and IT budgets humming.
As a developer/entrepreneur, I have a lot invested in Mozilla’s technology stack, and it may seem foolish to argue against making it the focus of Mozilla’s attention. Indeed, ActiveState puts time & effort towards ensuring the XULRunner technologies’ long and healthy life. I’d even say that we’re likely to do even more in the future, as that platform is becoming richer and more popular all the time (no matter what today’s blogovibes may say). As a human, however, I have a lot more invested in the decentralized, open, and competitive nature of the internet and the web. Firefox’s technology stack could come and go, and us geeks would adapt, rebuild, try something else. Were the essence of the web to go away, everyone would be much poorer for it.
PS: Like everything else on this blog, this is an (overly preachy, I know) expression of a personal point of view, nothing more.
PPS: the above isn’t really a PS since there’s no Scriptum to be Post. But you get the idea.