A plea for lean software (1995) [pdf]
I have to commend Google here for bucking the trend.  To give two examples:<p>1.  They recently rolled out an update to GMail that they had worked on for some years.  Were these years spent figuring out how to make it fill available memory and processing?  No.  They were spent figuring out how to streamline.<p>Today, if you visit mail.google.com, the page loads in about the same time as a ping: that is because they got the login page down to just 56 bytes after compression.  That is the size of a ping packet.  This is an astounding achievement.<p>After logging in, 56 bytes isn&#x27;t enough to present much of a view, but it does the next best thing: in the space of the absolute limit for a single TPC&#x2F;IP packet, which is 64KB, the interface is rendered enough to see the latest unread emails, and to make the Compose button active.  After a single packet!  In my tests this took less than 7 milliseconds.  This is enough to render both of the main things one would like to do: compose a new mail, or view the latest mail.  In other words, after a single packet is received, a fully functional inbox is presented, and a fully functional Compose link.  The TCP&#x2F;IP packets that follow then load some javascript, but you wouldn&#x27;t know it from the interface, which stays the same as it loads.  I&#x27;ve tried manually throttling the interface after the single packet, when it was bare HTML, and could still click to request a view of mail or compose new mail, getting the result instantly.  In all, it is possible to enter and exit gmail while consuming a grand total of 2 KB.  To put this into perspective, this represents approximately 0.016% of 1 second of a 100 megabit connection.  Wow.<p>2. The other example I have from Google is Google Chrome.  In an era of heavyweight desktop apps like Firefox, Adobe Creative Suite, or text editors like Atom (which uses up to 3 GB just to open a text file)[1], Chrome does the insanely impossible: it uses less than 2 megabytes of memory to fully open, and less than 1 kilobyte of memory on each open tab.  Since Chrome has a 32-bit version, I tried running it on an old Pentium I that I had running windows 95.  It is a 300 Megahertz computer.  While not fast, it was able to open a hundred tabs in about 15 seconds.  That is 0.15 seconds for a new tab on a Pentium I.  On a modern quad core computer, a new tab is ready by the next screen refresh.  And it scales: opening ten thousand tabs takes less than 4.5 seconds and ended up eating 10 megabytes.  Wow.<p>To think about the low-level engineering that must have gone into this is just astounding.  Firefox chokes on a few dozen tabs.  Windows can&#x27;t even render a window that fast - they must have literally written more efficient low-level code than the built-in window manager for Windows.<p>In a world where software struggles to somehow use up all precious 16 gigabytes of RAM that you have, and eat up every cycle like it&#x27;s some buffet, it&#x27;s nice to know that there is some serious capability put behind behind small and lean.<p>It is clearly the right thing.<p>See for your yourself:
<a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090330212446&#x2F;http:&#x2F;&#x2F;www.google.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090330212446&#x2F;http:&#x2F;&#x2F;www.google...</a><p>Isn&#x27;t this the way things should be?<p>[1] <a href="https:&#x2F;&#x2F;discuss.atom.io&#x2F;t&#x2F;excessive-memory-problem-seems-to-be-settings-view&#x2F;42538" rel="nofollow">https:&#x2F;&#x2F;discuss.atom.io&#x2F;t&#x2F;excessive-memory-problem-seems-to-...</a><p>-------------<p>EDIT: three people read what I wrote literally (even though I linked an archive.org link).  I was kidding.  Unfortunately, I don&#x27;t have access to a magic GMail.  I have to wait 15-45 seconds for the new GMail to load.  It is literally the slowest site I use on the entire Internet.  The above represents my expression of what I know Google engineers would be capable of.  They&#x27;re smart enough.  I believe in them.  They can do it!