Saturday, February 28, 2009

Another reason I don't run Windows.

I'd like to start off by saying that I don't hate Windows. I just don't think it is a very good operating system in comparison to Ubuntu or OSX. Overall it provides a reasonably stable and consistent platform for users to interact with their computer.
Outside of work I barely ever boot up in to Windows. I do have a Virtual Machine of XP, Vista, and Windows 7 for the occasional dabbling. Regardless of my opinion of Windows I do believe it is important for me to keep up with its goings on, since IT is my profession.
So the other day I had my XP Virtual Machine booted up and I had a few things open. I left my computer for a little while to do a few other things and when I come back I have a message telling me that Windows knew better than that I needed my machine and all of its applications up. Apparently what I really needed to do was restart. In fact, I needed to restart so incredibly much that it wouldn't have been prudent for Windows to ask me for my opinion on such matters. It didn't matter if I maybe had some unsaved work open, or maybe I just didn't really feel like having my computer rebooted, Windows knew that I must reboot.
Believing that the computer always knows better than the user is a design decision that permeates Microsoft's products. Office is legendary for its paperclip that is about as annoying is a little chihuahua that won't stop yapping, and its auto-formatting that makes getting the right formatting in to your document a task within itself.
This behaviour also effected a coworker, when he was trying to give a presentation. Updates had been installed on his laptop, and about every five minutes his presentation would be interrupted with a prompt to reboot. Of course he wasn't interested in rebooting in the middle of his presentation, but Windows wasn't going to have it. He was either going to reboot or be annoyed constantly, his choice.
Operating system should be out of the way, should talk to you only when absolutely necessary, and provide a good interface for letting you quickly and easily let it know what you want. The purpose of the operating system is to understand your needs and act accordingly, not to let you know its needs and force you to comply.
It is very much like how cars work. When there is a problem, low on gas, an open door, high engine temperature, etc. it notifies you with a simple gauge or indicator light that is easy to access, but does not interfere with your driving. Likewise, the operating system should give you easy to access cues about what is going on, but ultimately let you get back to the issue of using your computer.