Flashblock Can Give you Back Your CPU

Since switching to Firefox, I’ve begun to take certain things for granted. Tabbed browsing must be top of that list. On the odd occasion when I have to switch back to IE for some reason, I sometimes get this feeling (for about a millisecond) that something’s broken. I’ve gotten so used to doing Ctrl-Click to open a link in a separate tab, that when it just doesn’t, or a separate browser window opens, it makes IE seem like half the browser it should be. It’s difficult to explain, but the feeling’s there.

Of course, with tabbed browsing it’s now perfectly natural to open 20 or more tabs at a time (certified “power-users” may even scoff at such a paltry figure).

The downside is that all those separate browser pages take up system resources. If I’m browsing news sites that are heavy on the Flash ads, then it’s noticeable that the CPU usage can shoot up to 90%, sometimes even 100%. On my laptop, the fan whirrs into action, belching out hot air from the struggling machine; and of course all my applications become horribly unresponsive.

Amongst other things, it makes you realize how godawful Windows really is at allocating slices of CPU time between processes. You’d think it would ensure that the currently in-focus application gets the lion’s share of the CPU. Nothing like user-oriented design. And I mean, this aspect of Windows shows nothing like user-oriented design.

So anyway, on each of these occasions I would pop up the Windows Task Manager to investigate. Top of the list of CPU hogs was (gosh, horror) Firefox. This cannot be! But, on closing all those news pages with their flickering Flash ads, CPU usage very quickly returned to a normal level, and a few seconds later the noisy laptop fan slowed down. Aah, bliss.

The answer is, of course, to kill those Flash ads. I’ve got nothing against Flash ads as such – some of them are quite pretty, many of them add value, and some websites use them in polite moderation (ADT springs to mind as a good Flash netizen!). So you don't want to kill all of them, just the ones on websites that seem to have no qualms about hogging your CPU. Those websites do have to pay their bills, of course. But the people that code the ads should think about making them less processor-intensive.

My first thought was to use this as a bad excuse to have a go at writing a Firefox plug-in; to immerse myself in the XML-heavy, declarative world of XUL. Something like a simple On/Off toolbar button with which to allow/disallow Flash for the page you’re currently on.

Luckily though, there’s already a number of Flash-killer plug-ins available. Adblock is a good one, as it’s very flexible, not just limited to Flash "web annoyances".

But the one I’m using now – and it works a treat – is Flashblock 1.5. It doesn’t mess around with toolbar buttons like my own half-baked UI idea, but goes straight for the jugular, preemptively disallowing Flash on any page you visit. Instead, it replaces the little Flash window with a distinctive button, which – should you arrive at a page where you genuinely want to view the Flash content – you can click. The Flash movie is then activated, simple as that.

A nice addition would be to show some “Alt” text from the advertiser, so they don’t feel compelled to find some other way around the blocker. Remember, we’re not trying to cheat websites out of their revenue here (or advertisers out of their paid “views”, for that matter), just to prevent our PCs from belching out black smoke every time we view an ad-heavy web page.

I’ve noticed a real improvement in responsiveness on my laptop since installing Flashblock. Those Flash-heavy pages really were dogging the machine, slowing it to a crawl. It’s great to have my CPU back.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.