Share via

Windows ConfidentialScrapping the Scraps

Raymond Chen

It doesn't happen often , but occasionally an old feature gets deleted—with much celebration from the product team. In Windows® XP, for instance, the interface for setting a desktop pattern was removed. The underlying functionality is still there, if you can manage to write a program that calls SystemParametersInfo(SPI_SETDESKPATTERN), but there is no longer a built-in interface to it. Why was the desktop pattern removed from the desktop control panel?

Our research indicated that practically nobody used desktop patterns anymore. They were more popular when memory was more expensive and users didn't want to waste a quarter of the machine's memory on a 1MB wallpaper bitmap. A tiny little 8×8 monochrome pattern repeated over the screen gave some degree of personalization on a 640×480 display at a much lower cost.

However, changes over the years made desktop patterns less and less attractive. First, of course, is that computers now have much more memory than they did back in 1983. Second (also of course) is that monitors run at much higher resolutions than they did back then. A cute 8×8 houndstooth pattern is basically a gray smear when displayed on a 1600×1200 monitor.

That's not the only old feature on the scrap heap. Another example is scraps. Introduced in Windows 95, scraps appear as fragments of documents captured into a file. That file fragment is really an OLE object. The idea behind scraps was that you could, for example, highlight some text in a word processor and drag it to the desktop, where a scrap was then created. Later on, you could take that scrap and drag it back into the word processor or some other program, and the text you used to create the scrap would be inserted into the new document. It's sort of like copy and paste, except that instead of storing the data temporarily on the clipboard, it was stored in a file.


Now, once you created such a scrap file, the only thing you really could do with it was to drop it into another document, in the same way that the only thing you can really do with something on the clipboard is to paste it somewhere. At some point, somebody added the feature where you could double-click the scrap file, and it would open in the application that originally created it. (The contents could be anything, so the only way to display the scrap is to ask the program that originally created it.)

I don't know whether this feature was added as a debugging tool or so users could see what was in a scrap without having to create a dummy document to drop it into. Either way, virus writers loved this "open the application that originally created the scrap" functionality because it allowed them to create a scrap file and fill it with data that said, "The original application is cmd.exe, and the document fragment is this batch file." When somebody double-clicked that particular scrap file to see what was in it, the scrap viewer handed a batch file to the command processor and said, "Please open this and show it to the user."

Given the history of scraps, the shell team set out to remove the feature from Windows Vista®. In order to do this, the team had to research how popular scraps were in the real world. So the shell team asked the product support group to call up the group's logs to see how many people called with questions about scraps. The theory was that a popular feature gets support calls and unpopular features don't (because nobody is using them). Scraps in particular don't exactly fall in the "blatantly intuitive" category of features, so a small number of calls couldn't be explained away as, "Well, the feature is so obvious that nobody needs to call to get help with it!"

The answer came back from the product support group. In the past year, the group received a total of four calls. And all of them were of the form, "I created this strange file. What is it and how do I get rid of it?"

Raymond Chen's Web site, The Old New Thing, and identically titled book (Addison-Wesley, 2007) deal with Windows history and Win32 programming. It's been ages since Raymond has seen you, and he wonders how the family is doing.

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