Q&A with Firefox's Blake Ross
dotlin writes to tell us the Seattle PI is running a lengthy and interesting interview with Firefox's Blake Ross. In the interview Ross addresses many of the issues surrounding the future of Firefox including their attempt to streamline Firefox in 2.0, the feature comparison between Firefox and IE, different ways of measuring browser market share, and many more.
and he must be going on 10 years old now :P
Seriously, it took a teen to turn the Mozilla project into something worthwhile. Imagine how great the world could be if we demote the old guard!
The day Netscape released the source to Navigator I compiled it and gazed in wonder at this 'real' browser I compiled on my Linux box. I followed the development of the Mozilla project from the failed start based on the old Navigator code via the slow-starting gecko-based suite all the way to the Mozilla suite. Then, suddenly, Firefox (under one if its many names) and Thunderbird appeared. They looked more modern than the Mozilla suite and individually had slightly better performance. I started using the threesome (Firefox, Thunderbird and the suite) next to eachother. For day-to-day browsing I used Firefox, for more involving things the Mozilla suite has always been more appropriate. I have also followed the development of Firefox (and to a lesser extent Thunderbird) closely, building local versions, testing nightlies, etc.
But... my experiences with the latest iterations of Firefox (both the 1.5 series as well as the 2 and 3 development series) have left much to desire. The biggest complaint is the incredible amount of memory the browser consumes - even without any extensions (errr.. Add Ons... Change the name only because Microsoft copies the feature under a different name...?) and with a clean profile. If a browser manages to bring a 2 Ghz system with 768 MB to its knees in a mere half hour of browsing there is something wrong. Unfortunately this often-heard complaint does not seem to get the attention it deserves. Firefox' development strategy being what it is there is not that much opportunity - other than by filing bugs - to influence priorities and design criteria.
So... lately I have switched more and more from using Firefox/Thunderbird to using the Seamonkey suite - the successor to the Mozilla suite. It still feels a bit more dated than Firefox and Thunderbird but it does offer much more in features while having a much smaller memory footprint. Add the Seafox theme and it looks quite a bit like Firefox/Thunderbird.
The way things look now I think Seamonkey will be my browser and mail app of preference. Should Firefox and Thunderbird ever run on top of XULrunner I might switch back but for now I have better things to do with my memory...
--frank[at]unternet.org
Since these issues are apparently fairly well-known about, is there anything that the Mozilla team has done to try to prevent or resolve them? Is there some easy way to kill an extension that may suffer from a memory leak at runtime, without taking down the whole Firefox or Seamonkey session? Likewise, for plugins. What about preventing such issues in the first place? Is there a mechanism in place to limit the amount of memory a particular plugin or extension can consume?
From the sounds of it, a lot of these problems are not much different than those issues that operating systems typically deal with: allocating resources to competing third-party programs (extensions or plugins, in this case). Perhaps it is time for Firefox to off-load such responsibilities to the operating system it is running above, and instead just provide a standard method of communication between an extension or plugin running as its own, separate, killable process.
Well I too am annoyed by this 'bug'/memory leak, and I have needed to close my browser and re-start at least once a day.
.NET, which alone, will eliminate all memory problems.
The problem with closing the browser for some people is that they may have lots of pages open in tabs at a time (one of the reasons for switching to FF in the first place). Now, you are going to argue that there is such-a-such extension that saves your tabs when you close the browser, but that is less practical when you have more than 10 tabs open at a time. I personally have around a dozen to 40 tabs open at a time every day (I do a lot of surfing), and having it force me to restart my browser is at least a 5-10 minute affair due to the number of tabs that I have open.
Essentially it should not come down to it being the user's responsability for what *I* consider a programming flaw.
On a side note: I consider this to be a serious problem. When you write a computer program that uses the malloc() command, what is the first thing that any Computer Science student learns in their programming course? Immediately use free() to free up the memory when you are done and are not using it (i.e. when you close a tab, free up the memory (yes you can close all your tabs and the memory is still being used)) otherwise you create a memory leak, which is not good. This is basic memory allocation 101. If you write a program that does have these major problems, you did not design the program correctly. Now, (this will probably start some discussion if modded high enough) I will venture that part of this problem was because the program is an open source program. (for sake of discussion) If FireFox was created by Microsoft, we would not have *any* memory problems at all because they plan and design things, and they do stringint testing to ensure that there are no memory leaks or other problems. AND to prove that it would not have any memory problems, they would have built FireFox on top of
"Never underestimate the power of the Slashdot!"
One thing I've always wanted in firefox: A download manager that can resume files, even after having restarted the computer. I have a friend with a modem connection and he has to use Getright (eew) because he usually downloads large files, and he can't leave the computer on all the time.
If I leave my FireFox pointing at a auto-refreshing page for a couple of days it *will* OOM my machine
;)
It might not be the best solution in general, but firefox has several settings to limit it's memory usage if you run it in non-typical situations. The relevant settings are really easy to google (first hit for 'firefox "memory usage"'), surely quicker than writing your post
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns