Firefox 3: Mozilla fixes what's broke

The Mozilla Foundation celebrated the arrival of Firefox 3 with a worldwide party and an attempt to set a new world record for the most downloads ever of a single software programme. The record attempt may have been silly, but there is something to celebrate.


Firefox 3 is the best Web browser I've ever seen. And I've been using the Web since before there were Web browsers .

As far as I'm concerned, Firefox has been setting the standard for Web browsers since it first appeared in 2004 . At the time, Microsoft 's Internet Explorer ruled the Web, and it did a lousy job. But unless you were savvy enough to try alternatives such as Opera -- or were still hoping that Netscape would get its act together -- you were stuck with IE.

Firefox was a breath of fresh air. It was everything that IE wasn't. It was secure and fast, and it supported extensions to transform the browser from a mere utility to the heart of the modern-day computing experience.

For a while, though, Firefox went into a decline. Mozilla kept adding features, but at the expense of memory, stability and performance. At the same time, Microsoft had finally been forced to improve Internet Explorer. Firefox was still better, but it was no longer that much better than IE 7.

With this latest version, however, Firefox is back on track.

Resolving memory issues

For example, one of the ways that Firefox 2 annoyed people was the way it handled memory. The longer their browsers were open, and the more pages were loaded, the more memory was used. The result for some users -- especially those whose systems didn't have much memory to begin with -- was that performance would drop to a crawl.

They also lost stability. With Firefox 2.x, I was averaging a complete Firefox failure -- all browser windows either freezing or closing down -- once every two days.

What was happening was that Firefox's bad memory management habits were zapping me. For example, Firefox 2.x used different-sized chunks of memory. Then, as it constantly grabbed and released memory, its memory map began to look like a beaten-up jigsaw puzzle. Here a hole, there a troublesome spot where someone had torn off part of a piece to make it fit, and so on.

In addition, Firefox 2.0 kept full-size copies of images in memory. When you displayed a JPEG or any of the other compressed picture formats, Firefox kept the full-size uncompressed images in memory even if you weren't currently looking at them. Since a single 100k image can eat up a megabyte-plus of memory, this old way of handling images can waste memory quickly.

Mozilla's engineers seem to have fixed that -- or at least improved it -- in Version 3. Now, if you're not looking at an image, it's been saved in memory in its original compressed format. They've also worked on the memory map issue.

Firefox 3 is now using expiration policies in its memory caches. The developers' thinking is that if you haven't retrieved a previously viewed page in half an hour or so, the savings in memory by dropping the page from your cache are more important than the small possibility your page will load faster if you retrieve the stale document. (For more explicit information on how memory issues have been tweaked in Firefox 3, a good resource is this blog entry by Mozilla developer Stuart Parmenter.)

The result is that, regardless of any other improvements, Firefox 3 is faster and more stable than its predecessor.

I found that, on average, opening and closing tabs on Firefox used up about 5% more RAM per browser tabbing session compared with Firefox 3. And in the weeks I've been running Firefox 3 on multiple systems on the same exact same PCs doing the same work as I was doing with Firefox 2.x, I haven't seen a single freeze-up.


Besides the memory improvements, I found Firefox to be both faster and more stable than its predecessor for other reasons.

Thanks to the vastly improved Gecko 1.9 Web rendering platform, Firefox makes complex pages -- like Computerworld 's own front page, with its text, graphics and animations -- pop, rather than be painted, on the screen.

To test that, I looked at a group of pages, first on Firefox and then on 3.0. (In all cases, I cleared the cache first.) I saw a 20% to 35% reduction in the time from when a Web page was summoned to when it completely appeared on the screen.

Next up, I tested Firefox 3 for its compliance with Web standards such as CSS, JavaScript, SVG and XML with the Web Standards Project's Acid3 test.

Here Firefox 3 scored 71, which isn't exactly a prize-winning rating; the latest version of Safari for the PC, Safari 3 .1.1, scored 87. On the other hand, the other browsers I tried, such as IE 7 and IE 8 beta 1, turned in even worse results. Since Safari's security could well be described with the word awful , I'll stick with Firefox.

For practical purposes, the only Web pages that are likely to give you trouble are the same ones that always have: Web pages that were designed specifically with Internet Explorer and ActiveX in mind. But I wouldn't worry too much: In the months I've been using Firefox 3, first as a beta and then as a release candidate, Firefox had no trouble rendering any of the thousands of Web pages I visited.

Find your next job with computerworld UK jobs