The Dark Side of Extensions

Sorry difficult to agree on the title. Its all about freedom. Freedom to choose freedom to ignore. With extension you have all you want. And if one sees cool Safari feature then my reaction would be search for a similar one on addons site or even attempt on on your own! :slight_smile:

Extensions is the best thing ever happened to a Web 2.0 age browser.

Am I the only one who thinks NoScript serves little purpose?

Yah, it reduces the likelihood of damage from Firefox bugs, but it also breaks lots of huge firms’ websites.

Ever since you stopped blogging exclusively about Microsoft developer tools, I’ve been following your blog a lot more closely and have recommended it to several friends. Cheers on another well done post Jeff!

The problem is, different people like distinctly different combinations of extensions. Sure, AdBlock is probably the first extension people install. But beyond that, you’d end up with a much less usable product. My spouse lives by the CoolIris preview extension; I can’t tolerate it. The VideoDownload helper is my friend; he can’t tolerate the animated toolbar icon and just wanted it gone.

“If software developers were doing their jobs properly, an extension ecosystem wouldn’t be necessary” is just plain wrong. The extension ecosystem is why Firefox is now the best browser out there. Instead of a small group of minds trying to conceive of every useful feature, we have hundreds of minds doing so.

It’s true that integration suffers. That’s why we have companies that copy the best features into their own browsers. Firefox is the RD platform for the web.

Casual users use the browser as they find it is an understatement. Casual users use the browser they find in the computer. Feature-set for them is a non-issue.

Advanced users will know how to get the most from their browsers (leverage add-ons, community, whatever…), making vanilla feature-set a non-issue.

Now for intermediate users… what the hell is that?!

Firefox share speaks volumes of their capacity to make competent development choices (and survive hard-times too, ex: the performance issues of FF2).

Remember it’s audience is stronger with the kind of user that would find it easier to change browsers.

Pretty straightforward. There are 4 different types of software changes:

  1. bug fixes
  2. improvements
  3. features
  4. whole new sub-applications

You can, in principle, use plug-ins for any of those. Everyone would agree solving #1 solely by plug-ins is pretty stupid (as an answer to ‘it crashes if I press X’, ‘go install this plug-in’ rates below ‘don’t press it then’ for helpfulness).

Equivalently, in the opposite direction, if you don’t use plug-ins for #4, then your estimated ship date risks hitting a time overflow bug in your planning software.

The debatable area is in the middle. All the 9 points raised in the OP are, to my mind, pretty clearly #2: improvements to existing capabilities. You can enter text in any browser, making the box resizable is an better way of doing the same thing, not a feature in it’s own right.

Problem is, if the only tool you have is an army, everything looks like a war. For a developer casually interested in contributing to Firefox, if the first mechanism that comes to hand is a plug-in, then write one is what they will do.

I think Eclipse, despite being made of plug-ins, gets this righter than Firefox. The team work to make it easy to contribute patches which they integrate into the baseline source code. So you see a lot less tweaks and patches as plug-ins, and a lot more PHP editors, work planning systems, etc.

Opera ftw.

You didn’t comment on something else about extensionmania: Extensions cause product instability.

By the time Mac System 7 came out, Macintosh started getting a fairly stable operating system. It rarely crashed and was relatively stable. The popular Multi-Finder was incorporated into it and it seemed very popular. Yes, it didn’t have preemptive multitasking and protected memory, but it was pretty good for its time.

One of the most popular features added to System 7 was the ability to add extensions to it. Before System 7, you needed a special tool, and you were limited (I think the number was 32 which included Control Panels) to the number of extensions you could previously add. Now, all you had to do was drag Control Panels and Extensions to special folders, and they would automatically be included in the OS the next time you booted.

The result was a cornucopia of new extensions and control panels which crated an absolute mess. Extensions and Control Panels conflicted with each other, crashes became common, and what was once considered a fairly stable operating system became a teetering mess. System 7.5 incorporated many of the most popular third party extensions, but these weren’t incorporated into the OS very well. System 7.5 was prone to constant crashes, “Sad Mac” (where the system wouldn’t boot up), and many Mac users abandoned the Mac platform for Windows 95 which just came out.

I have quite a few problems with FireFox extensions. A few seem to make FireFox crash or misrender pages. Most stop working whenever I get a new FireFox update. They are not easy to install or find, and I’ve even seen Trojan extensions that claim to do one thing, but allow a user’s computer to become more vulnerable.

