What ho! Hath the Fat Lady Sung?

May 19th, 2007

Well. It’s finally happened: my patience with Firefox has run out.

When Firefox first came out, it was a lean, mean, web-browsin’ machine that, even as a very preliminary beta-release, was stable, had a reasonable resource footprint, and ran like greased lightning. Installation was a zip–literally: you just unzipped the Firefox archive you downloaded into a folder, doubleclicked Firefox.exe, and there you were, browsing away. Compared to the lumbering, gout-ridden monstrosity that was Mozilla, Firefox was a fleet-footed Mercury that leapt to action in less than a second and could load even the most edemic, graphics-laden website in an eyeblink. Best of all, it was quite standards-compliant–unlike Internet Explorer 6, which still holds the title of Most Retarded* Browser Ever. I loved it. It was simple. No-frills. It did only one thing–browse the web–and it did it beautifully.

All non-necessary functionality was offloaded to extensions that users could choose to install if they wanted to expand their browser’s abilities. What a great idea! I could customize the browser any way I wanted to, adding the much-needed capability of downloading a PDF instead of just opening it in another browser window through Acrobat Reader, while eschewing functions useless to me (such as a browser-based spellchecker).

Firefox was, quite simply, the best web browser I ever used. When it finally went “official” with Version 1.0, I was ecstatic–especially since a vibrant web community had grown up around it. Not only did its community help it gain ground rapidly in the browser marketplace (initiating World Browser War II), thereby making it nearly mandatory that fewer and fewer websites be “Internet Explorer only,” but there were hundreds of coders Out There making new extensions for it. The possibilities were endless!

Of course, Firefox’s greatest strength–its customizability–was also its greatest weakness. Many extensions were poorly written, suffering everything from rampant memory leaks to browser-destabilizing code errors. It was generally easy to avoid these bad extensions, though: if you posted a dud to the Extensions Library, you’d be savaged by the Firefox community until A) you took the damn thing down, or B) fixed it. Everything was great.

Until Firefox 1.5 came out. Suddenly…Firefox wasn’t so sleek and slim anymore. I’ve always been one to keep a great number of tabs open at one time, which naturally demands a sizable amount of memory–but why, I wondered, could I keep, say, 25 tabs open with Firefox 1.0 and use up about 100mb of RAM…yet those same 25 tabs in Firefox 1.5 used 390mb of RAM?! That’s when I first began to hear about Firefox’s unchecked memory issues. Some said it was a memory leak; some said it was all because of badly-coded extensions and plugins; the Firefox developers had the gall to actually call this bug a “feature” and try to forget it ever existed.

Nonetheless, Firefox 1.5 might have become a serious resource hog…but it still worked great. Once I upgraded my computer to 1gb of RAM, Firefox could easily suck up 500mb of memory without impacting other programs. I was still annoyed by the massive memory usage, but the browser still worked. Every now and again I’d add an extensions which, for some reason or another, would create instability problems, but those situations were always easily solved.

And then Firefox went 2.0. That’s when the true suckage began.

I have never liked Firefox 2.x. Even without a single extension added, it’s slow, it’s full of built-in features (like that goddamned spellchecker) that I have no use for whatsoever, and it’s riddled with problems. Periodically, it spikes my processor usage to 100% for no recognizable reason. It gobbles up nearly 700mb of RAM on my new 2gb computer. Every extension I add–even something as simple as a bookmark toolbar alphebetizer–increases its resource footprint exponentially. I’ve dug deep into the user chromes to tweak every possible setting that might A) increase performance or B) decrease incidences of craziness…yet, day after day after day, Firefox behaves more and more and more like its predecessor, Mozilla Suite.

Quite frankly, I’ve grown sick of it. And, apparently, a lot of others feel the same way.

Recently, Wired Magazine posted an online editorial concerning the growing dissatisfaction of many Firefox aficionados with the progressive bloating of the once-simple browser. I am now adding my voice to that clamor: Firefox has outgrown itself. It is the browser equivalent of the hot babe with the smokin’ physique who lets herself go and ends up a fat, frowsy fussock after a few years of comfortable marriage.

And that’s just what’s happened: Firefox developers have grown too comfortable with their product. It’s now officially recognized as a world-class browser. It gave Internet Explorer 6 a solid beating and effectively overthrew it as the “default” web browser, so much so that the latest IE actually incorporates many design concepts that originated in Firefox. Firefox has proved itself a worthy contender…so now what? In order to remain a contender, feature creep has set in.

