Wishlist feature for Firefox, and for Web 2.0 apps

(and because it’s not going to happen with FF, it’s something that Web 2.0 devs have to consider providing themselves)

“Show CPU usage and memory usage for each open window / tab”

…because with that one little (*) feature the community of firefox users could probably very rapidly track down all the bugs – some in plugins, some in webapps, some in websites, some in Firefox – that cause Firefox to spike to 100% CPU usage and sit there. There’s a load of these bugs, and when someone runs into one of them there’s usually nothing they can do about it, except stop using firefox or, if they’re lucky, stop using the plugin or website that caused it (often people fail to track down which is the cause because its so hit and miss).

I’ve usually had it caused by badly-written Flash on particular websites (usually as adverts randomly loading in), but now I’ve got it as a permanent condition. I may have to stop using firefox (100% cpu usage causes my poor little laptop to overheat and forces me to do frequent shutdowns :( ). NB: this is one of the common causes of overheating on the Macbook Air: badly-written Flash embedded in web pages. Of course, to keep this in perspective, the same Flash tends to hang other browser/OS combinations, so overheating is perhaps not much worse.

The more work that webpages are expected to do (nowadays: Flash + Javascript + Ajax + autorefresh etc) the harder it becomes for the users of a website to discover the bugs in the site and report them. As far as I’m aware, if you’re only making traditional pure Web 2.0 stuff – no Flash – then there’s nothing you can do about this. But if you’re writing anything with Flash or Java, especially with mulitple items per page, you should probably build-in some basic performance monitoring and expose it to the user if over a certain threshold. A lot of Flash games do this already to the extent they “downgrade” their quality settings. Usually, though, if they checked the CPU in the machine, or the RAM, they’d realise that the only possible reason they needed to downgrade was that something (probably the flash runtime, going on balance of probability here) had gone haywire and was thrashing the CPU. Sadly, they mostly just tell you to “buy a faster computer” instead. Even for truly trivial flash games that wouldn’t have looked out of place on an 8-bit computer.

(*) for the users, not so little for the developers.

Off the top of my head, maybe it would be possible to launch in an alternate mode where firefox would show up in Task Manager (windows) / ps (everything else) as a whole bunch of child processses, one per window, so that you could use your OS’s built-in features to track down the misbehaving websites, plugins, etc. I suspect that would be a vast amount of work and also cause such major differences in runtime characteristics that it would be self defeating.

Basically, though, as a developer and sysadmin, I *hate* every application author who makes their entire app appear as a single monolithic process when it’s clearly doing many indepenent unrelated things. It causes these kinds of problems, because it makes it much harder to use the OS to manage the application (and, generally, the OS has better quality tools and better quality management systems than those that are written by application authors). One day, I hope, the Mozilla foundation might find a way to switch over to using multiple processes.

3 replies on “Wishlist feature for Firefox, and for Web 2.0 apps”

I’ll second you on this one. I can often guess which of the 20 sites I have open is slowing my machine to a crawl, but numbers would be very useful.

Yeah! And if (allegedly) fixes a few other basic design flaws in the codebase while it’s at it.

Comments are closed.