There’s a fine balance that needs to be put into effect. Features that are useful need to be incorporated directly into the software as first class features. At the same time, you want to avoid feature bloat. You want your software to be massively configurable and addons are an excellent way to go. However, if you encourage people to install too many extensions, you make your product slower and less stable.

I’ve noticed that Firefox becomes a bear when too many useful extensions are added, and what was once was a fast and small browser has turned into as bloated and massive as Internet Explorer. FireFox needs to figure out which features are useful, add these features to the core product while stripping away extraneous garbage.

If people would just use Opera they wouldn’t need any extensions.

It might be interesting to take a look at software that has implemented a lot of user extensions. In my view, Blizzard Entertainment has done a really good job with their World of Warcraft UI.

It’s highly moddable, and huge community has sprung up around making mods. Blizzard has been very carefully folding some of the most popular/useful mods into the default client. They’re a lot more selective than “the top 5 most popular mods though”, as they try and retain an emphasis on making the default UI accessible to new players.

+1 Funds have started up around Facebook and iPhone apps, It’d be great to see the same for any extension deemed worthy of being rolled into Firefox. This support from Firefox would also help create better extensions (I suspect my Firefox crashes often due to extensions).

I for one would stop using Firefox if it started bloating up with all the functionality of the extensions.

Baking in such functionality would ultimately (probably) lead to different versions of Firefox - Superlite, Vanilla version, Developer Edition, Designer edition, P2P edition, Stealth edition, Pimped edition etc. The many faces of Vista still confuses me!

There is a delicate balance. Integrating the functionality can make the browser better, but it also naturally causes bloat. I believe that what should be integrated are small feature improvements. Not only from other browsers like Safari, but new things.

The new awesome bar (url bar) is a good example of this. Once you use it you wonder why every browser doesn’t have it already. Firefox needs more features like this.

Offering extension ‘packs’ might not be a bad idea. Several extensions designed to work together for a common goal. A web developer pack, or a social networking pack. A google pack…

There are lots of possibilities, but I don’t hink integrating every bit of extension functionality in is the right approach. Extensions are largely designed to do things the developers can’t do. They serve a purpose.

Daniel

With the exception of the built-in download manager, I will have to go with FF’s way of doing business. They started a buzz and have kept many people happy with their development.

Trying too hard to put all features into a product usually ends up with something fat. Having a core product that is extensible lets you add the “fat” you want, and it’s more fun!

Hi Jeff,

Was the picture of the moon just a “Random Image Arbitrarily Inserted In Text” (http://www.codinghorror.com/blog/archives/000834.html), or was it a reference to Eclipse? It kind of reminded me of their logo.

I run Safari primarily (on OS X) and Firefox occasionally, primarily because Firefox has better Javascript error checking than Safari does, and sometimes I need to debug that shit. Also, for some reason Safari totally crashes when I use Lexis-Nexis. Which is odd, but not a major part of my day.

Anyway, I have I think maybe two Firefox extensions. TWO. They do really simple things thatI occasionally use. And even with just those two, practically every time I open the browser I’m informed that there are updates to install and THEN I can open my browser.

I’m not a picky guy. I like the fact that extension creators update a lot, in theory. It shows they are active. But once a week? And does this really have to be the FIRST thing I see when opening the browser? Usually when I open a browser it’s because I’ve got something I want to look at. Couldn’t it be designed to let me look at it first, and then maybe if I’m hanging around, being a little idle, it could, in a non-obtrusive way, suggest that there might be updates to be had? I don’t remember when Windows Update switched to that sort of model, but it’s a definite improvement.

(No, I haven’t run the beta. No clue if this is in the next version. Shouldn’t have been in the previous one!)

How about Firefox Distros? Would that be too crazy?
Like “Firefox for Web Developers” (Firebug, WebDeveloper, CSSViewer, HTML Validator, etc.)

If the top extensions are added with each new release, it will become bloat-ware. At that point, Microsoft may start to show an interest in it. The next thing you know, it will become an “integral part of the operating system”

The only two things stopping me from using Safari on my Mac are:

  1. Google Browser Sync
  2. The del.icio.us plugin

I use more than one computer, and having all my settings, bookmarks and history automatically sent between them is so useful that every browser should do it.

As to the “but rolling all the popular extensions into FireFox would make it bloated and horrible”… well yeah, it would… but you’ve already installed all those extensions anyway so you aren’t going to notice.

The Opera browser will never challenge Firefox let alone IE until Opera comes up with a snazzy name the way Mozilla did with Firefox. Opera has to be the worst browser name ever.