The Real Reason Mozilla Needs a General-Purpose Platform

Tuesday May 08th 2007, 5:29 pm Printer Friendly Version
Filed under:Firefox
Posted By: Matt

Last time I wrote about Mozilla’s ambitions to be a general-purpose software development platform, I speculated that most of the inner circle are in favor of this move, but that the effects haven’t yet made themselves apparent to outsiders. Many commenters told me publicly and privately that they didn’t feel this was actually the case, and that there is actually considerably resistance to this trend inside Mozilla.

A few days later Mitchell Baker blogged a piece that reads a bit like a reply to my post, although it doesn’t reference it. In it, she explains that the Foundation feels it should devote the bulk of its efforts to Firefox development because this is where it gets the most “leverage”:

It is extraordinarily difficult to create the kind of impact that Firefox and the Firefox ecosystem now enjoy. The Mozilla community has done this, and the Foundation feels an acute responsibility to live up to the opportunities this creates. We have a rare point of leverage and must not let it slip away.

In other words, Firefox has achieved absolutely phenomenal success and is thus worthy of the vast bulk of the Mozilla community’s attention, at least until some other XUL-based product demonstrates that it can have a comparable impact. This view is eminently reasonable, particularly since developers have a tendency to neglect humdrum but strategically essentially activities (in this case, improvements to Firefox) in favor of new, sexy projects (i.e. a whiz-bang Mozilla platform) whose importance is unproven.

Nonetheless, this didn’t convince me that a general-purpose platform is any less of a priority. The reason is a subtle undercurrent in yesterday’s hefty interview with Mitchell herself. (The interview’s formatting is, by the way, a heart-wrenching poster child for a “printer-friendly” version.) The interviewer points out that:

Well it seems to me that one of the most attractive things about Firefox is the plug-in eco system and I think it’s amusing to watch Microsoft trying very, very hard to replicate that.

I think this is exactly right. Firefox’s biggest competitive advantage, by far, is its rich collection of add-ons and the development community that underpins it. Adding tabbed browsing or popup blocking to a browser isn’t rocket science, but creating communities is an awesome challenge that Firefox has absolutely knocked out of the park. One or two “killer apps” in the add-on ecosystem will do more to promote Firefox adoption than almost anything else I can imagine the Foundation doing, because it will be so difficult for competitors to respond.

But the platform itself has a lot of weaknesses when it comes to developing sophisticated extensions. Performance and memory consumption are not always what they could be. Development tools are primitive. Documentation is getting much better, but is still lacking. Some vital technologies, like XUL templates, need a complete reworking. (Lest I seem too negative I should state yet again how much I love Mozilla and how I haven’t regretted for a single second our decision to base our product on it. But this only increases my desire to see the platform evolve and improve.)

And this is where the real leverage kicks in. A platform used by an array of ambitious applications will attract far more developers, documenters, testers and users than one employed in a single application, even a mega-hit like Firefox. This will strengthen every aspect of the offering, thereby making it that much easier to develop compelling Firefox extensions. Paradoxically, less focus on Firefox and more emphasis on a general-purpose platform may thus be the best way to take the former to the next level of adoption and success.


