When Firefox launched in beta release five years ago, it burst on the open-source browser scene like a young Elvis Presley -- slim, sexy and dangerous.
Since then it has attracted millions of users, generally set the agenda for browser development and unseated Microsoft's Internet Explorer as the de facto monopoly in the field. But, with Firefox 3.0 poised for release later this year, the "IE killer" is in danger of morphing into an early Fat Elvis, if increasing numbers of die-hard fans turned reluctant critics are any guide.
Anecdotal reports of problems, from sluggishness to slow page loads and frequent crashes, have begun circulating in web forums, along with increasingly loud calls for Firefox to return to its roots. The alleged culprit: bloat, the same problem that once plagued Mozilla, the slow, overstuffed open-source browser spawned by Netscape that Firefox was originally meant to replace.
"Remember when (Firefox) was the 'light' browser, and if you wanted to load it down that was your choice? Let's go back to that," summed up one reader in a Wired News poll this month aimed at identifying the most urgently needed Firefox fixes.
When Firefox 1.0 arrived in November 2004, it was hailed as one of free software's crowning achievements. A team of far-flung volunteers had created a slimmed-down, standards-compliant web browser that beat the pants off Internet Explorer, which then dominated the market with 90 percent share estimates.
After strong early adoption by zealots and open-source advocates, Firefox started to win over non-geek users. In two years, the browser had carved out a 15 percent share of the market -- a once unthinkable chunk -- and it's still gaining ground.
But it's leaving many of those new users perplexed. Why is the elegant, community-built application suddenly behaving badly?
In our poll, readers rated Firefox's mysterious habit of gobbling up every remaining scrap of a computer's memory their No. 1 gripe about the browser. Complaints of slow performance and instability ranked highly as well.
Statistics are hard to come by, but our own experiences with the browser include crashes, memory hogging, molasses-slow page loads and the spinning beach ball of death. The problems are even worse for Mac users, so much so that last month, Firefox developer Colin Barrett broached the question on his blog: What sucks about Firefox on the Mac?
Mike Schroepfer, Mozilla's vice president of engineering, concedes that performance can be an issue, especially with memory handling. But he's also quick to place the blame outside the browser.
"Memory usage is dependent on the environment," he says. "Other software, add-ons, extensions and other things can impact performance."
Ah, yes, those damned add-ons.
When Blake Ross first started hacking away at the Mozilla Suite code to create what would eventually become Firefox, one of his goals was to slim the browser down by moving any nonessential functionality into a framework of user-customizable extensions. Today, popular add-ons for the browser include file-sharing tools, remote controls for iTunes and slick-looking user-interface enhancements.
Certainly, Firefox's infinitely customizable nature remains one of its most-loved features. But those third-party add-ons can also be the source of many Firefox woes. As users pimp their browsers to the extreme, they introduce a greater potential for performance problems.
In an effort to stamp out incompatibilities between extensions, the Firefox team has slowly been adding standard features that were previously available as add-ons. Firefox 2.0, released in November 2006, saw the addition of an inline spell-checker, an RSS reader and a new search engine manager.
Since then, however, complaints have become more visible than ever. When the final beta of Firefox 2.0 was released last year, the bloat controversy spilled over on popular geek community site Slashdot.
"I really wish Firefox would go back to the lightweight browser it once was," one commenter wrote. "The power was the ability to have extensions to do anything you wanted, but it was my choice which ones I wanted using my system resources."
Firefox developers have so far ignored that advice. More enhancements, such as a data manager for microformats, are expected when Firefox 3 arrives in late 2007. If the suggestions playing out on blogs, forums and bulletin boards are any indication, however, a return to Firefox's original principles of modular design may be the most desired feature for the next release.
Mozilla's Schroepfer says so-called feature creep is always a concern to his coders. To counteract that, he says, the main criterion for accepting new features has been that they enhance the browser without bogging it down.
"The general philosophy, and one of the reasons it takes so long to get features in the browser, is that any new features should not affect the startup time or performance of the browser," he says.
To keep the bulk down, Schroepfer says his team sets a high threshold for the addition of features. New features aren't built in unless they are useful to at least 90 percent of Firefox's users.
"If power users want something richer than that, they can turn to extensions," he says.
Despite those safeguards, some now-standard features could be adversely affecting performance.
Firefox's page-cache mechanism, for example, introduced in version 1.5, stores the last eight visited pages in the computer's memory. Caching pages in memory allows faster back browsing, but it can also leave a lot less memory for other applications to use. Less available RAM equals a less-responsive computer.
Firefox addresses this issue somewhat, setting the default cache lower on computers with less than a gigabyte of RAM.
Though the jury is still out on where the perfect balance between too many and too few features lies, one truth is apparent: The new web is pushing our browsers to the limit.
Ajax, Flash and other rich application technologies certainly do threaten to push the browser harder than it can handle, but those developments are irreversible. Unfortunately, as the web has grown, so have user expectations.
"The real cause of web bloat and feature creep is the rich content offered on the web these days, which goes so far beyond vanilla HTML in its performance demands," says open-source advocate Bruce Perens.
Another equally potent factor could be pushing Firefox inexorably toward complexity.
Slowly but surely, Internet Explorer is catching up to Firefox. In IE7, Microsoft added tabbed browsing and integrated RSS support to its browser. If Firefox is going to continue to compete, it will need to up the ante, but it must do so without making users add extensions (and possibly introduce those compatibility problems).
"I do believe that Firefox must contain more 'awesome' functionality out of the box," says blogger Chris Pirillo. "Otherwise, you're having to run a browser with a zillion plug-ins -- and none of them aware that other plug-ins might be running."
For the record, Pirillo says he swears by the lightweight Maxthon browser.