Windows Has Been Collapsing For Years
Posted by isecore on April 14th, 2008
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.
License
This work is published under a Creative Commons Attribution-NoDerivs 2.5 Sweden License.







April 14th, 2008 at 04:10
“I think that the future of software and computing will be radically different.”
I certainly hope so. I remember the latest time it was fun to poke around in my OS on my computer, I mean, really fun and interesting. It was on the Amiga, and that is a hell of along time ago. Poking around in Windows has never been fun, at best it has been a long prolonged agony. There are applications and games that are fun but I can´t blame Windows for being fun in any way.
April 14th, 2008 at 08:34
I lost much of that enthusiasm around Windows 95, I think. Previous to that I was naively happy about Windows. Or something to that effect. Windows 95 was the turning point for many things - it was when I started to feel less enthused about software, and it coincided with Microsoft shifting focus from producing software to producing tales about software.
But I rediscovered a lot of my love for computers after switching to Linux (Ubuntu in my case). Once again the computer felt like a discovery waiting to happen, once again my computer felt like MY computer, once again I felt happy using my computer - even when it acted funky. Why? Because once again I felt that even if there were issues, there probably was some logic to it, rather than Windows just being crap, without any chance of changing it.
April 14th, 2008 at 09:54
Uh…I opened up my old IBM Thinkpad 380 Z, after a couple of years non-use. Surprisingly, the Windows Millennium program worked a smooth as silk. Isn’t that a head-banger?
April 14th, 2008 at 11:10
I assure you, that computer is the only known somewhat working Windows ME-installation. It’s the exception to the rule, and in the world of computing that system is a flying pig.
I’m certain that even Microsoft themselves would be surprised to hear about an actual ME-installation that didn’t need reinstalling every 2-3 weeks and doesn’t bluescreen five-six times a day.
April 14th, 2008 at 12:50
Damn…that was a damn good article. I still can’t get over “damned if they do, damned if they don’t”. Maybe I should move to Mac too
April 14th, 2008 at 13:27
Well written as always.
but Ms is in a bad situation today, they will sink if they don’t change and sink IF they change. Change to a new kernel incompatible with current software (games etc) and no-one will see a reason to buy the “new” windows. They live because of compability. It sucks to buy a new computer with a new OS have nothing to do with it, no games, no word etc. Vista still runs all my games and apps (well, most of the apps). OSX managed this by having OS9 emulated (or was it even older os versions?) in a wmvare like environment. but can this be done for windows, esp with today’s requirement in performance?
If windows NewEdition comes out, and none of my apps/games work. I might just as well stay with XP or go on the ubuntu band-wagon. This is where MS looses out. A lot of corporations uses programs limited to old versions of windows and with to few users to make it feasible to rewrite those, sometimes large, programs. And they might just as well drop MS altogether if this happens and go with osx or linux.
I hope windows 7 will do more then xp->vista did, both for MS and myself. I can not stand linux today, guess I’m incompatible with it.
Or i should just forget about gaming on PC and stick to proprietary systems like my newly bought PS3.
MS will need to take the hit, just like apple did. They will probably loose money for the stock owners but they can afford it.
April 14th, 2008 at 15:01
You put too much faith in Windows 7. It won’t be anything more than yet another rehash of the same codebase. I find it very difficult to imagine Microsoft managing to actually make something that provides real, genuine incentive to upgrade rather than artificially forcing the users.
As for Mac, what you’re talking about wasn’t emulation, it was a complete installation of OS9 wrapped inside OS X. It was provided as a way to run legacy-applications inside OS X. The concept died when Apple left the PPC-platform and switched to Intel, since there’s no Intel-version of the legacy MacOS available.
April 15th, 2008 at 02:05
Microsoft can buy a new system and port vpc for legacy support
April 16th, 2008 at 07:50
Harri: that might work for office applications but what about all performance critical stuff, like games?
I have yet to see a emulator run a game even remotely close to original performance (if they even have access to 3d acceleration).
Backwards compability is really important for MS and their users and loosing that means utter doom for ms and their stockholders.
April 16th, 2008 at 10:41
Henka: What Harri said was that Microsoft should start fresh with a new codebase, and use emulation for legacy-stuff. Games would simply have to adapt, unless a solution can be find whereas code for the legacy-system (where games would fall) can be adapted to either the new system, or where the legacy-system can support such applications.
I’d say it’s a far from perfect solution, but of the choices available to Microsoft this would be the most painful for them. It would still mean alienating most of the users, but it would allow Microsoft to keep some backwards compatibility with legacy-software while still starting fresh.
Essentially it would be the same thing that Apple did when they introduced OSX, yet had OS9 baked into it to support legacy-applications that wouldn’t or couldn’t be ported to the new codebase.
April 16th, 2008 at 17:29
I also feel that a fresh start with an emulator-mode for old legacy software would be the best way to go. Especially if the emulating-mode is optional during installation and is available for install later should you ever need it. At first there would surely be a lot of games that suffered because of imperfect emulation and the loss of speed. Both of those problem would slowly get better, at least until no one cared any longer about those old games. Seriously though, how many of you still play dos-games on a regular basis?
April 16th, 2008 at 18:42
I remember reading articles and opinion-pieces in computer-magazines way back in the early ’90s, saying that IBM/Microsoft/etc should ditch the legacy-hardware as well as software. The authors maintained that the PC as it was then was completely antiquated and that the then-powerful 486s had no problem emulating the legacy if needed.
I always felt that was what they should’ve done, but it never happened. PC’s grew to be hundreds of thousands of times more powerful, yet they still always had their feet in the x86-legacy.