A narrative on the future of web browsers and web browsing

The Browser Platform Wars

March 4, 2009 – 11:48 pm

I was chatting recently with the founder of a high-profile startup that is making strategic use of Mozilla technology. “People keep telling me that WebKit is the future,” he complained. “Have we made the wrong choice?”

I did my best to reassure him of course, providing arguments that support their choice and pointing him to a blog post by a GNOME developer that gives a fair and balanced assessment of the merits and drawbacks of the two platforms. The truth, however, is that the second wave of the browser wars — the platform wars — is now in full swing, and so far WebKit is winning.

WebKit has decisively chalked up a few early battles. Apple choose WebKit as the engine for Safari back in 2002. Mozilla would have been a logical choice, but those were early days, and even Mozilla insiders say they probably weren’t ready to serve as the foundation for another major browser. Google’s decision to use WebKit in its Chrome browser is more telling. The reality is that, although Mozilla now has a stellar platform, they have made it clear that their primary focus is on Firefox. WebKit, on the other hand, is first and foremost a platform, and as such has an inherent appeal to software developers looking to build their own browser or embed browser functionality.

Well, so what if a bunch of products adopt WebKit over Mozilla? (Flock is the latest to plan a switch, if you believe the rumors.) Firefox is a hugely successful brand, with steadily growing market share that recently topped 20%. And competition in the browser market is a good thing, as Mozillians are quick to point out, and will only serve to accelerate innovation to the benefit of end users.

Mozilla has established principles that imply a custodial role for the internet at large. It is becoming increasingly clear that software that provides some browser functionality (but may not be a browser in the traditional sense) is going to play a bigger role in the future of the web. From media browsers like iTunes and Songbird to single-site browsers like Fluid and Prism, people will be accessing the web via a variety of products in the future. If Mozilla fails to compete effectively in the platform space, it will see its market share decline even if Firefox holds steady among traditional browsers.

This means that Mozilla will be less able to pursue its stated mission. It will be handing control to large corporations like Apple and Google.

Mozilla knows this of course, and they’ve done many things recently to respond to the WebKit threat. The Fennec mobile browser is clearly a huge strategic priority, an attempt to counter the current dominance of WebKit in that space. Firefox’s memory consumption, long a sore spot, has been dramatically improved. And a few individuals have made heroic efforts to make Mozilla more appealing as a platform, rationalizing the code base and rearchitecting Firefox so that it runs on top of XULRunner.

I think more is needed. In particular, I would love to see a reversal of Mozilla’s decision not to “invest in a pre-packaged or stand-alone XULRunner at this time.” This is as much about public relations as anything else. They already offer nightly builds of the platform SDK. (Can we have debug mode though, pretty please?) The platform documentation is so improved it brings tears to my eyes. But hardly anyone outside of the Mozilla community knows about these things. A big loud honking public statement that the platform is being actively developed and marketed, as a product, would in itself be a huge help in getting people to choose Mozilla for their software projects.

The other area screaming for improvement is platform evangelism and developer relations. A funny quote in the TechCrunch story about Flock dumping Mozilla (true or not) cites a “source” complaining that they feel like the “red headed stepchild of the Mozilla development community.” This might seem a bit overboard, but the last open forum I witnessed between Mozilla and users of the platform rapidly descended into a heated shouting match that I thought, for a while, might come to blows.

I don’t want to be seen as airing dirty laundry here. There are tensions inside any developer community, and not all of the complaints (expressed loudly by a few individuals) were fair or reasonable. When I was new to the community, I found Mozilla employees to be exceptionally welcoming and helpful. But I still believe there is a lot of room for improvement. It would be fantastic if Mozilla would appoint at least one individual whose specific role it is to act as a liaison with developers using the platform. A clear go-to person who can help developers to get their patches landed (or explain to them in clear, diplomatic terms why they won’t be) would be invaluable. This person could also help to evangelize use of Mozilla as a platform.

