The problem with Vista isn't the security features, or the heavy interface, or the absurd system requirements. The problem with Vista is the timing, which is the direct result of a short-sighted business decision. Imagine if Vista had shipped on time (that is, spring of 2005) with the majority of the features that it currently has, and actually kept the features that were promised in the beginning?
The cause for the delay? Backwards compatibility was the problem, or rather a slavish devotion to the idea that Microsoft, in their latest incarnation, must support software back to 1995. I realize that some UNIX users will chime in and say, "My binaries from 1970 still work!", but that's UNIX. Ask anyone who you don't work with if they have heard of UNIX. They will probably think you meant "eunuchs." I did the first time someone mentioned it to me.
(True story: while studying as a foreign exchange student in Northern Germany in 1999, the public computer labs were always packed full, with waiting lists, that lasted hours to use one of the 30 Windows machines. The 5 UNIX stations? I never saw anyone use even one of them. In order to save time, I learned how to use a UNIX machine.)
The problem with backwards compatibility is that it is a demon that raises its head every time we want to make a clean break with the past, and start something new. We reinvent the wheel every time we start again. And it's the same problem, over and over again. Microsoft had to solve the same issues when the produced XP, NT, 2000, 98, and to a much lesser extent Windows '95. It's a snowball, rolling down a very steep incline.
This is probably the one instance where Microsoft didn't copy Apple, and they should have.
Since the inception of OS X, there has been a feature called "Classic". What it really is is OS 9, running on OS X. It's more or less a virtual operating system. And voila, Apple solved the backwards compatibility problem. Apple is now free to move on, make innovative software solutions, and not be hampered by making everything work back to even one release ago.</p><p>And now, we have the ability to virtualize almost anything. Companies like VMWare and Xen are cropping up, making it possible to run an (almost) limitless variety of operating systems on a single machine. I run two separate instances of Windows on my desktop for cross version testing of websites with IE 6 and 7. I've run Windows/Linux machines. I've known people to have 5 separate installations on a single laptop (Windows, RHEL, CENTOS, ubuntu, Slackware). I can't even fathom why, but next time I see that person, I'll ask. With an Intel Mac, now we can run Parallels or Boot Camp (cheating, really, since you're dual booting, not virtualizing), making it possible to have unmodified versions of guest operating systems running simultaneously with OS X. Microsoft got into the virtualizations game very early, with a product that Mac users will be familiar with, VirtualPC. In a sense, Microsoft solved a much more difficult problem, since VirtualPC not only virtualizes an instance of Windows, but is also capable of translating processor instructions.
Microsoft dropped the ball. Because of their resources, they have the ability to become the world leader in whatever they choose to do. Imagine if they had been able to see far enough ahead, and anticipated the delays with making their latest operating system compatible with their earliest. That has been the primary cause for the delay, and the cause for cutting the early, promised, features.
Timing matters. Vista, released in 2005, with the promised features, would have destroyed any and all competition. And it may have even been a great operating system. It certainly would have represented a turning point for a company that a lot of people don't much like. It also would have triggered at least one revolution in computing, and probably two:
- Virtualization would have taken off like a rocket (and companies would have seen an instant reduction in hardware, data center storage, and energy costs)
- And perhaps more important, the idea that everything in the desktop space must be legacy compatible would finally die.
Compare the list of current features to the removed features. They had some great ideas. These two revolutions would have changed the face of desktop development and enterprise computing as we know it. And we who program for fun and profit would all have been better off for it.
Update: The backwards compatibility problems have been reaffirmed by another source – read especially the 5th paragraph:
Simply put, Microsoft had the chance to beat Apple to the punch and make a giant leap back in 1997 or so, killing off the existing Win32 platform in favor of an NT-based client and server that did not have to run legacy applications natively. They didn't, and we are still paying the price for it today.

Leave your mark