One byte used to cost a dollar

Raymond Chen

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.



Comments are closed. Login to edit/delete your existing comments

  • Henrik Andersson 0

    This feels like a repost. Or perhaps it’s one of the ones from the book?

  • Warren R 0

    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 0

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

    • Alexandre Grigoriev 0

      I was expecting them to be just symbolic or hard links, but they are actually 32 bit executables.

  • Valts Sondors 0

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

    • Me Gusta 0

      There is actually a choice with this. When I got my Windows 10 it was the license key only.

      • cheong00 0

        And then for Win10 upgrades, they now distribute it with P2P method, hence they don’t have to shoulder all the bandwidth costs.

  • Yuhong Bao 0

    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.

  • Yuhong Bao 0

    I think the IA64 version of Windows Server 2003 SP1 shipped on DVD, BTW.

  • Yuhong Bao 0

    BTW, I wonder why “N editions” of Server 2003 was not considered. Many servers don’t need WMP.

  • Yuhong Bao 0

    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.

  • Ivan Kljajic 0

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

  • Entegy 0

    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.

    • James Sutherland 0

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

  • Charles Dye 0

    A byte was a dollar?  Sure; a dollar is eight bits!

  • James M Curran 0

    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)

Feedback usabilla icon