I’m not too worried about Mozilla’s technology. WebKit may be the shiny new toy, but on balance Mozilla stacks up well in terms of performance, stability, standards compliance and features. More to the point, a lot of folks smarter than me are aware of the technology’s shortcomings and are continuing to improve it on many fronts. What is missing so far is clear, public recognition of the strategic value of having a competitive platform.

  1. 28 Responses to “The Browser Platform Wars”

  2. Actually I think it is Webkit and not Mozilla that is in a dilemma here.

    It appears to me that Apple is preventing Webkit from officially supporting a Linux version. If that is not the case then I really don’t understand why there does not seem to be an officially supported Linux version of Webkit.

    By Bill Gianopoulos on Mar 5, 2009

  3. We should compare bears to beers. Webkit is an embedding story, and listening to a lot of “which webkit” comments, on the platform side, it’s loosing against itself. XULRunner on the other side is not an embedding project, but a infrastructure to run programs, mostly on a VM (js and xul, frozen xpcom), plus some hooks for native and unfrozen code.

    As that, XULRunner also has lost the platform war against itself, and folks like Songbird ship their own xulrunner (with gecko mods), and I think that flock does, too. There seems to be some movement in the linux community to get to a limited amount of xulrunner versions, though. Which is fine on linux, as those distributions come with a packaging system with the required dependencies to make that feasible. On the platform that matters to Firefox, though, that system is not available. And nobody out there really came up with a system that’s worthwhile stealing (think java jdk/jre/jwhatevers).

    I think that the recent additions of the NewEmbedding API project are the real answer to Webkit. Give people a good hook to just get their version of gecko up in their native app. And I do think that there’s actually folks feeling in charge of making that story good and happening.

    By Axel Hecht on Mar 5, 2009

  4. Bill: Qt 4.5 ships with WebKit included. The Qt, wxwidgets, and GTK ports are developed alongside Apple’s ports in WebKit trunk. Linux is definitely officially supported, it’s merely not *funded* by Apple.

    The WebKit project itself produces no releases, so it’s up to vendors (Trolltech, the Gnome project, Apple, Google, OmniGroup, etc…) to set release criteria and branch when appropriate.

    By David Smith on Mar 5, 2009

  5. Good analysis, and I agree. The Platform is clearly what can benefit from more exposure and attention.

    Promoting it is will give higher returns in patches than the cost or some PR will be, I reckon.

    By Bram on Mar 5, 2009

  6. Good suggestions and I definitely agree that we should put more energy into evangelizing Mozilla technologies. There are at least some efforts ramping up to do just this. For instance, the Powered by Mozilla effort is aimed at promoting the platform:

    http://www.mozilla.org/poweredby

    I think that just maintaining an up to date list of products that use Mozilla technologies will also help. There are a lot of interesting things going on out there, but it can be hard to find information. I maintain the Featured Mozilla-Based Applications page and am happy to add to the list (feel free to send my email to the person you were talking to if they’re not on the list already):

    http://www.mozilla.org/projects/mozilla-based.html

    There’s certainly more we could do, so please keep posting good suggestions.

    By David Boswell on Mar 5, 2009

  7. My perception is that Mozilla has a platform for running applications on – applications like Firefox or Songbird built with Mozilla’s framework. But using that platform is very intrusive – your entire application is built around it. In that regard, you’re not competing with other browsers like WebKit, you’re competing with Java, and with .NET.

    In contrast, WebKit’s reputation is that it’s very easily embedded into an existing application, without dominating it. Someone can build e.g a media player, and then add a component to it for rendering some HTML content. My impression is that while that can be done with XulRunnrer, it’s a *lot* more difficult.

    That Gnome is looking to move from embedding Mozilla to WebKit is somewhat illustrative of this… as a web platform, they’re more or less equal, and from their point of view as coders, WebKit is much nicer to deal with.

    By Simon on Mar 5, 2009

  8. Axel,

    Good points, but I think one of the reasons a lot of people adopt XULRunner is that it includes great support for web browsing. I’m sure there are cases when XULRunner is used for apps where WebKit wouldn’t be an option, but the reality is that I’m hearing and reading about a lot of stories where developers are choosing between Mozilla and WebKit for their project. And when I talk about XULRunner I’d really talking about the Mozilla platform in general (maybe we also need better terminology) so that includes embedding.

    The issues with a system-wide shared XULRunner are real. I’d love to see a concerted effort to address them, through some combination of more frozen APIs, multiple versions on the system, etc. but that’s not the most important thing right now. Helping people like Songbird to land their patches so they don’t have to fork is more important and something I addressed in my post.

    In my view any app that ships with Mozilla is a win, even if it doesn’t share the runtime with other apps.

    By Matthew Gertner on Mar 5, 2009

  9. Mozilla is playing catchup to both WebKit and Opera on mobiles. The sad part is that they could’ve been way ahead. They had Minimo some four years ago, but it went mostly unloved. It took Mozilla years to wake up and realize that it was an important product, and now they’ve fallen behind WebKit, Opera, and probably even Internet Explorer (see the upcoming Windows Mobile 6.5).

    And likewise, I’ve long viewed XULRunner as a huge wasted opportunity. They may yet wake up and fully realize its value, but if they do, they’ll still be stuck playing catchup…

    By Toe on Mar 5, 2009

  10. FWIW, in my experience (8 years building Mozilla based products and playing with WebKit since it was first released as WebCore in 2003) there are a few clear technical and social differences that can make WebKit a more attractive platform to developers than the Mozilla platform.

    The scale and complexity of the Mozilla codebase is daunting. Mozilla apologists will say that that’s because Mozilla provides more functionality, but the reality is that even if you don’t want all that functionality you still have to dig through and around it to get your work done. Much of the Mozilla platform is poorly documented, poorly understood and incomplete (the C++/JS binding security stuff was the most recent example I’ve looked at) while WebKit is smaller, simpler and newer. They use common c++ idioms instead of proprietary systems like XPCOM.

    The scale of the Mozilla organization is also daunting. Mozilla’s web presence is vast and is filled with inaccurate, outdated content. Their goals are vague and mostly irrelevant to developers. By contrast WebKit’s web site is simple and straight-forward. Its audience is developers, it sets out goals that matter and make sense to developers, it explains clearly the process for participating and contributing in the project.

    WebKit is designed for embedding. Within Apple there are several customers for the WebKit library – Desktop Safari, iPhone Safari, Dashboard, AppKit and more. Since WebKit already serves a variety of purposes it’s likely to work for other applications which third party developers will want to build. By comparison the Mozilla platform really only has one first-class customer – Firefox.

    The WebKit community has welcomed non-employee contributors. They’ve even welcomed contributors who work for Apple’s competitors. There are WebKit reviewers from Google, Nokia and the open source community. By comparison, Songbird and Flock don’t have any Mozilla committers or reviewers who weren’t previously Mozilla Corporation employees even though they are two of the largest non-MoCo platform customers.

    Perhaps I’m short-sighted, but I don’t see a clear path forward for Mozilla in competing with WebKit as a platform. The long history of Mozilla have left them with a large, complicated codebase that’s not getting smaller or much simpler[*] and the rapid growth and defensive attitude of the organization has left it without a culture that welcome friendly competition.

    By Ian McKellar on Mar 5, 2009

  11. Matthew: A shared system XULRunner isn’t really even a requirement, IMHO. Hard drive space is cheap, and XULRunner is much less huge than say Java or the .NET system. It’s really not a big deal for apps to ship with their own copy. What’s missing is honest support for XULRunner – documentation, general nice-making on the code side, and promotion as a real product instead of just some file in a dark corner of their FTP server.

    By Toe on Mar 5, 2009

  12. As far as I know SeaMonkey and Thunderbird are the two “largest non-MoCo platform customers” and we both certainly have mozilla committers and reviewers who aren’t and weren’t Mozilla Corporation employees.

    Phil

    By Philip Chee on Mar 5, 2009

  13. Ian McKellar’s comment is spot on. No amount of marketing of XULRunner will change the WebKit dynamic. Instead of competing with WebKit on its terms, go with Mozilla’s strength: the most advanced and flexible browser-as-a-platform.

    By johnjbarton on Mar 5, 2009

  14. “[Mozilla] will be handing control to large corporations like Apple and Google.”

    I’m not sure how to state nicely that this seems like anti-corporate paranoia. WebCore and Chromium are both open-source projects with external contributors. Success of Firefox, Safari, OR Google Chrome means the success of a browser based on modern, open technology, and a win for users. Isn’t that the goal here? Is there something special about a Mozilla-powered product that makes it more philosophically acceptable than another open-source product?

    I am admittedly biased as a Chromium developer, but I am also an ex-Firefox developer who wishes Firefox nothing but success. Most importantly, I want browser users to have the best possible browser, and it doesn’t seem like any of the above outcomes harms that. So what is the problem?

    By Peter Kasting on Mar 5, 2009

  15. Committing to be a XULRunner application means coding your UI in XUL with XBL bindings, rather than using Qt, wxWindows, Glade, AIR, etc. Ian McKellar, that’s a different technical decision than putting an HTML window in your application using either WebKit or the Gecko embedding API. It’s unfortunate that to clueless bystanders they wind up on the same “WebKit is winning” scorecard.

    The “big loud honking public statement” that Mozilla should make about XULRunner is to man up and make all their apps share a common XULRunner runtime (and show this in Help > About). Engineers couldn’t do it for Firefox 3.0, but it should be on the roadmap for every product. Bundling separate XULRunners inside Firefox, Thunderbird (and Komodo, Songbird, etc.) may make short-term sense for engineering teams, but every time there’s a bug fix in the platform and I have to separately update Thunderbird and Firefox, I curse the lack of progress. And on a netbook or other compact device, wasting 15MB of nearly-identical code for each “powered by Mozilla” app is a big turnoff at download time, run time, and upgrade time.

    I don’t know what Mozilla’s evangelism goals are (do they even have an Evangelism manager? — the “Evangelism” part of weekly Mozilla meeting minutes seems to be just MShepherd writing documentation at developer.mozilla.org). An evangelist couldn’t hurt.

    Meanwhile the easiest way for application developers to partake of Mozilla goodness is to create a Firefox add-on, not a Prism web app or a standalone XULRunner app. That may not be such a bad thing; it’s a simple story and you could point out to clueless bystanders that the number of Firefox add-ons dwarfs the number of WebKit apps.

    Cheers, keep writing on this subject. I want a lean optimized XULRunner netbook for Christmas :)

    By skierpage on Mar 5, 2009

  16. Ian,

    You nail it when you say “the Mozilla platform really only has one first-class customer – Firefox.” In my view this is the crux of the problem. There are good reasons for Mozilla to avoid explicit commitments to other projects in order to keep the Firefox development process streamlined. It’s hard enough to get a new version out the door without having to worry about breaking other projects, having unrelated patches landing left and right, etc. I’m only guessing but I believe this is probably why Mozilla has taken the stance it has towards the platform.

    If you think, like I do, that the platform has vital strategic value, then this stance should change. This will require major effort on the part of the Firefox team to work with other projects, accept compromises, etc. but in the long term it should make even Firefox stronger by making the process more disciplined, better exploiting development (and other) resources in the ecosystem and so forth.

    I’m more sanguine that you about Mozilla’s ability to vastly improve the platform’s appeal by addressing the issues you mention (APIs, documentation, etc.). What is missing is primarily a decision that this is even a goal worth pursuing.

    By Matthew Gertner on Mar 5, 2009

  17. Peter,

    I’ve learned to temper my criticisms of Mozilla with a healthy dose of pandering [big wink].

    But seriously, you have a point about Apple and Google building on open source technologies. I’m a big fan of both companies (some would say a cloying fan boy), and I appreciate the efforts they are making to innovate in the browser space.

    But there is still a difference between an open source project with a big corporate sponsor, and one that is supported by a non-profit foundation. We will all benefit if Mozilla remains a strong player in the browser space over the long term.

    By Matthew Gertner on Mar 5, 2009

  18. It is interesting to note that this the “one first-world application, e.g. Firefox, surrounded by [not for a lack of trying] a bunch of ‘third-world’ apps”-problem generally seems to be trending worse, not better.

    The decision to put just-Firefox-and-its-dependencies (JS, NSS, NSPR) into Mercurial and tell everyone else “Welp, good luck; maybe you can clone our repo, and use that? Or… something. We don’t really have time to figure it out, so… whatever” was another indication that “Firefox is the primary focus” is not only alive and well, but has real impacts on developers trying to use Mozilla’s platform.

    It’s really sad, too, because some of the technology is not only interesting from a problem-space, but extremely useful (Mozilla’s app update, Breakpad, core JS engine, etc.)

    But, if you’re doing the short-sighted “I need returns this quarter”-type mentality, then sure… focusing on the blinged-out, branded goose laying the multi-million dollar egg right now is probably a great idea. It’s basically betting that in a few fiscal years, that goose is still relevant (and laying those eggs!)

    These conversations are always hard to have, because I know there a lot of “core developers” (code for “employees”) who grok that this is a problem and really try to do the right thing.

    By Preed on Mar 5, 2009

  19. Great post matt!

    By Jonathan Beddoes on Mar 5, 2009

  20. @skierpage, we have an entire group that works on Evangelism issues. You can find a link to the work that we do in the project here:

    https://wiki.mozilla.org/Evangelism

    Matthew points out a lot of the work that we do – documentation, XUL + Addons workshops, web standards, external project messaging, support for public meetings, etc. Lots and lots of stuff.

    But overall Matthew’s observations are correct – we don’t have anyone right now who has the sole purpose to make sure that xulrunner and embedding issues are healthy. We’ve been very focused on Firefox as a project. This is a very explicit decision that we made a while ago. And we’re aware of the consequences of that.

    But the flip side of that is that the focus that we’ve been able to bring to Firefox-as-a-product has ended up creating a really great browser for people to use. And that has given us the leverage we need to accomplish our larger mission – keeping the Internet open and alive. If we had focused on both xulrunner-as-a-platform and Firefox-as-a-browser I don’t think that we would have been able to move as fast or have been as successful as we have been.

    In my mind this post represents the entirety of the opportunity cost of that decision. Once again, it’s not like we didn’t know that was going to be tough for a lot of people. But we knew that the larger battle was for end users and leverage on the web.

    And I think that we’ve been successful there – note that without Safari’s default placement in OSX (the same mechanism that IE enjoys) that WebKit’s entire market share across all platforms is less than 1.5% of the entire market. WebKit isn’t an answer to the problem of keeping the web alive right now. (And they wouldn’t have even had the opportunity without Mozilla around to open it back up. There’s a reason it says “Gecko” in most WebKit UA strings.)

    So is this a painful choice for a huge number of developers? Yep. But did we make the right choice? Yep, I think so.

    But can we improve things for people who want to use embedding and xulrunner? I think so. I’ve been talking with people about that over the last couple of months and am hoping to be able to turn that into direct action pretty soon here – there’s still a lot left to do on this front. I’m not in a position here to make promises, but I can say that it’s a personal concern and one that I’ve been spending time on.

    By Christopher Blizzard on Mar 5, 2009

  21. The Web is the platform. ’nuff said. I will add though that I am a huge XULRunner lover, warts and all, having used it in many projects.

    By Brian King on Mar 5, 2009

  22. Matthew, I like how you almost always write on matters so relevant to and right for the future of Mozilla and, more generally, the Internet.

    I too am worried about the monopolistic dominance of Apple and Google. They have to answer to “shareholders”, while Mozilla does not. Please keep it that way, Mozilla.

    Good luck, XULRunner.

    By Pseudonymous Coward on Mar 5, 2009

  23. Christopher: I’m not convinced that the “we couldn’t have made Firefox as good” argument is true, largely because more outside contributions on the platform side could have freed up more of Mozilla’s ‘core developer’ resources to focus more on the Firefox-y side of things.

    But leaving that aside, is there a point where Mozilla can say that Firefox ‘is’ successful, and they can broaden their focus to other things a bit? No one is suggesting Mozilla might pull a Microsoft and lay off the browser team for a few years, but is there a point when they might be able to accept that bit of risk?

    I would also note that when you said “focused on both xulrunner-as-a-platform and Firefox-as-a-browser,” you left out a big piece of the story: Thunderbird-as-a-mail-client. In many ways Thunderbird was also a “red headed stepchild of the Mozilla development community.” Mozilla was aware of that, but Thunderbird was given a different fate than XULRunner’s – Mozilla Messaging was created. Is it time for a Mozilla Platform Group to be created?

    By Toe on Mar 5, 2009

  24. The whole notion that Mozilla is a benevolent non-profit vs. evil corporate Apple/Google seems rather naive. Apple and Google actually ship products using WebKit that compete with each other already, with folks like Palm also getting into the act. And the WebKit community seems mighty healthy as a result of it.

    Mozilla, on the other hand, never welcomed companies like Flock into the community, to the point where they are tempted to throw away their investment in Mozilla. It looks like when you actually compete in the same space as Firefox, the search box revenue for Mozilla the corporation trumps the ideals of Mozilla the non-profit.

    By Sloan on Mar 6, 2009

  25. Thanks for the comment, Chris. I do understand the trade-offs involved in promoting Mozilla more aggressively as a platform. It’s a tough decision. The real question for me is whether there comes a time when the emphasis moves from browsing in a browser to using embedded browsing technology in various apps.

    This doesn’t mean that the browser will go away, of course, but it is intriguing to speculate about whether the balance will tip somewhat. Major shifts like this can catch incumbents off guard.

    By Matthew Gertner on Mar 6, 2009

  26. Bill: Qt 4.5 ships with WebKit included. The Qt, wxwidgets, and GTK ports are developed alongside Apple’s ports in WebKit trunk. Linux is definitely officially supported, it’s merely not *funded* by Apple.

    Interesting.

    I wrote a note about that at the WPW forum today (before I read this post).

    Link: Post #5

    http://www.webproworld.com/web-programming-discussion-forum/81525-pointing-finger-programming-future-computing.html#post428793

    By Kjell Bleivik on May 7, 2009

    Trackback URL for this post


    http://browsing.justdiscourse.com/2009/03/04/the-browser-platform-wars/trackback/
  1. 3 Trackback(s)

  2. Mar 5, 2009: Mozilla and WebKit, browser platform wars. | Software and Opinions
  3. Mar 5, 2009: Caffeine Lab » Flock switching to Chrome: opinion of an ex-Flocker
  4. Mar 7, 2009: More Than 163 Applications Built Using Mozilla Technologies « davidwboswell

Post a Comment