Apple has pulled the tablecloth off the table stirring just a few knives and nearly tottering a glass three times since the early 1990s. They moved from 680x0 chips to PowerPC, from homegrown Mac OS 9 to Unix-standard Mac OS X, and from IBM/Freescale PowerPC to Intel Core, Xeon, and other CPUs.
Microsoft has been piling up dishes on top of its table during the same period of time - since about 1993 when it introduced Windows NT, which evolved into 2000, XP, and later releases. Every time the pile gets too smelly, dirty, or unwieldy, they dig a hole beneath the table, lower it into the ground, and spread a clean tablecloth that's got holes all through on top of the mess.
This may sound like a knock on Microsoft. But it's actually a compliment, perhaps of the wrong kind. Starting over is relatively easy because all your legacy problems go away, replaced with an entirely new set of issues that are typically less severe.
Microsoft has carried out an amazing 15-year journey in which it has managed to continue to support most of the burden in creating a software platform that works with thousands of unrelated hardware devices and computer configurations, while running hundreds of thousands of different software programs.
Regardless of whether you love or hate XP, Vista, or Server 2003 or 2008, you should still be impressed by their ability to pull this off. It's just amazing.
Randall Stross, a regular columnist for the New York Times, and a business professor at San Jose State University, argues that this incredible edifice should be torn down, a la Apple, and built again. He charts a quick and accurate path through how Apple got to where it did - desperation provoked rapid change - and how Microsoft remains somewhat complacent in the middle of releasing the dud that is Vista. Vista will still be installed on hundreds of millions of PCs in the next couple of years.
Stross hits the high points, but in his limited space he misses a couple of key issues. First, Microsoft did tear down to a new code base with Windows NT, released in 1993, which ultimately became the foundation for Windows XP. Windows 95, which was a kind of advanced shell on top of MS-DOS, evolved into Windows 98 and Me, the last a widely excoriated release. (Many people I knew at the time NT was released opted for it even for personal computers and laptops because they were sick of the 95-evolved platform's stability.)
Second, Microsoft doesn't have to abandon the past, nor continue to serve it slavishly. Rather, they can choose the route that Apple adopted for all three of its three major platform/CPU moves.
If you recall your Apple history, Apple offered emulation for each transition:
- The move from 680x0 to PowerPC required a form of 680x0 emulation on new PowerPC processors. Developers could create fat binaries, which contained old and new code, to support both processor architectures in one application (see "Should Fat Binaries Diet?", 1994-08-22).
- The OS 9 to OS X move was enabled through Classic, an emulation of Mac OS 9 in a separate window and environment in Mac OS X. It worked surprisingly well, and some people continued to run legacy programs through Mac OS X 10.4 Tiger; Leopard killed off Classic, at long last. (See "Mac OS X: The Future Is Here - Coming Soon!", 2001-03-26.)
- The PowerPC to Intel brain transplant uses Rosetta, an on-the-fly approach to swapping in the right Intel code on PowerPC-native applications. Developers can create universal binaries to serve old and new processors. (See "Apple to Transition to Intel Processors," 2006-06-06.)
It's critical to note here that Apple has never developed emulation software of any kind for sale: every bit of code they've written and deployed has been within their operating systems.
So isn't it just a bit odd that Microsoft, which has a virtualization software division that releases software to run one or more versions of Windows under various versions of Windows hasn't engaged in full-fledged emulation? Sure, parts of the system perform a charade for older software and drivers; but it's piecemeal.
I've wondered aloud about this for years when hanging out with Microsoft developers and engineers and employees in other divisions. Why not simply make a break with the past, and ship virtualization software complete with a full working version of, say, Windows XP and Vista that is locked to run only as a brain-in-the-box in the emulator? It's hard to see how this cannibalizes their market or makes anything worse than it is already.
Stross quotes Avie Tevanian, a critical figure during two of the three major swaps at Apple noted above, with the pithiest remark. Stross writes:
"[Tevanian] recalled how the decision was made when Apple's market share was stuck at 3 percent and the company was losing money. I asked Mr. Tevanian if he thought Microsoft could pull off a similar switch. 'Perhaps, but I don't know if it has the intestinal fortitude,' he said, 'At Apple, we had to. It was a matter of survival.'"
Obviously, Microsoft isn't hungry enough to shake itself up from top to bottom. But with Bill Gates finished up last week as a full-time Microsoftie, it may be time to tear down Windows in order to save it.