One byte used to cost a dollar

Raymond Chen

Raymond

Back in the days when software was distributed on floppy disks (remember floppy disks?), the rule of thumb for Windows was one byte costs a dollar.

In other words, considering the cost of materials, the additional manufacturing time, the contribution to product weight, the cost of replacing materials that became defective after they left the factory (e.g., during shipping), after taking data compression into account, and so on, the incremental cost of adding another megabyte to the Windows product was around one million dollars, or about a dollar per byte.

This was a cute rule of thumb to have, because it let you put a (admittedly somewhat artificial) monetary value on code bloat. Was your feature even worth the disk space?

Of course, the advent of the CD as the primary distribution medium changed the mathematics, but there was still great concern over the size of the operating system. It is my understanding that the Windows Server 2003 CD was basically “full”. It may not look full to you, but remember that your CD is probably the 32-bit English version. Additional space needs to be reserved for translations into other languages, and don’t forget that the 64-bit edition of Windows is roughly twice as big as the 32-bit version, since it needs to contain two operating systems, the native 64-bit one and the emulated 32-bit one. (It’s not quite that bad, because some files can be shared, and many 32-bit components can be jettisoned.)

And then distribution media switched to DVDs, and now it’s entirely online. I wonder what the cost-per-byte is nowadays. The cost is now in bandwidth, but it still costs money.

 

Raymond Chen
Raymond Chen

Follow Raymond   

16 comments

Comments are closed.

  • Avatar
    Warren R

    It’d be nice if someone would get back around to re-analyzing what 32-bit components need to be in the 64-bit version of Windows, especially on the client.  Every 64-bit install of Windows has two complete copies of Winver, DxDiag, Bitsadmin, Mstsc, and Notepad for instance.

    • Harry Johnston
      Harry Johnston

      I strongly suspect that there are 32-bit applications that use all of those.  Some applications are bound to shell out to bitsadmin rather than using the API, some will have menu items or other functionality that launches dxdiag and mstsc, and I know I’ve seen applications launch notepad to show you log files.  (The good ones will use the user’s default text editor, but there are bound to be plenty that don’t.)
      Not sure I see any really valid use case for a menu item that launches winver, but that won’t have stopped anyone from creating one. 🙂

  • Avatar
    Valts Sondors

    I actually bought the retail version of Windows 10 for both my PCs, box and all. And it comes on a USB drive these days, so there’s still a physical media involved. 🙂 Although it does connect to the internet to update and activate, of course. I wonder what the cost-per-gigabyte on that is. 🙂

  • Avatar
    Yuhong Bao

    This reminds me of DMF. I wonder what if MS OS/2 2.0 actually existed and then MS has to ship an update to the OS/2 floppy driver with every applications that used DMF.

  • Avatar
    Yuhong Bao

    What is fun is installing XP/Server 2003 on a 2GB to 4GB FAT16 partition. Each compressed file on the CD (using 2KB clusters) has to be expanded to uncompressed files with 32KB to 64KB clusters. I think 32-bit Windows XP/Server 2003 already takes more than 1GB on the hard drive, let alone the 64-bit version with the syswow64 duplication.

  • Avatar
    Ivan Kljajic

    Nowadays, rarely, it’s the required minimun size of the recovery usb stick that I (user) think about in terms of Window’s size… As in, “What are the chances any usb sticks in Dad’s desk are >= 16Gb?”.

  • Avatar
    Entegy

    The Windows 10 installer ISO, unmodified and with no extra languages, just barely fits on a single-layer DVD. What I find interesting is that the ISO size varies wildly depending on the language. The English US ISO for Windows 10 v1903 sits at 4.59GB. The English UK one sits at 4.60GB. Makes sense so far. But then the French Canadian ISO sits at 4.3GB. I would have expected non-English ISOs to always be larger, not smaller!

    ISOs were downloaded from MSDN in May. Your number may vary.

    • Avatar
      James Sutherland

      Interesting, presumably there’s some non-essential component dropped from the French Canadian version for some reason, maybe an instruction video or similar? At ~ 300 Mb, a few short video clips would explain it (and video would be harder to localise than most content; for US->UK you could just leave in in US English).
      As for the current costs – somewhere between 2 and 25 cents per Gbyte depending on volume and area, so if we assume each byte of Raymond’s code get downloaded at least a billion times (800m devices running Windows 10 per microsoft.com, but some come pre-installed, some get wiped and re-installed), costs today are still in the same ball park after inflation: vastly increased Windows usage has mostly cancelled out the much lower cost per byte of each individual copy.

  • Avatar
    James M Curran

    Back in the heyday of the IBM 360 mainframe, it was a major breakthru when the cost of core memory (i.e. RAM) dropped below $1 a BIT (and that was in 1960s dollars)