Saturday, September 19, 2009

Seven Is Not The One (For Me)

I dunno if I should be shocked, surprised or disappointed.

One of the last things I did while experimenting with various OSes on the Acer laptop was to take stock of the size of the install - the amount of space it took up on the hard drive. I figured it might be a good way to compare the relative "weight" or volume of each OS and then evaluate that in terms of the usefulness and productivity of the environment.

My assumption was, as history has shown, that the newer OSes would be bigger than older ones, and that turned out to be true. But in a Really Big Way.

In a nutshell, both Vista and Windows 7 were ten times the size of XP. Or bigger. That was a something I had not anticipated, and based on another important factor - performance - I came to an easy conclusion as to which OS - XP, Vista, or Windows 7 - was the best one for me. It's XP by an order of magnitude. Based on a pure bang for the buck value analysis, it would seem apparent that any OS thats ten times bigger and only fractionally better, if that, isn't worth the time, money and hassle of upgrading.

As I've written here and elsewhere already, the fact that the interface (look and feel) changed more than the underlying architecture (file system, security controls, API, etc.) tells me that the newer versions are more concerned with how they look than how they work. And that might not be a bad thing, but for me and the thirty-five years I've been using computing technologies, and the time delay between the release dates of XP and Vista, I would have bet money on the fact that the Very Smart Folks at Microsoft would have done the best they could to make their flagship product the very best it could be. You know - more secure, faster, more reliable. That kinda thing.

But that's not the case.

An operating system is traditionally defined as the "software heart of the computer, ...a set of programs that manage the hardware resources of a computer, provide the environment for application programs to run and provide the user interface." I think it's fair to say that Windows has grown quite significantly since its initial release in November of 1985, in size as well as functionality. Originally, Windows was not an operating system, but instead a graphical application environment that ran on top of PC- or MS-DOS. It was another ten years before Microsoft combined MS-DOS and the Windows GUI to create Windows 95. Windows NT shipped in July 1993 and was a true OS, but it was mainly used in professional/business circles and not marketed to the mainstream user. It was developed by Dave Cutler from DEC and his crew of minicomputer engineers, not by 'Softies.

Shortly after Windows 95 was released, Microsoft decided to ship their own web browser which was later integrated into the operating system. This decision introduced a wave of vulnerabilities that are still being exploited fifteen years later. In fact, Windows continues to be extended with applications that are of elementary utility, designed for the simplest of users, many of which contain weaknesses that can compromise the entire system. The media player, paint program, email client and web browser (Internet Explorer with ActiveX and Browser Helper Object architecture) permit execution of rogue code ("drive-by install") that can compromise system security and in many cases allow remote control of the system by unauthorized users.

In Vista and Windows 7, a feature called User Access Control (UAC) was added to provide feedback to the user whenever an application or process needed to make an important modification to the system. More code was added to attempt to manage the old insecure/buggy code that was probably so ingrained in the system that changes or security fixes to it would probably break tons of exisiting programs. My takeaway is that backward compatibility is a liability that constrains the OS from taking the more/most secure route. Microsoft shipped XP SP2 and KNEW they would affect application operation but made that decision because of the tidal wave of infections that were plaguing the platform. It was the right thing to do, without a doubt, and the world became a tiny bit safer that day.

Vista shipped with an entirely new driver model, and for the X64 platform, finally enforced driver signing where XP64 had not. Both changes were made knowing that users would likely need new hardware devices, as many old ones failed to install or operate properly under Vista's "enhanced" UAC feature or other "improvements" made to the OS. This is a painful reality of the evolution of modern operating systems - progress at the expense of compatibility - but sometimes it's necessary to leave behind the old ways in order to achieve more powerful results in the newer versions.

Most operating systems that compete with Windows in the twenty-first century marketplace are based on Unix, which has a long history of being secure and reliable. The mechanisms of user authentication and process control are baked-in to Unix and its cousins Linux and MacOS X, not layered on after the fact, like the UAC. By default, Unix/Linux users MUST login to the system and provide credentials each time some important change is requested, like an application install, driver update or security patch. This is done for the most obvious reason, to protect the computer and ensure the reliable operation of the system.

Until we get a mainstream Windows version that has security architected from its core, and while we are forced to use addons, third party utilities, and access programs like UAC to protect ourselves, we will not have a safe harbor for our computing and data storage. Microsoft needs to take a deep breath, and make the leap that will truly benefit the world, and break with the dangerous ways of the past. We need a Windows that is built Ford tough, a version that's really professional grade, a Windows that takes a licking and keeps on ticking. Unfortunately for all of us, Windows 7 is not the one.

No comments: