Embracing Extensions

Monday February 13th 2006, 4:38 pm Printer Friendly Version
Filed under:Software Development, Firefox
Posted By: Matt

“Give them enough rope,” runs one of our more morbid proverbs, “and they’ll hang themselves.” Nowhere is this more true than in the world of Firefox extensions, as noted recently by Mozillian David Baron. Frustrated that quality issues with extensions or combinations thereof often reflect badly on Firefox itself, David frets:

What I’m concerned about is that extensions are being promoted to large numbers of users as one of the advantages of Firefox. I think this may come back to haunt the Mozilla community.

In light of the hue-and-cry over memory leaks in Firefox 1.5, many of which have turned out to be the fault of specific extensions, this concern is certainly understandable. To the (largely unclear) extent that David is implying that extensions are a Bad Thing, however, I disagree because in my view Firefox’s extension mechanism is not just one of its advantages, it’s the biggest and most important thing to happen to browsers since, well, browsers. I outlined my views on this topic in painful detail over the course of my extended blog argument (blargument?) with Brian Vargas. If you believe, like I do, that Firefox really comes into its own as a platform, you can’t spend too much time tearing your hair out over the wild and woolly way that extensions are produced when compared to the rigorous procedures that are applied to the Mozilla core itself. As in so many chaotic systems (global capitalism springs to mind), the huge costs are outweighed by much huger benefits.

Mike Morgan has some excellent suggestions about how community dynamics could be used to improve the extension review process on the official “add ons” site. Yes, please.

But as Brian pointed out, to manage masses of extensions in a truly satisfactory way, Firefox will eventually have to take on the characteristics of an operating system. It used to be depressingly common for a rogue application to take down Windows, but they eventually fixed that. In a similar way, Firefox will have to gain mechanisms over time to prevent extensions for consuming too much memory, interfering with each other, locking up/crashing the browser and so forth.

This is a tremendous challenge, but when did that ever stop us? Mozilla CTO Brendan Eich has some awesome suggestions for improving XPCOM that would be a great start. (As someone who codes hundreds of lines of Mozilla’s C++ dialect a day, I would certainly be ecstatic if exceptions were to replace error codes.) The walled garden approach is never going to be a complete solution, so we need to concentrate our energy on figuring out ways to mitigate the damage when extension authors mess up. It seems manifestly unfair for users to blame problems with extensions on Firefox itself, but let’s face it: in a way, they’re right to do so.


1 Comment »

  1. […] e they have a crucial role to play. I agree that we should be embracing extensions. They have become central to the Mozilla ecosystem and a great […]

    Pingback by Pogovor » Pondering addons.mozilla.org from a Developer’s Perspective — 2/16/2006 @ 2:51 pm

Trackback URL RSS feed for comments on this post. TrackBack URI

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)