Ben Metcalfe

Fasterfox: when Firefox Extensions go bad!

Fasterfox is a Firefox Extension which claims to speed up your browsing experience:

[with Fasterfox] Dynamic speed increases can be obtained with the unique prefetching mechanism, which recycles idle bandwidth by silently loading and caching all of the links on the page you are browsing.

Wow, that sounds great – doesn’t it? Until you actually think about what it does. And how it achieves it.

Fasterfox, in essence, is a prefetcher. It reads the page you are currently browsing and attempts to download all of the other pages being linked to. When you do decide to click on a link on the page, the browser can the load that page from disk rather than fetch it from the Internet. It then starts the whole process again – downloading links from the new page into the cache ready for the next page to be clicked on, etc…

Now, that is actually a really bad idea. It’s not just bad, it’s dumb too.

It’s bad because who knows what kind of page you are looking at? Sure, if you’re looking at BBC News then great – you’ll get an article linked to from the front page appear in no-time. But what if you are currently using an e-commerce website? Or even worse, using a web-based admin tool?

It boils down to the fact that we use hyperlinks on webpages not just as a means for accessing documents, but for issuing commands too. Remove item from basket. Delete message from inbox. Etc.

Have a think about some of the shopping or admin sites you use regularly. What would happen if you literally clicked on every link on that page – opening each one into a new window? Ok, many commands are crap-filtered with an “are you sure?” message on the subsequent page. But many are not – here are some nightmare scenarios I can think of:

My theoretical concerns are backed up by complaints on the Mozilla website. “Johnny” wrote the following yesterday:

It cost me

I subscribe to a music service. I use Linux and download only songs, never albums. I pay a monthly service fee for a set number of downloads and by using FasterFox’s cache system (or whatever) entire albums appeared to the music service web site as having been downloaded. For the FIRST TIME I exceeded my ADSL provider’s monthly quota. I took it off both my windoze box and the Linux system. No thanks FasterFox, and besides I NEVER noticed a speed increase, what’s with that?

As Johnny alluded to in his comment, not only can this extension do bad things but it also vastly increases your bandwidth usage. That’s bad for everyone.

It’s bad for your ISP (but that’s between you and your ISP).

It’s also bad for website owners – who will see their traffic increase exponentially. That could lead to them exceeding their bandwidth quotas without any benefit, as few of those downloaded pages will ever be looked at by a human being.

And it’s bad for the Internet as a whole – what would happen if everyone used this plug-in? The additional load on our ISPs, the additional load on webservers and the additional load on the transit links that do all the hard work in between would noticeably slow down the Internet experience.

Check this gem from Bill Web on Lockergnome:


I haven’t played much with the custom settings. I just clicked the radio button next to “Turbo Charged – Maximum performance, exceeds RFC specs (increases load to Web servers),” and left it alone.

Say, what? I just can’t get over the casual disregard in which someone who has a fairly technical background (they’re posting to Lockergnome) sets their browser to request more data from a webserver then is defined in RFC 2616 – the Hypertext Transfer Protocol 1.1 standard. That is just plain and simple selfishness.

But like I was saying, it’s also a really dumb approach too.

After all, it’s not inconceivable that you might visit a webpage with 50 or 100 links on it. You are probably only going to visit 1 of them next (and that’s assuming you do click on a subsequent page). That seems like a really inefficient mechanism to me. And if you’re using P2P (for legal downloads of course) or VoIP then the extra bandwidth you are consuming is going to be detrimental to the other uses of your connection.

At this point, you are probably thinking “Well, Google offers a similar service”. And they do.

But they only prefetch the top result on a search result page. I not really convinced there’s much of a benefit either.

And finally, from a technical perspective it’s unlikely this will even work anyway. As Steve Olcott notes:

All this extension does is makes multiple connections to webservers causing them higher server load(doing the same thing as enabling pipelining through chrome, which is also a bad idea), and unless the webserver uses per connection bandwidth throttling you don’t get any benefit from this, Eg. if your internet connection can download at 40 Kb/s and the website you are connecting to doesn’t throttle per connection you will have 1 connection to the server at 40 Kb/s, but with this you would have 2 connections at 20 Kb/s, or 4 at 10 Kb/s giving you no extra speed but four times the server load because the server has to keep track of four times the amount of connected clients. However almost all webservers limit the amount of connections per client, so the webservers anti-leech protection could end up banning your IP for making too many simuntaneuos connections.

There’s been roughly 20 comments added to the Mozilla.org webpage for this extenion in the last two days, and only 3 of them have been positive about it. Nevertheless, it’s currently being promoted as the 3rd most popular extension download this week, with 97,813 poor souls having downloaded it in the last 7 days.

It will be interesting to see what happens to the Fasterfox Extension – and whether the Mozilla folks end up doing something about its damaging ways.