Feature creep, for those unfamiliar with the word, is

a tendency for product or project requirements to increase during development beyond those originally foreseen, leading to features that weren’t originally planned and resulting risk to product quality or schedule. Feature creep may be driven by a client’s growing “wish list” or by developers themselves as they see opportunity for improving the product.

Stuff starts out simple, then progressively grows more complex, mainly because it’s a common human trait to let things spin out of control. The more people you have on a project, the more likely feature creep will be, as everyone wants to plug in his/her/its own little design concept or idea to the mix. (Considering how many people are currently working on the Firefox project, it’s positively inevitable.) Feature creep just happens, no matter how hard you fight against it–and it is not necessarily a bad thing! Feature creep has actually been good for Microsoft Internet Explorer 7, for instance: it forced the Sloth of the browser wars to bootstrap itself up to at least the level of Firefox 1.0. In order for Firefox to remain ahead of IE, it’s only natural that its designers will want to include more and more “out of the box” functionality to make the browser a genuine alternative for average users who just want to install a piece of software and start to use it without having to worry about further extension installations and whatnot.

But feature creep is bad for Firefox, for two reasons: 1) it’s expanding the nature of the browser far beyond the original goal of the projects which made it so awesome; and 2) it’s distracting programmers from debugging existing code. Firefox at its core was meant to be nothing but a web browser; and and all further functionality–like spellcheckers, RSS readers, password managers, etc.–were meant to be offloaded to extensions. These functions do not need to be native to the browser itself. Include features that “out of the box” users need, yes, but keep that to a bare minimum. Plus, why bother adding a friggin’ native RSS reader to the browser when no one has yet been able to solve the memory-hogging problem?!

Firefox 2.0 is a damn mess. The end. It just does not work for shit on Windows, and apparently, works even worse on Macs. My buddy Jeremy, who runs it on his Ubuntu install, swears that Firefox works perfectly fine in a desktop Linux environment–but desktop Linux is, and always will be, nothing more than a hobbyist’s OS. The vast majority of desktop and notebook computers in the world run a Windows OS or Mac’s OS X: Firefox’s Linux support is ultimately irrelevant–if the damn browser runs like a dog on Windows and OS X, how will it ever be able to properly challenge Internet Explorer and Safari?

I have been reducing my Firefox usage every day since the week Firefox 2.0 came out and all the problems began to surface. I have run Firefox under Windows XP and Windows Vista, and though the program runs marginally better on XP, it’s still far too problematic for me to deal with on a day-to-day, pokin’-around-the-web basis.

Recently, I’ve found myself using Opera 9.2 a lot more. Which surprises the hell out of me. Opera–the Little Browser that Could–has finally begun to prove itself a viable alternative to both IE and Firefox. Only took ‘em 9 versions to get it right…but I digress. Heretofore, I’ve found Opera to be damnear useless for a wide range of reasons. Originally, it was because it was the only browser you had to pay for. Pay to use a web browser? Insane! I’m not about to use some piece-of-crap adware just because it has a faster rendering engine than Internet Explorer! But Opera wised up, and now the browser is 100% free. It’s also full of really useful features–like a built-in BitTorrent client, a password manager (natch), and it’s new Speed Dial function, which lets you keep an index of nine commonly-used web sites always at hand for easy loading. Opera has definitely seen feature creep…and yet the browser at most uses approximately 150mb of RAM and no more to keep twenty, thirty, forty tabs open at a time.

My biggest problem with Opera has been that very few “Web 2.0″ AJAX-laden websites work with Opera. Only within the last month or so have Google apps begun to work properly under Opera, for instance. Considering that the majority of the web is headed toward expanded AJAX functionality, well…that leaves Opera dead last in the browser race. But they’re catching up! I’ve found more and more Web 2.0 websites support Opera all the time (and vice versa).

If Opera 9.2 is any indication, it could very well begin to make inroads on even Firefox simply because it’s a truly healthy alternative. As Firefox grows fatter, Opera just becomes more muscular.

——

*In the most literal meaning of the word: “Occurring or developing later than desired or expected; delayed.”

——

Technorati tags: , , , ,

 

By Derek C. F. Pegritz on May 19th, 2007 | Scategory: Computer Nerdery |

Viewing 1 Comment

blog comments powered by Disqus