Tubthumping

A place to rant.

Tuesday, December 26, 2006

Why does Windows rule the world?

The Economist has an interesting article on why Windows rules the world. Much of the article discusses whether it's worth upgrading to Vista and the state of code bloat in Vista, MacOS, and GNU/Linux, etc. But the ultimate conclusion is that Windows favors simplicity, in design and functionality, sometimes at the expense of performance and customizability. And that consumers care most about something "easy to use and maintain."

Not surprisingly, I disagree with their assessment. First, their comparison of "lines of code" in Linux and Windows is fairly absurd - it's not clear that the 50m figure for Windows and the 213m for Debian are even comparing corresponding parts of the system. Even if they were, who says LOC = simplicity? Sometimes, more lines of code (in the form of more abstract interfaces) actually simplify the whole system, making it less bug prone and easier to update (important effects for the end user).

The author's assessment that Windows favors simplicity in use and maintenance is probably true. But I question whether it really does this better than, say, Ubuntu Linux. I wouldn't make this claim about many other OS distributions, Linux or otherwise, but I think Ubuntu's a great example.

As the article points out, even novices can install Ubuntu in minutes, but it claims that installing software is "certainly not for novices." If I want to install Firefox, for example (assuming it weren't already installed by default), I open up the Package Manager (from the equivalent of the Start Menu), search for firefox, click a checkbox, and hit "Apply changes." Okay, some of the UI choices aren't the greatest, but this is at least as easy as finding the Firefox web site, downloading the installer, and running it.

And if Firefox required some other library (like, say, OpenGL), Ubuntu will tell you that and install that for you, too! On Windows, you sometimes have to find the website of the maker of the OpenGL implementation you need, download it from there, and install it separately. Admittedly, most real software on Windows includes all you need, but I've definitely had to do this in the past, and it's pretty painful.

But what if you need to uninstall software? What if it conflicts with something else? Or you just need back the several gigabytes of disk space that Acrobat loves to hog? Or you're tired of the popups you get from the system tray when you log in? You can usually manually uninstall software, but any one who's done this knows that this rarely removes it completely. Files, libraries, and registry keys are left around, contributing to the overall bloat of the system (which is not the same as the code bloat described above). Some savvy Windows users I know reformat their hard drive roughly once a year to overcome the issues associated with this bloat.

With Ubuntu, fire up the package manager again, uncheck the box, and "Apply changes." Not too bad. It removes everything you haven't changed, and the stuff that might stick around (like saved documents) does not impact performance.

What if you want to upgrade software? With Windows, you get a pop up every once in a while indicating that there's a Windows update available. Ubuntu does the same thing, except it gives you the opportunity to upgrade your whole system - Linux itself, Firefox, Thunderbird, OpenOffice, etc. On Windows, you'd have to obtain a copy of the installer for the newer version of each of these software packages and run that, often after running the uninstaller.

But what about overall ease of use? It's hard for me to address this one. I'm so used to various Unix variants that I find them much more intuitive (even without the shell) than the Windows interface (which I used to be pretty familiar with).
But I recognize that that's a result of lots of experience with one system and less with another.

What I can give is a great case-in-point from this past summer. One of my housemates bought a printer. At one point, I wanted to use it, so I connected the USB cable to my Ubuntu laptop. Within seconds, a box popped up asking if I wanted to use this new printer (having recognized the make and model, etc.). I said "yes," and within a minute I was printing a document with this printer which my computer had never seen before. Another of my house mates tried this on Windows and gave up after 15 minutes, unable to get it to work.

This was not intended to be a rant against Windows. Obviously, Windows does dominate the market, and there must be some reason. I haven't figured it out yet, though I suspect it's the inertia of computer users.

But it's ludicrous to say that Windows makes it easier to install and maintain software, and questionable whether it's really easier to use for people who have never touched a computer before. At best, it's easy to install software on both. But people don't just install software. They upgrade it, and they remove it, too. These are places where Ubuntu's model is simply easier.