Great, buy me another 32GB then please</s>. People shouldn't have to have high end gaming rigs to run a sodding browser.
Mozilla (and google) are deluding themselves in thinking that their particular software is the be all and end all of a computer, and should be introduced to this strange concept called 'multitasking'.
Firefox: 1.5GB
Thunderbird: ~1GB
OS: 1GB (conservative estimate)
Various background programs: 1GB
Suddenly doesn't look so cheap.
What are you using, Windows? I'm running Ubuntu 12.04 and the "OS" (X, window manager, daemons) is certainly not even close to 1GB, more like ~100MB.
Here's a thought for developers: Next time you find yourself saying "RAM is cheap" (or any variation thereof) thwack yourself about the head multiple times with a big stick, then go rinse your mouth out with soap and water.
In any case, the number one evaluation criterion for browsers is not the RAM profile.
If performance matters that much, perhaps you should instead be asking why we are writing applications and UI in an ugly evolution of SGML.
Before you fault the Moz devs, ask yourself why we have CSS for high DPI images and why designers embed videos into website headers. Maybe your needs aren't at all times reflective of the majority. The browser serves the spec. The spec serves every case you care to imagine. Because that's what we evolved a doc format to do.
(Just imagine a parallel universe where it was instead MS Word that evolved into a facebooking client!)
Sure, Firefox, and every other program should use as much RAM as it needs. But we should be mindful of keeping that need as low as possible, at least for any program that falls into the category of "runs in a multi-program environment and probably won't be the only program running from a finite RAM pool".
I mean, sure, it sounds great to say things are sandboxed. But when the actual exploits either a) root the machine, or b) targeted the user directly, it seems that protecting tabs from each other really doesn't do much.
For example, see the Chromium docs: http://www.chromium.org/developers/design-documents/multi-pr...
And, still, kind of amusing that the entire point of the browser is that it is sandboxed from the whole computer. Seems if we just restricted what the browser was capable of as a whole, we'd be there.
1. The browser as a whole needs to have permission to do quite a few things, including reading from and writing to the filesystem (for uploading and downloading files), talking to your system's graphical environment so it can display windows, and accessing arbitrary hosts on the network so it can access web servers. It's just not possible to meaningfully sandbox something requiring so much access. Individual browser components, on the other hand, can be designed to do very specific tasks and are thus easier to isolate.
2. You want to protect not only your system from a browser exploit but also other parts of the browser. A site that exploits a browser vulnerability shouldn't be able to read your cookies for another site.
These reasons imply that you need to focus on isolating and restricting components inside the browser instead of the browser as a whole.