Windows Vista is going to be really cool. It has all these nifty utilities and awesome animations, with a lot of hard work at the core too.
But Vista is the end of line. I’m not saying Microsoft won’t make another Windows, they probably will, but it’ll be a mistake. Even Vista was a mistake. Technology just doesn’t work that way, and it can be a treacherous beast to tame and fatal to maim.
Microsoft has two things going against it; two things that make Windows dead; and two things that could mean the end of line for everything Microsoft: Microsoft’s insistence on backwards compatibility, and ultimately, their failure to recognize change and move on ahead.
Everyone has, at one point of time or the other, discussed Microsoft’s unwillingness to let go of Windows’ backwards compatibility with older products and versions. For every byte of code Microsoft keeps in order to support its previous decrepit versions, it has to make up for with two new bytes instead. As such, instead of getting leaner and meaner at at the core as a result of code optimizations, enhanced instruction sets, new standards, and other improvements, Windows only gets bigger and slower at the core, and all the enhanced go towards covering for all the bloat – instead of making it a better operating system than it already was.
The problem is, no matter how much you tweak Windows Vista (or even XP as a matter of fact), it won’t make a difference, with lower hardware you’re going to get lower performance. So seeing as a person that wants to buy any new version of Windows would be best off upgrading their hardware as well, what’s the point in beating around the bush and even supporting that old code at all? If Vista were shipped with SSE2 optimizations built into the core, hardly anyone would be unable to run Vista – but the effect in terms of performance boosts and binary sizes would be enormous. If Windows didn’t ship with support for motherboards and chipsets from the early 90s that can’t even run Windows anyway, no one would lose and everyone would benefit – Microsoft most of all.
It’s not about the backwards compatibility, it’s about a reluctance to move on. All backwards compatibility issues could be solved in 10 minutes by shipping Windows with the already-free Virtual Server, and a stripped-down version of the Windows 98 kernel for anyone who wants to run DOS games to have fun emulating – it doesn’t cost Microsoft a thing, it guarantees a higher level of backwards compatibility, and everybody wins.
All this points to but one thing: Microsoft is afraid to let go and move on. Windows was the prize-winning racehorse between Windows 98 and throughout Windows 2000, but no beast lives forever, and alas, we must all feel the effects of old age – and software is no exception.
Open your start menu and check out the “Accessories” folder: who uses anything in there anyway (forget the System Folder for now, OK…)? I mean, Paint hasn’t changed since Windows 3.1, and no one but the kindergarteners at school use it – especially when there’s freeware like Paint.NET to be had. The Windows Sound Recorder was cool in 1996, but who even uses WAV anymore, when Microsoft’s own WMA-lossless codec ships with Windows? But even this is not what it’s about.
we Microsoft knows it is gone. Windows hasn’t changed at heart since its initial release, and Microsoft’s only chance of making a difference with the creation of on all-new kernel with the birth of NT was blown away by a decision to keep backwards compatibility with the DOS line of products (Windows 3.x and 9x); leaving it to inherit all the disadvantages of a buggy, decrepit, and antediluvian core, and nothing to gain.
And today history repeats itself. Vista could have been – it really could. If Microsoft didn’t insist on supporting hardware that wouldn’t support Vista in the first place, if Microsoft didn’t ship Windows with the same software it had for the past 15 years (and yet they took pinball out!), if Microsoft decided to make that bold move and turn Windows into a true next-generation platform of reliable code and core that they could have built over and improved on for the next ten years, Vista could have been.
Other operating systems have made the same mistake, it’s never too late to go back and fix what went wrong. Macintosh was a dying product until the switch to NeXT with OS X, they were on the same line but vowed not to look back, and no one complained. Linux had it’s history of mistakes and miscalculations, but it’s open-source nature left it possible for the community to drag it back on track as soon as they realized it was off course, and it became a modular operating system that could transform into something new at will – and now only Microsoft is left.
And that means there is hope. They’re not the first, and if Microsoft catches on in time, they won’t be the last. The brilliant minds are definitely at work, the amazing Research Team is there (with Microsoft Research publishing astounding programs and next-generation utilities under flexible open-source licenses), the management is capable and in control, the money necessary for research and progression is present, and most importantly of all, the drive and need for perfection is in full-steam and capable of making all the difference – all it needs is a push in the right direction.
Amazing article CG, I agree with it entirely. Especially about Paint, I have some ideas floating around in my head about how it could be improved and its so strange folks at MS have not seen the opportunity to do so. The future of Windows I have to say after reading this is definitely uncertain.
“If Vista were shipped with SSE2 optimizations built into the core, hardly anyone would be unable to run Vista – but the effect in terms of performance boosts and binary sizes would be enormous.”
I’m not sure there is that much in operating systems that would benefit from vector operations.
Anyway, lots of programs ship with support for SSE2/3dnow extensions. The capability is detected at run time and if the processor does not support the instructions the software defaults to a non vectorised version of the code. There is no reason MS could not do this (if they don’t already…).
I… actually still use Paint (2008).