The other day Gartner published a warning that Windows will collapse unless something dramatic is done on Microsofts part.
Let me correct that statement: Windows has been collapsing for years, and Microsoft knows it. They also know that they’re screwed either way, and have so far been sticking their heads in the sand trying to ignore reality.
See, regardless of what Microsoft tries to tell you, they’re selling a product that is a legacy-system. They retired most of the Windows 95-codebase after Windows ME proved to be a spectacular failure in every department, but most of Windows XP, Windows 2000 and I would assume quite a lot of Windows Vista’s collective codebases date back more than a decade, back to Windows NT.
Since 2001 when Windows XP was launched, every release since then has basically just been another spit-n-shine polish of the old Windows NT-codebase. Sure, they’ve tacked on some new bits, but the core dates back to around 1996. Don’t be fooled by Vista either, even though Microsoft likes to hint at Vista being a complete rewrite (thus attempting to explain away the extended birthing process) it isn’t. It’s another legacy-OS dressed up with new clothing.
Windows has been falling apart for a decade. The only thing it’s really bored into peoples consciousness is that Windows is unreliable. By extension, this has caused a deep, almost subconscious feeling in the human population that computers are unreliable regardless of what system they’re running.
What Gartner suggests is that Microsoft is going to have to do a complete overhaul of the Windows codebase, or face complete and utter failure in every department. They point to the extended process behind Vista combined with it’s failure to live up to the hype as reasons why this is needed. Vista took a long time to develop. A long, long, long time. It required at least one complete restart of the project (that we know of, there might be others that Microsoft is black-bagging) and yet the reception to the new version can’t be described as anything more than lukewarm. And I’m being somewhat generous in that description.
Why did Vista take so long to produce? Simple. The codebase has become an unmaintainable jungle, and every effort to make it straighten up and fly right is failing. This is also reflected in Vistas much less than stellar performance. Even on powerful computers it limps along and is having a hard time keeping up with it’s much older cousin Windows XP.
Additionally, while a lot of people are quick to defend Microsoft using Windows XP’s success as an example, we need to remember what Windows XP was like when it was young. It was a temperamental beast lacking most of the hype that we were promised. Sure, it didn’t take six years to reach the market. But it took six years and thousands of patches, driver updates and general tweaking to get it to where it is today. It’ll probably take another six years of applying tough love to Vista to get it even remotely into shape.

“Why yes, this is the size of the Windows codebase!”
So, suppose that Microsoft actually bites the bullet and decides to overhaul Windows. It will take them years upon years to rebuild a new codebase that comes even close to delivering what people are expecting these days.
Apple is a good example of what Microsoft is going to have to do. Apples MacOS was failing miserably when it depended on the legacy of what’s now called MacOS Classic. Versions 8 and 9 were miserable and not well-received by the users. Apple did bite the bullet and did a complete overhaul of MacOS. It took a long time, a lot of work, and a lot of inventiveness but Apple now has an operating system that is flexible, robust, well-performing and scalable. All the things that Windows badly needs. MacOS can be scaled down to run on a cellphone, and it can be scaled up to run on supercomputers.
— Lots of semi-technical mumbo-jumbo starts here—
Along the road Apple had to make a lot of tough choices. Not too long ago there was an uproar about how Adobe isn’t going to ship a 64-bit Photoshop-version for Mac. This has it’s base in Apple deciding to not support Carbon, the API that Adobe has used to make Photoshop under OS X, in 64-bit environments. Carbon is one of the five API’s in OS X, and it was originally only meant as a transitional API. This was since a lot of companies (including Adobe) complained about having to port their existing codebase to Cocoa, the preferred API in OS X. Thus, Carbon was born, with the intention of retiring it when companies had gotten their codebases up to speed. Adobe never bothered, and now that Carbon is becoming history, Adobe has to rewrite Photoshop to use Cocoa in order to produce a long-awaited 64-bit version of Photoshop, which they originally should’ve done years ago. Apple made a tough choice deciding not to support Carbon under 64-bit systems, but it’ll be a choice that will prove fortuitous in the long run.
(Disclaimer: I’m not an Apple, Photoshop, OS X, Carbon/Cocoa or Adobe-expert. So any errors are simply my own)
— Lots of semi-technical mumbo-jumbo ends here—
This is a much simplifed example of one tough choice Apple had to make. Apple realized they’d had to do a complete overhaul, or go under when the ship sank. Microsoft is going to have to do the same thing - a complete rebirth of Windows with a brand-new codebase and a completely new approach to operating systems. They can no longer rely on their old codebase.
The difference here is that Microsoft will probably be screwed no matter what they do. If they decide to do a complete rewrite there will probably be at least a decade before we see a new Windows. Even then I doubt it will be a mature product. Think of it as being in a car-crash, damaging your brain and then having to learn to walk all over again. That’s what Microsoft is going to have to do. They can no longer rely on their previous knowledge (i.e. codebase) and will have to start from scratch.
Apple didn’t really have anything to lose. Instead they had everything to win by doing this. In 1997-1998, Apple was a dying company, desperately trying to find their way again. Microsoft on the other hand has everything to lose, and very little to gain. While they’re busy re-creating Windows from scratch they will lose customers. Apple is coming strong, with fairly innovative and high-quality products, at least considering they’re a corporation with profit-margins. On the other side of the forest are the hungry Free/Open Source systems. Linux is just as scalable, powerful and flexible as OS X - if not more. The big difference is that anyone can install Linux, without paying a dime, and without annoyances common in the Microsoft-sphere. No viruses, no firewalls, no rootkits, no NSA-backdoors into your computer, no EULAs and no trouble.
On the other hand, if Microsoft insists on continuing to re-use the existing Windows-codebase the problems will persist. Windows of the future will be an even worse, virus-infected, unstable thing. Microsoft will spend billions of dollars trying to reign in their legacy-code, spend fortunes trying to get it under control - and fail spectacularly.
Microsoft is damned if they do, and damned if they don’t. Either way, I think that the future of software and computing will be radically different.