Although I swore I wasn't going to buy another Microsoft product—the last one I bought was '98, I've used Linux ever since—I recently bought an ASUS laptop computer that came with Windows Vista pre-installed. There wasn't any easy way out of it, if I wanted to buy a laptop locally. So I bit my lip and persevered with it, for a while, just to see what it was like. Fedora 7 was installed on it, later that day, and Windows hardly ever gets used on the thing. It's tempting to just delete it, but I've paid for it, and I'm not fond of throwing money away.
Over several months I've periodically had a play with Vista, and this is what I've come to think of it: Microsoft hasn't learnt much over the last decade, or so. They're still foisting a badly designed, over-priced, and under-achieving product on a mostly-unsuspecting public. Below are some of the key points that come to mind, and I've compared the Microsoft annoyances against another system that doesn't have them, to make the point that computers don't have to be like that.
I've used personal computers since before Windows ever existed. I've used quite a variety of systems, many of which most people probably haven't even heard of. And while most systems have various things about them that suck, Microsoft systems always manage to take the cake.
The start menu is still a jumble of disorganised programmes all shovelled in together, with only a few things put into their own categories (and not very user-friendly categories, at that). You can manually tidy things up, but no programme uninstaller/updater handles relocated start menu entries for their programme. They're still creating an initial menu that takes nearly a third of your screen space, hiding programmes in strange and changing locations, and requiring wading through a maze of sub-folders.
It's a very poor alternative to the Gnome menus on Linux, which comes with a few predefined menu sections (e.g. games, graphics, internet, office, sound & video, system tools, etc.), which contain links to programmes related to the topics, making it very easy to find what you want, or to find out about new software to do with a task that you want to do. If you want to view a picture, you look for a suitable sounding choice in the graphics menu; unlike the Windows start menu, where you'd have to hunt for something buried in a sub-folder named after the programming company's name, which gives you no clues to the content—you'd have to already know about it. When software is installed, links to it are also installed in the appropriate locations; and uninstalls do the reverse, automatically. Items are listed just once in a menu—with just one entry to start the programme, and not a clutter of items to start the programme in different modes, read documents about it, read other things about it, un-install it, etc.
Along with the huge and messy start menu, there's still plenty of un-resizable windows that require you to scroll all over the place to read a large message in a small space (especially when showing you unintelligible licenses), windows where you can't copy the text from (making it hard to; quote error messages on a mailing list for technical support, transfer information between things on your own computer, view licenses in a more sane reading window, or keep copies of licenses), and Windows Explorer windows which keep changing their layout as you navigate around, hiding information that you wanted to be visible (such as file sizes or dates).
Compared with, on Linux, well structured menus, most windows are resizable, most windows allow you to copy text from them, and the file browser has a far less variable behaviour.
At long last Microsoft has acknowledged the fact that users should have limits on their accounts, so that they don't run with full adminstrative privileges (which makes it easy to infect the computer with viruses; and for users to install things that they shouldn't, whether accidentally or on purpose). Unfortunately, they've chosen to do it in a really painful manner. While it's good that you're asked to enter a password before doing something risky, or something that you're not allowed to do, without you having to log off and re-log-on as an administrator, it asks you over and over, while you're in the middle of doing administrative chores. Anybody who has to do housekeeping work, is going to remove this restriction pretty quickly, making themselves very vulnerable to all the malcontents out there. It's seriously annoying to have to type in the password several times in a row, because you're moving four items in the start menu to new locations.
Linux, on the other hand, acknowledges that you've entered a password, and can remember that for a few minutes. So you can start doing adminstrative tasks, enter the password once, and carry on doing everything without being annoyed again. You can, at any time, cause it to forget that password with a mouse click, so you can instantly re-secure your system against errant fiddling. And you can configure it so that it never caches the password. Not to mention the sudo system that allows you to let some users have more privileges, with or without having to enter a password, and lets you control what they can run that way. It's also more sensibly designed so that no normal software needs you to log in with elevated privileges to use it.
I can't tell what's going to be put on my system when I go to install something. The package is sealed, I can't see what's inside it (most installers don't let you inspect the contents). I can't tell what it's done afterwards, there's nothing that I can look at, it's all managed behind the scenes. Looking in the directory that I expected the programme to be installed to is only half the picture—I can't tell if it's installed files into system, or other, areas, and I don't know what it's done to the registry. This makes fault finding, and repairs, damn hard. It's also a right mess installing some software, as sometimes it installs for all users (the most sane option), other times it only installs for that user, and often you have no indication which way it's going to go. The whole thing is completely untrustworthy from start to finish.
Compare this to Linux, where packages are an archive that I can inspect before installation. And I can query the system about what got put where, after the fact. Nothing is hidden, there are no secret little files or settings stashed somewhere. By default, software packages are installed to the system (i.e. they're available for all users), and appropriate permission is required. Settings that should be system configurations are actually system-wide and stored in system locations that ordinary users can't mess up, and personal configuration options are stored in the user's own space and will only pertain to the particular users that set them. Linux is much saner at keeping system and personal configurations separate, and storing them as completely user-manipulatable files. We don't have to contend with something like Window's obfuscated, ever-bloating, and unstable registry.
Microsoft still hasn't got out of the reboot it mentality. Almost any time that I've done Windows updates, I have to babysit the box for an hour, rebooting once or twice, for updates to take hold, and for me to be able to continue onto the next update, or just to be able to use the computer after an update. I could let it do automatic updates, but I'd find the computer rebooting on me, or seriously dragging its heels, while I'm in the middle of doing my work. And that's only taking care of the software that comes from Microsoft. Other software has to be updated separately, one at a time by hand, or automatically the next time I use it (which is seriously annoying—I wanted to use the programme, there and then, not get delayed for half an hour). And that's assuming that there is an update, and you may have to pay for updates to fix commercial software; software that you've already paid for, and should have received a fully working copy in the first place.
Let's compare that to Linux: A reboot is rarely needed, there's only a few things that actually require it, and some of them only require the reboot for the update to get noticed–you carry on using the prior installation in the meantime. It's a few moments work to start the update process going, or you can have it automatically check for updates and install them periodically. It will update all the software that's installed on the computer from Linux software repositories (the ones it came configured with, and any that you add to it), updating operating system files and your applications, all in one go, and you can leave it to do that by itself. You can continue using the computer while it's updating, you can even carry on using the software that it's updating. You'll still be using the prior version until you quit that programme, and the next time you run the programme, you'll be using the newly updated version, no rebooting required.
No, I'm not exaggerating the Windows time wasting, I do have fast computers, and I am on broadband. The whole babysit, download, install, rinse, lather, repeat, cycle is time consuming to complete. Made all the worse by the lack of information about how far along it's got through the updating process, and how much longer it's going to take. I've regularly had Windows waste an hour or more of my time, compared to just a few seconds to start updates on Linux, a few minutes for them to complete, and I can completely ignore the update process.
Then there's the performance of the computers, post updating. I've always noticed Windows getting slower and slower after updates, taking longer to boot up and start programmes, and slower to run things that are already loaded up. It acts as if updates add patches on existing files, each times it boots, rather than the update process replacing problem files with better ones, just the once. I've never experienced that with Linux. Whilst some of the slowdown is due to drive fragmentation, and improves (somewhat) after you defrag the drive it doesn't explain why the computer's slower to use, even when disc accessing involved in what you're currently doing (e.g. making use of things that are already loaded).
Windows still suffers very badly from drive fragmentation (the scattering of data across the drive, fitted into the gaps between other files). I had to defrag the drive after the last Windows update session, the computer had became hideously slow after the update, whereas it was fine just before. Windows file systems need regular defragging, and unfortunately, some of the cut-down versions of Windows don't give you a way to automate it. Windows Vista Home Premium gives you no indication of its progress, nor even any estimation of the time it will take (it simply says, “This make take from a few minutes to a few hours,” every time you run it). You just have to wait and wait until it finishes, with no idea whether it's working properly, or if it's just twiddling its thumbs. The first time I ran it, it took around two hours. The next time, just a couple of days later, not having done anything in the meantime that should cause much fragmentation, it took even longer to complete, and I wasn't even using the computer while it did it. So much for the notion that subsequent defragging operations will be quicker than the first. Neither is the sort of thing that the average user will want to put up with, nor have the spare time for, nor even know about.
One of the default filing systems on Linux, ext3, for example, hardly suffers from fragmentation, at all. There aren't even tools to defrag an ext3 filesystem, because there hasn't really been a need for them. And the time-honoured practice of using separate partitions for system, userspace, and temporary files, helps to avoid drive fragmentation issues becoming a problem. I've not noticed any fragmentation problems in the years that I've been using Linux, and I've filled drives right up, used them in nearly full states, mostly empty states, deleted lots of little files, written lots of little files, using the drive in all the worst ways possible for causing fragmentation.
If you don't want your Windows box to get infested with viruses, spyware, and other malware—which are mostly down to faults in the operating system, then the software you run on your system, and finally what the user does with it—you still have to acquire third-party applications to try and protect you. Many of which are expensive, and all of which are only partially effective (e.g. one recent assessment found that no anti-virus software handled any more than 60% of what might attack you). Vista has improved, over prior Windows versions, so that it's more secure; but it's still far from being secure enough that you don't need to rely on additional third-party help, and even that protection is tenuous.
It's quite hard to compromise a Linux box, generally you have to do stupid things for it to happen, and it already comes with what you need to protect your computer from yourself—a fully-featured firewall and SELinux, to name just two protective features. Any faults that do exist with the operating system, and other software, are fixed instead of relying on some third party to save the day. That leaves the final step up to the user, to not do something stupid. And no anti-virus system could stop a user determined to do something stupid.