Windows ConfidentialHistory Taking Up Space

Raymond Chen

Remember Microsoft Bob? It was intended to be a friendly user interface on top of Windows® 3.1, but instead it flopped infamously (earning the dubious distinction of being named one of the worst technology products of all time by PC World). In the years that have passed since Bob's demise, the product has been relegated to the status of a running joke with the mere mention of its name drawing snickers.

Incidentally, Microsoft® Bob's internal code name was "Utopia"—an ambitious name to be sure, but at least one that had some snap and pizzazz. When we learned that the marketing folks had decided to name the product Bob, we all shook our heads in disbelief.

But there's more to Bob's legacy than you might know. It turns out Bob was actually more useful dead than alive.

When you intend to distribute your software on a CD, one thing you have to worry about is making sure your product actually fits on a single CD. Fortunately, it so happened that even after taking into account the disk space required for translations, support tools, and the other stuff that has to go onto the Windows XP CD, there was still about 30 megabytes of storage capacity remaining. The people who worry about these sorts of things figured, well, we already paid for all that storage capacity on the CD so we might as well use it, right?

fig.gif

Microsoft Bob's internal code name was "Utopia"—an ambitious name to be sure, but at least one that had some snap and pizzazz. (Click the image for a larger view)

The result was a rather feeble attempt to slow down the people who like to make illegal copies of Windows. Somebody decided to fill that extra capacity on the CD with dummy data and to have the Windows Setup program verify that the dummy data was still there. This, the logic went, would force people downloading a copy of the CD image to download an additional thirty or so megabytes of data. Remember, this was back in the day when "broadband" hadn't yet become a household word and mainstream users were using dial-up connections. Having to transfer an additional thirty megabytes of data over a 56Kb modem was a bit of an obstacle to slow users down—not that it would slow them down much by today's standards.

The person who was asked to implement this check needed a source for the dummy data. Now, he could have just called the CryptGenRandom function to generate 30 megabytes of cryptographically random bytes, but where's the fun in that? Instead, he dug through the archives and found a copy of Microsoft Bob. He took all the floppy disk images and combined them into one big file. The contents of the Microsoft Bob floppy disk images are not particularly random, so he decided to scramble up the data by encrypting it. When it came time to enter the encryption key, he just smashed his hand haphazardly across the keyboard and out came an encrypted copy of Microsoft Bob. That's what went into the unused space as ballast data on the Windows XP CD.

In the end, Windows XP became the most effective Microsoft Bob deployment tool ever developed. And if you go way back into your closet, dig out your copy of Windows XP, and can somehow channel the right spirits to mash your hands on the keyboard in exactly the right way, then out of your encryption program will come a copy of Microsoft Bob.

Raymond Chen's Web site, The Old New Thing, and identically titled book deal with Windows history and Win32 programming. He wonders whether nuclear fusion will become viable in his lifetime.

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; reproduction in part or in whole without permission is prohibited