Now that Windows 7 is out, I thought it might be a good time to talk about why Vista sucks.
Once upon a time, Windows 95 did things the way it did because it was little more than DOS. Things like the Internet and multitasking were new, and it was Microsoft’s first attempt at them. Like all first attempts, they weren’t perfect. But Microsoft is real big on backwards compatibility. So even when something was completely broken, or a security risk, it was carried over in to the next version of Windows. In fact there are bits of code in XP that are unchanged from Windows 3.
Microsoft has been telling developers not to use these bits of code since Windows 98. “It won’t work in the next update.” But of course it did, because MS worships at the altar of backwards compatibility. And MS cried wolf with each new release. Until it was eaten by Vista. Much of the vaunted “improved security” of Vista comes from getting rid of the old ways — particularly with drivers — and it works. The old ways were insecure. But that didn’t mean people weren’t using them. And when a driver or program tried, it would crash.
Now you might think that means the developer is at fault. After all, they were warned about it. But this is where Microsoft failed to ghetto.
A computer ghetto is a punishment. When you do things the wrong way, you lose something. Perhaps you can’t use some new technology, or it runs a bit slower, or things just don’t look right. Windows 95 ghettoed well. DOS programs couldn’t use the full video resolution, and file names showed up like INVOIC~1.DOC. Developers loved it, since it meant that people had to upgrade their programs in order to work right.
Driver Signatures is the latest ghetto. There were so many buggy drivers out there that Microsoft started a program where they would look over the device drivers, and make sure that they didn’t crash the whole computer. If a hardware company failed to have their drivers looked at, a XP would suggest that there might be a problem with it. Some people viewed it as extortion, but it really was just an attempt to improve code quality.
But this is where they failed to ghetto. Many of these drivers were written by people who had been writing drivers since Windows 95, and hadn’t bothered to update their techniques. They didn’t crash XP, so they were signed. But they still used the old code that was due to be disabled in Vista. And when that happened, it crashed.
The best example might be to look at Roxio Easy CD Creator. CD burners first came out when 95 was new. The fastest, easiest way to write a CD burning program was to use the “upper filters”. Don’t worry about what they are, just know that’s how it was. It was a mess though. You couldn’t use more than one program, because they both installed drivers in the filters, and they would conflict. Windows 2000 included support for burning CDs and DVDs, so there was no need to write your own drivers. But you still could, just to maintain backwards compatibility with Windows 95. Roxio still does it the old way, and Microsoft still signed the drivers.
All is not lost though. Windows 7 knows how to ghetto. It has a list of drivers it will not load. It knows that despite being signed, Roxio sucks. If you see a message about not loading software from Sonic Solutions (Roxio’s name back in 1995) know that you are being saved by a ghetto. And uninstall everything from Roxio.