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.
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.