10 Comments »

  1. Some vital technologies, like XUL templates, need a complete reworking.

    Templates have been reworked for Gecko 1.9. Work still needs to be done for templates using non-RDF data. See Bug 321172 and Bug 321171.

    Comment by Richard Klein — 5/8/2007 @ 6:25 pm

  2. Perhaps those improvements are sufficient but I think that much deeper changes (to the syntax, for starters) will be necessary to meet the broader needs of extension authors. But I say that from a position of relative ignorance since I haven’t actually applied the relevant patches and tried out the new and improved templates.

    Comment by Matt — 5/8/2007 @ 6:39 pm

  3. Awesome evaluation.

    That interview with Mitchell Baker is at the top of my reading list, but is too long to just slip in, so I haven’t gotten to it yet.

    The Add-On developer community is awesome. BTW, is there a aggregator for them? Planet Mozilla is rad, but seems to be a little exclusive, and too wide a scope for XUL devs. Something like Adobe’s developer news aggregators, but for XUL/XBL/XPCOM hackers.

    Comment by enefekt — 5/8/2007 @ 6:42 pm

  4. What template improvements? Have you filed bugs, so we know what kind of improvements are desired?

    Comment by Neil — 5/8/2007 @ 8:29 pm

  5. You’re making very good use of the stage Mozilla provides you on planet.mozilla.org! Interesting discussion. TB2 and Sunbird are getting better, aren’t they? Nonetheless, would you think that Mozilla would approve work on XUL from other developers? If so, would you allocate resources to it? If this is already the case, then what’s keeping you (and for example Joost/Songbird) from making it better and better, until Mozilla simply cannot ignore it any longer?

    Comment by Bram — 5/8/2007 @ 9:55 pm

  6. So actually, what you’re saying is that if Mozilla were to improve XUL, it is indirectly focusing on Firefox, and in fact, even more effectively than when they would be further developing Firefox.

    Hmmm… Sounds reasonable, I agree that XUL actually was the key to Firefox’s initial success (which then made people look at it as a safer alternative, which it also was). So yeah, you got a point ;)

    Comment by Vincent — 5/8/2007 @ 10:11 pm

  7. Neil,

    I haven’t filed bugs yet because we haven’t done our homework sufficiently. Last time I tried XUL templates, there were lacking features like recursiveness, and error reporting was a big issue (basically the only way to find syntax errors was through trial and error). I know you’ve addressed some (all?) of these things, but I think that support for processing on a background thread and writing to a stream are also important. And I’m not sure about the syntax. Is it simple enough for the average extension developer?

    Anyway, we’re planning to do a more thorough evaluation in the near future and I’m not averse to contributing resources to this in the not unlikely event that we decide to go that route. We certainly need a Mozilla template language of some sort.

    Comment by Matt — 5/8/2007 @ 11:32 pm

  8. Let’s put it simply. Firefox is great, but it’s JUST a browser. Despite what everyone wants to pretend about webapps maturing into desktop replacements, it will either never happen or take several years to get browsers unified to support such rich functionality. Why?

    Why burden browsers with a multitude of functionality that just shouldn’t be built into a presentation application.

    Isn’t it bizarre that Mozilla gained success by dropping the all-in-one concept of the Mozilla APp Suite (now SeaMonkey) and focusing on apps individually, yet now it is applying the all-in-one philosophy to the browser?

    If a platform is not important - because the web is the platform (help me I’m choking with laughter) - then why haven’t companies taken Firefox and cloned it like buggery? It’s free code after all.

    Comment by pd — 5/9/2007 @ 2:27 pm

  9. Very much like XPCOM was build and designed for use within the mozilla suite and not a general purpose COM replacement, the mozilla platform is primarily being improved and targeted for Firefox. These technologies we built are a means to an end. Currently the focus (the “end”) is Firefox.

    A bit of history: since the Mozilla was created as a non-profit, we have never had a serious effort to make mozilla more “embedding friendly”. The last group of people to heavily work on embedding was AOL and we were very much rushed. Maybe nokia has done a bit of work on the gtkembed component… but most of the embedding / roll your own app hasn’t been worked on in years. We are all just happy (or not ) with what we did a long time ago.

    I am so very happy when I see people like all peers, joost, thunderbird, songbird, second life, etc. use the technology that I helped build. It is very good feeling to know that the mozilla software has not only benefited a browser, but enabled many other applications to become successful.

    I think it would be up to the “all peers” of the world, to work with the foundation and other interested parties, to pool resources and make this “building application on top of mozilla technology” a priority for the foundation. Why wait on the Mozilla Corporation to do what Open Source enables you to do — take your destiny in your hands, try to collaborate with others with shared interests, and make better software!

    these our my own opinions, maybe not those of my employer… blah blah…

    DougT

    Comment by Doug Turner — 5/9/2007 @ 8:18 pm

  10. PD - Firefox indeed is great, and it is JUST a browser, but XUL is more than a browser so could very well be improved.

    Comment by Vincent — 5/9/2007 @ 8:32 pm

Trackback URL RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

(required)

(required)