The Dark Side of Extensions

Perhaps its a side point, but I just wanted to point out that since Firefox itself is not a default browser on MS Windows, it requires a home computer user to proactively find Firefox, download it, and install it. This indicates that for many typical Firefox users (those who are running MS Windows), extension installation should not be anything out of the ordinary. Linux users, for whom Firefox often comes default, will find this extension installation process even more normal. If you have gone out of your way to install Firefox or make yourself a Linux box, then you will probably go out of your way to find extensions for Firefox as well, if not code them yourself.

I only read about 1/3 way through the comments, and got tired so here goes:

FF already does this. For example, in version 1.5 the “miniT” extension that allowed drag-and-drop tab reordering was integrated as a default feature.

The point is as everyone has said above: everyone’s “must have” list is different enough that it’s very rare that adding any extension in by default is a good idea for everyone.

I disagree. I suspect a lot of people are choosing FireFox partly BECAUSE of this core + extension philosophy. Bloatware tendency is difficult to stop once you take the other philosophy.

From the point of view of software development, developers of core engine should stick to core issues, and leave other issues to extension developers. This is a pretty solid conceptual division of labor.

As for Safari/IE-envy, I think it’s possible to provide download for “FireFox with pre-installed extensions that feature-match Safari/IE.”

If an extension is wildly popular and everyone urges you to install some “crucial” or “essential” extension in Firefox – shouldn’t
that extension have been baked into the browser in the first place?

I suppose. But I don’t think that’s really the case here. Pretty much every addon I’ve ever seen is a niche product, despite the protestations of its fans.

I’ve been a Firefox user since its initial alpha release, have tried quite a few addons, and have even tried my hand at writing a few. Some are quite nice, but there are no addons I consider essential.

Just to make sure I wasn’t going crazy, I went through the list on the first hit of your google search (50 Best Firefox Extensions). There was only one extension on the list that I’d consider bothering to download: The one that opens a webpage in IE for you (for those badly-coded websites). Even that one couldn’t really be part of the default install, as it only makes sense on platforms that have IE (and probably doesn’t work outside of Windows). Anyway, it just saves me a couple of mouse clicks and a copy-paste operation.

I’m sorry, but if that’s all I get out of the “50 Best”, then I don’t think there’s really an issue here.

If I ran the Firefox development team, every new development cycle, I’d take the list of top 5 Firefox add-ins and demand that we fold that functionality into the core product.

And after 10 development cycles you’d have 50 add-ins pre-installed and no one user would likely be using more than 5-10 of them. And then we’d see a post on Coding Horror about the ridiculous memory usage of FF…

I think that’s how you end up with programs like Word and Excel. They have all the features that you could think of, but to any one person it seems like feature bloat because they only use a small fraction of those features. The beauty of extensions is to let the user decide which non-essential features they wish to add. I use FF for development so I like to add the developer extensions like Web Developer and Firebug. But my parents would probably want things like spell checking.

It might make sense to ship FF with the most popular extensions so you can just bring up the extension dialog and enable them, so they appear to be additional options/features of the standard app. But I wouldn’t take it much farther than that.

“If software developers were doing their jobs properly, an extension ecosystem wouldn’t be necessary-- 99% of the features users want and need would be already baked into the shipping software.”

But aim to do this and you end up with bloatware.

The big problem with firefox extensions, I think, is that the extensions site search and browse functionality is embarrassingly bad. There should also be better use made of reviews, and some kind of related extensions functionality. Make it easier for people to find the extensions that are helpful for them and teh pross outweigh the cons by far.

One other option is to offer the “top five” as an automatic part of installation. No need to reinvent the wheel by adding the existing code, just pick the option at download time and they get included.

It’s clearly a hard problem deciding when a feature should be included out of the box or have to be turned on or added-on manually. I like Jeff’s idea though, that we can learn a lot from “popular” extensions. The less I have to do to get Firefox working on a fresh install, the better.

It’s a fine line between a lean, mean program and a bloated mess. Remember where Firefox came from. (NETSCAPE) Remember what a bloated mess that was?

When you look at it like that, you can see why the Firefox developers are so rabidly phobic of adding “features.”

At least, that’s the way I see it.

