Thursday, May 14, 2009

FireFox 3.0.10 and IE8

Time for another, though much shorter, rant.

My Headaches with Firefox 3

I've had it with Firefox. I was late to jump on the Firefox bandwagon. I jumped on around 2.08 or so and upgraded all the way up to 3.0.10 as recently as two weeks ago. I upgrade Firefox as soon as I can, though I admit, I waited a bit to upgrade to Firefox 3; and it seems for good reason. At first, I was very impressed with Firefox 3. It provided better tab scrolling and seemed much more stable than Firefox 2. That is, until I "upgraded" to Firefox 3.0.9. Then everything came to a screeching halt.

You have to understand that I'm a power browser user. Some would say I'm just crazy. But I have so many things going on that I have a ton of tabs open (at current count, about 344) so that I can quickly get back to whatever else I was doing/researching within the past few weeks (ok, months). As Firefox has continued to release updates, its memory footprint continues to grow, rivaling Internet Explorer with it's famed JavaScript memory leak. At first, Firefox was crashing because I actually had 360+ tabs open and during loading all of the tabs, the process size reached 1.5GB, which is apparently the maximum process size on Windows even though each process has 3GB of memory space (go figure?). Ok, so that's my fault. But since then, I've closed unneeded tabs and had gotten as low as 320. My Firefox process size was around 600MB - 700MB. However, I experienced browser crashes 2 or 3 times a day.

Yay, Firefox came out with an update, 3.0.10. So I upgraded to that seeing that they fixed (yet another) memory corruption issue (how many of those things do they have??). I hoped that it would solve my problem. Nope. Firefox routinely continues to crash at least once a day, if not twice. I tried things like turning off Google Desktop Search (which is a huge memory waster anyway and should be uninstalled from every computer on earth because it puts its hooks into every single program that's opened on your computer). But to no avail. I've done some searching on this issue and have found that many are experiencing the same problem (I hear it can be much worse on Linux). This leads me into my next segment.

Enter Internet Explorer 8

OK, so Microsoft copies folks, but so far as I can tell, IE8 was in the works before Google Chrome hit (though, I can't be absolutely sure about this). Whatever the case may be, Chrome and IE8 use the same "memory model". Each browser tab is a separate process. This has advantages, and disadvantages. However, today, the disadvantages are smaller than they used to be.

When I first heard that Chrome used separate processes for tabs, I was not impressed. Sure, you have tab isolation, but at what price? Processes are heavy in terms of memory and creation time. However, what I didn't realize (and I was very surprised I had missed this fact!) was that in Windows 2000, a new type of process was created—called a job process. A job process is a new process, but it is related to some parent process. It's almost like a Unix fork, but not quite. In any event, these processes, while providing isolation, don't have as steep memory requirements or creation time. IE8 makes heavy use of the job process (as I'm sure Chrome does).

So I started playing around with IE8 last week. I must say I'm pretty impressed. It's stable, and if a tab crashes, it will attempt to reopen the tab. With IE8, you don't have to explicitly save your browsing session, just close the browser and all your tabs are remembered. Personally, I don't care for that. In fact, that's one thing I'm going to miss from Firefox, the Session Manager plug-in. I think one could be written for IE8, but I haven't seen one yet and I don't have time to write one. Anyway, IE8 only lets you save the last browsing session (since it's explicitly saved). You can't save multiple browsing sessions to open one up again at some later point. Too bad. That's a real short-sight. Another plus about IE8 is that it renders much better than it ever used to. I still have to put it through its paces though (and check out how much of ACID2 it passes). Overall, I'm very pleased with it and can't wait to ditch Firefox.

An Open Call (and Mind) to Mozilla

If you're going to release patches for a browser, especially a build update (e.g. 3.0.xxxx), you better do thorough regression testing to make sure you don't break the browser. That's what happened between 3.0.8 and 3.0.9. It just completely broke. 3.0.10 is better, but it's still broken. I think Firefox needs to get back to its roots as a browser: a low memory footprint, extensibility, and stability, and frankly, more cool features that just kill the browser market (tabbing was definitely a killer feature). I'm going to keep my eye on Firefox, but for now, I need stability, speed, and something that just plain works.

P.S.

To the Microsoft haters and open source lovers and the passionate (or even fanatic) people out there: this post is meant as an open honest discussion of my findings in regards to the latest Firefox 3.0.10 browser, and not about the quality of FOSS software, in general. This is particular to Firefox. Also, note that I did not say that I hate Firefox, only that it has become unusable to me. I'm disappointed with it. I hope that the next major (or minor, 3.5, is it?) release will resolve many of the issues I and others have been having. I'm willing to give Firefox another shot, but until I can actually use it to work (without it freezing up every 30 seconds for 10 seconds at a time), I will have to stick with IE8.

No comments:

Post a Comment