I generally agree with your position (as well as with Des), but the reality is that Firefox 3 is not all that far behind.

  1. Improved current field highlighting - finally looks great on OSX with FF3b4. If you want this on Windows complain to Microsoft. I think Firefox is taking the right approach of using native OS widgets instead of custom implementations (like Safari does on Windows).

  2. Alternate font rendering - same as #2. Firefox font rendering looks as good as Safari on OSX. On Windows is matches Windows font rendering. This is as it should be.

  3. Cleaner downloads dialog - honestly, I don’t see the issue here. The download window in FF has always been fine. But it is significantly simpler in FF3b4.

  4. Faster HTML rendering - no real thoughts here. I’m sure some people care about this, but certainly not very many “regular” users.

  5. Simple, painless bug reporting - FF3b4 has Help - Report Broken Website and Report Web Forgery. No biggie. Safari’s actually gotten rid of the ugly bug icon lately, anyway.

  6. Visual incremental find - while I prefer Safari’s find feature, Apple is also able to use full OS capabilities to do this. With a cross-platform codeset, I think FF does a pretty decent job at this.

  7. Detachable tabs

  8. Draggable images

  9. Resizable text areas

The last three are the biggies. But I’m not sure how much “regular” users will touch these areas, anyway. Draggable images, most likely, but at least on OSX FF3b4 does this nicely.

It seems to me that the easiest way to satisfy both views of the needs of the core (the “keep it simple” view and the “make it powerful” view) is to have the downloadable binary ship with the top 5 needed extensions. If they came pre-installed, then people who never change the defaults would have the functionality that keeps the browser competitive with other browsers, while power users could simply uninstall or disable the extensions they don’t need. Since I can expect the overlap between power-users and people who care about simplicity and performance over functionality to be large, this should balance the needs of both camps well.

Of course, it comes with its own headaches. Bundling those five extensions means they need to be supported as well as the core browser itself, or you risk alienating new users if those extensions fail for some reason on their quirky setups. Additionally, it’d be fun to watch the Firefox community slug it out over which five extensions are “completely necessary.” I’d be interested to see if they would be able to come to common vision on such a question.

One thing that would be useful is a higher level of structure in the Firefox add-on world. One could then have a single ‘consolidated’ add-on that, that implements a specific add-on strategy-- e.g.,automatically installing the top five add-ons, or whatever.

Some extension are to specialized to get into the final product like Web Developer Toolbar or Firebug, other extension are highly rated but there are commercial reason to not include them (like Adblock), others require special knowledge of API’s that are subject to change.

There are a lot of good reasons to not include functionality into the final product.

Beside the fact that the good extension system allows that mission features can included as extension also the developer can see by the extension popularity what features are really used by the users of Firefox.

But what extension should they include? First the most popular ones, with features most users will need and the smallest code base. If we’re looking at the top #5 this will be probable NoScript and Download Statusbar.

The top 5 extensions are popular, but there is no reason to believe that they are popular with the same classes of people. Indeed, Arrows impossibility theorem shows that it is impossible to construct a satisfactory community wide ranking from the ranked preferences of individuals so it would certainly punish some users to roll more extensions into the browser.

This is of course predicated on the fact that installing extensions has a non-zero cost to users that do not make use of them due to increased clutter, reduced browser performance, time spent configuring the browser to hide the features etc.

FireBug. I could remove every other extension in FireFox and be fine. But I must have FireBug.

I agree with the previous comment about a special Firefox Plus version. A special developer’s version of Firefox would also be helpful.

Yeah! And why doesn’t Starbucks just dump the top 10 coffee additives into everyone’s coffee? “Experts” can just remove the stuff they don’t like!

And why doesn’t Safari also convert .cm to .com? Screw Camaroon! There are still some specific corner-cases that don’t pander enough to monkey typists!

The minute we incorporated AdBlock, … into Firefox, all our Google ad revenue would “magically” disappear.

Of course, that would depend on the adblock filters installed by default. In the same way that “typical users” don’t install extensions, they would probably only use the filters configured by default. And you can imagine the battles that could cause…

Seriously, I’m glad that adblock isn’t in Firebox “out of the box”, because if it was, advertisers would need to find a way of delivering unblockable ads (like Jeff’s, but much much worse!). Currently, I don’t think they have the motivation.

Jeff,

No offense, but I don’t want more extensions and features in my browser. I want it to work, crash less often and possibly block every site in the world from “tribalfusion.” If I want an extension for a specific purpose, I’ll add it. I wish I could do this with MS office and the cable company. In both cases, I want about 10% of what’s available (OK, maybe 1% in the case of cable). I’d just as soon buy the rest as and when I need it.

As for those who never install extensions and don’t know what they are, are those people ever going to use them anyway? Or even know they’re there?

ThatGuyInTheBack

Firebox==Firefox D’oh.