Thoughts from years of using Free Software in the wild
Windows 7 review — from a Free Software activist
Note: This is a cross-post from my personal blog.
I was curious to see what the final Windows 7 release feels like.
Remember, I’m a hardcore Free Software activist, but I’m also a gamer. And Windows is the only serious operating system for games. Not because the system is especially suitable for gaming (a non-multitasking OS that passes all control to the game’s threads might be much better), but because most game developers target Windows. In gaming, only the sheer market size counts, weak technology be damned.
Anyhow. Coming from a very happy experience with KDE 4.3, I had a modern desktop system to compare Win 7 to. And as my employer is full of Mac OS X, I know what that OS feels like, too. I myself have more than twelve years of experience with FOSS operating systems like GNU/Linux and FreeBSD, so I thought I would be in a good position to review Windows 7 from the mixed perspectives of a gamer, a user, a developer and a connoisseur of many operating systems.
If you wonder what FOSS means (yes, I this is for you, new reader), it stands for Free and Open Source Software. I myself like to call it Free Software because I agree with the ethical/moral components. This is something that plain “open source” lacks, but because I don’t mind the OSS people, I call things FOSS. There, we’re all happy now
When I talk about “FOSS systems” I mean the Free Software and/or open source operating system families: GNU/Linux, the BSD family and OpenSolaris.
Some of this is tongue-in-cheek (you’ll notice), but for the most part, I’m dead serious.
Installation and setup
Installation went smoothly, Microsoft have almost caught up with the FOSS systems now and it’s nearly as easy to install Windows as it is to install GNU/Linux. The installer is just not powerful; you don’t have any decent partition resizing tools included, you can’t play Tetris or browse the web while the system installs, the silly thing can’t even install a decent bootloader. The Windows boot manager still believes that only one system needs to be installed on a machine. It flat out replaces any existing bootloader with itself, and then only displays Microsoft operating systems for booting.
This is plain rude, that’s one thing. But it also shows how limited Microsoft’s bootloader technology is.
The FOSS systems ship with bootloaders that can effortlessly boot ay number of operating system from any vendor. The more user-friendly systems such as Ubuntu even recognize Windows installations and automatically set up a boot menu entry for each of them.
I would expect a partitioning tool that you can run from the CD in this operating system. It was the Professional version of Windows 7 I tested; hopefully this is aimed at professionals. As a professional I’d expect a CD-bootable partitioning tool and a decent bootloader, because all other operating systems have one. The reason it needs to be CD-bootable is that you cannot modify a partition you have booted from. Windows does include a rudimentary partition editor that you can use after booting, but it only supports very few filesystems compared to e.g. GNU parted and its GUIs.
After three reboots (why three reboots? Why isn’t one enough like with FOSS systems or OS X?) I was greeted by a Win 7 desktop. Nice! Unfortunately, we have the German version and there’s no way to change this. No language packs, it’s single-language only. That’s quite weak. Other operating systems let you choose the language before installing and it’s no problem to have multiple languages installed side by side.
Even though the language is set to German, the help files that appear are sometimes German, sometimes English. Not a lot of consistency here. Most other systems perform better in this area. On GNU/Linux it’s a mixed bag because some program-specific help only exists in one language, but this is the same problem on OS X and Windows. The advantage is that with a FOSS operating system, I could at least take part in the translation. With Windows, this is impossible.
The system installation disc now includes some drivers, just like GNU/Linux has always done, only with the difference that they are non-free on Windows. Oh, and the disc is three times the size of a typical Ubuntu CD. But I digress. It’s nice to see that the graphics card actually manages more than 1024×768 out of the box now, like on other systems.
After installation, the system helpfully prompted me to find some antivirus tool. Even though it’s the German version, I wasn’t offered Free Antivir by Avira, the most popular free antivirus tool in German-speaking Europe. I had to download this myself using Internet Explorer 8. The download stopped halfway through. I have no clue why, this usually doesn’t happen on this hardware. I tried from Mozilla FIrefox instead, and the download came through. I tried to install the thing and a window popped up asking me to give administrator privileges. These privileges are given by simply pressing the “yes, fine, sure” button. No password. Questionable security, probably a response to silly people who couldn’t see why you had to enter a password for such actions… I’ll get back to that later.
Windows Update wanted to install a few urgent updates. It downloaded the files and tried to install once. The installs all failed. It didn’t tell me why. The system log only showed “an error occurred while installing…”. I retried and one install went through, the other failed. After another try, all installs went OK and the system wanted a reboot. I had known such erratic behavior from earlier versions of Windows, but I would have hoped that they could provide some more information on their latest release. On the other operating systems, you can at least find out what went wrong in such situations. Failing everything, you can strace/dtrace the binaries. And you have the source code so you can dig into the problem.
It left me with a feeling that this OS is unreliable. Not something I like to feel, concerning an OS.
Windows Update wanted to reboot after installing the updates. Why does it need to reboot? Other operating systems only need to reboot when the kernel is replaced, once every few months if it’s a bad year for kernels. This is odd. Do the server versions of Windows need that too? Creepy. How can you run a server park like that?
I tried to install DirectX 10, but the Games for Windows website was down. A few hours later, it worked. No explanation was given.
I tried running some older games that were on the hard drive before. Windows isn’t very good at just running a bunch of executables, and it failed to upgrade from XP to Win 7, so all the games that were installed before are now helpless as a jellyfish in the desert. Since Windows has no clue about dependency or package management, the only choice is to reinstall the games from their original installers. This is a lot more annoying than a simple apt-get install foo on a naked system.
I realize that Windows users are used to this limitation of their operating system, but coming from systems that can do this better, I don’t know how someone could put up with it. I only play games on Windows, so it’s not particularly bothersome, but even installing a bunch of games can profit from proper package management, such as the one that e.g. Debian-like systems such as Ubuntu are built on.
But it’s beside the point anyhow, as with a UNIXoid system I could have just upgraded my system, leaving the originally installed applications alone (they would have been upgraded with the rest of the OS). I have one server whose Debian I’ve upgraded since 1998 with no real issues. From XP to Win 7, you can’t do that.
Interface look and UI design
Fonts look rather horrible, even with ClearType font smoothing and after a bunch of attempts of recalibrating it. Switching it off makes things look even worse. Windows font rendering is not quite as nice as the one found in Mac OS X or the FOSS systems. Characters on Windows often look fuzzy and not evenly anti-aliased. Kerning seems to be a bit random sometimes as well, although it depends on the font.
To keep things fair, I’m only looking at Microsoft’s own fonts, but the odd kerning happens even there. While trying to provide screenshots for this section, I found out that Windows does not include a screenshot tool and the supplied Paint program is very limited (it can’t take screenshots either, but you can paste them there via PrtSc and paste). In contrast, many FOSS systems ship with The Gimp, KDE ships with Ksnapshot and Krita. All of those programs are powerful compared to what’s on Windows, and they are free (as in freedom and beer).
The system overall looks a bit too mixed to be beautiful. Window content is grey and boring, borders are blurred and stylish. The dock (what the task bar evolved to) uses fancy vector-based shading behind various icons, while other areas of the system don’t. Each on their own, the interface elements might look nice, but the mix feels very awkward. It’s like a room with 1960s spherical chairs (with orange cushions) placed around a 2008 Ikea living room table, on an 80s synthetic flokati rug. KDE 4.3 and Mac OS X have much more style and offer a well-rounded appearance.
The Start menu contains a few useful options, such as the ability to search by keyword in programs and files. There are also shortcuts to various areas of the system (your homedir, the system settings etc.) It’s not as powerful as KDE’s kickstart, however. In Kickstart, things have meaningful icons and functionality is arranged into four panes, each with its own topic and specialized UI controls that make getting things done easier. KDE also makes it easier to home in on an item, with larger interface elements. If you want to increase the size of Win 7 start menu elements, you need to increase the font size all over the system. Might not be what you want.
The task bar tries to appear as if it had some of Mac OS X’s functionality, but without delivering any of it. For example, you can’t stick folders in there to make them spring-loaded. You can put programs there, and right-clicking their icons then reveals extra taskbar-related functionality (usually a simple context menu). It’s like right-clicking e.g. Amarok’s notification area icon in KDE.
The icons in Windows 7′s task bar are nice and big, and their clickable areas extend all the way down to the bottom-most pixel of the screen, thus making good use of Fitts’s Law. Hovering over a taskbar icon lets you pick which of the application’s windows you’d like. This is really necessary on a window-heavy system like Windows, and it’s well done. You can get the same (and more) functionality from KDE, and a more stylish way of doing it from the Mac OS X dock on OS X or awn on the FOSS systems.
Here’s a screenshot of what happens when you hover your cursor over an application’s icon. You can then pick the window you want from the set of thumbnails. Very smoothly done:
Windows makes sure an icon placed in one area of the taskbar stays there, though. This is better than on OS X, where the center-aligned dock means that you can never be sure where a particular icon is. As soon as you add another program to the OS X dock, the relative positions of all others change. This is a fundamental UI design problem of OS X. The Windows UI design team elegantly avoided this trap.
Windows 7 doesn’t seem to produce previews of files when hovering over them, but in the filesystem browser you can enable a preview pane that fits the same purpose. It works for text files, and for video and audio files known to the system. That doesn’t cover too many formats out of the box. A similar feature is present in KDE’s Dolphin file manager, and the preview pane is enabled by default there.
You are often prompted to give your OK to administrative actions on Windows 7. This in itself is fine, a user should know when they are stepping over user boundaries and entering privileged areas. But there are two problems: The dialogs (by default) can just be “OK’d”. No password needs to be entered. This has a bad effect on users. As we know from user interface design research that users normally click away any dialog that pops up without reading it, that means the average Windows 7 user would give administrative privileges to anything that asks, without thinking.
KDE, GNOME and Mac OS X handle this much better. On KDE and GNOME the screen darkens around a password entry dialog, and the dialog is modal, so the user cannot escape and must make a conscious decision.
Another problem with Windows 7′s password prompt is that it often appears in the background. Perhaps that was done not to disturb people (since Win 7 has to prompt so very often), but it would be nice to receive some sort of notification that some action is required. Otherwise a task you though would run through in the background is stopped and waiting for administrative privileges forever, while you cheerfully continue working for hours in the foreground.
Customizing and installing
Visual customizability is okay. There are themes and colors to choose, the usual. KDE and GNOME both offer more visual customizability, but I don’t really see this as a core function of an operating system (what ARE core OS functions these days?), so no complaints here.
Functional customizability seems low all over on Win 7. You can’t really get the system to behave like you want. Instead, you need to behave like the system wants. Contrast this with KDE’s extensive configuration system where every little keyboard shortcut and fine nuances of window behavior can be tweaked until your eyeballs fall out. OS X is similarly weak in this area out of the box, but add-ons to tweak things can be installed. Doesn’t count, though, I’m looking at out of the box functionality here.
Installing programs on Win 7 is as awkward a process as ever. This is about the same as with previous versions of Windows. Examining the control panel only gives you an option to uninstall programs, not to install them. There is no directory of available software. Instead, you have to find the vendor of the program you’d like to install and obtain the software from e.g. that vendor’s website. Or a CD or something. Then you have to run some installation package, which might look and behave differently from vendor to vendor, not really increasing your confidence. You don’t even know whether it’s trustworthy, either, no cryptographic signature! After running this, the program may or may not be installed. There isn’t any dependency management at all.
This is a far cry from what’s standard in any major Free Software operating system. You get a nice list of tens of thousands of pieces of software to install, and you just pick what you like. Some Linux distributions like Linux Mint even offer a companion website to help you pick and rate software. Packages have dependency management and are cryptographically signed. Windows’ approach of single-use installer packages and lack of centralized repositories is crude, feels like something from the 80s.
I am typing this in Win 7′s included text editor, and it has been acting strangely from time to time. When I select some text, some other text might slip down one line and ruin my selection. When I save via Ctrl-S, my cursor often jumps back by a random number of characters (2 – 4). Sometimes selecting text becomes impossible as well (the cursor freezes when clicking anywhere in the window). Copying the text and pasting it into another application (e.g. a browser) makes random newlines appear all over it. It looks messy, like a battlefield. My text was thoroughly raped, even the copy saved to the file is broken, and only Windows 7′s editor can even display it now.
I don’t know how, but Microsoft managed to break ASCII text files. That’s an achievement.
I can’t try to find and fix these problems because Microsoft doesn’t provide the source code (or a permissive license) for their text editor. It doesn’t really raise my confidence in an operating system if the included text editor doesn’t function correctly. Not only do the other systems have more powerful editors included (and ones that don’t malfunction), on the FOSS systems in particular it’s easy to find specialized text editors for particular purposes. KDE has its own framework for text editing, which e.g. the Kate editor uses. Very pretty, very powerful.
The default text editor on Windows 7 can’t do the job properly, so a third-party one would have to be installed. This is where the problem with the lack of software repository and packaging comes back into play.
I’ve also briefly looked at the included image viewer. It’s quite adequate, but not as powerful as e.g. Gwenview on KDE. WordPad, the included word processor, should be decent enough for most people. Most FOSS systems come with OpenOffice preinstalled (or an easy to install package), so they still have the advantage here.
The included media player appears to be a resource hog and can only play very few media formats. It couldn’t identify a Matroska file correctly, and then failed to download the appropriate codecs, even though it acted as if it could. A third-party player (like VLC) is necessary if you have any sort of variety in your media collection.
The largest problem with Windows is of course that it’s non-free. You as a user are severely restricted in what you can do with the operating system. You cannot give copies to your neighbor, you cannot make modifications to the source code, you can’t even look at it. There is only one company in control of the system, no outside contributions are possible and if that company decides to e.g. force you into an upgrade, you have no choice but to comply.
This also means that competitors on Microsoft’s platform are helpless and at the mercy of Microsoft. If Microsoft wants to deliberately break Java compatibility on their platform to hurt Sun Microsystems, they can do that. And they have done that, by the way.
These are just a few examples of how non-free software distorts the market and hurts you as an individual.
If you want to read a few more examples, the GNU project has a bunch of nice essays.
Windows 7 is neither overly powerful, customizable or modern. It does avoid many of the problems of Windows Vista by introducing aggressive prefetching and changing the UI design so actions require less clicks, and this makes the system appear faster. This comes at the expense of chewing up a lot of RAM, so a gaming system should probably have 4 GB or more.
Windows 7 makes a good OS for gaming simply because so many games are available on it. There is no other reason.
Windows 7 makes a reasonable OS for everyday work (office suite, web browser, e-mail, watching media files, simple games). It is RAM-hungry while doing that, although the same could be said about a fully customized KDE 4. Media file support is very weak out of the box. If gaming is not a priority for you, you would be better off replacing Windows with one of the FOSS systems. That gets you freedom in addition to an operating system that does everything you need.
For a programmer, Windows 7 is a straitjacket. You can program on it, but you can’t program it. No source code is available, no decent license. The FOSS systems are far ahead here.
As a piece of software given to a human being, Windows 7 is a trap. It is full of non-free software, and you cannot follow your natural instinct to share and pass it on to your neighbor, otherwise you act against the law (and the license). By purchasing and using the system, you surrender much of your freedom and are under the control of a single company.
If many members of society do this, the market stays as distorted as it is right now. Monopolistic entities can rule like czars because it’s them who provide and control the infrastructure.
It might not be news to you, but if you want to retain your freedom, Windows 7 is not for you.
The following systems don’t restrict your freedoms and don’t manipulate markets:
- Ubuntu GNU/Linux, an easy to install/use GNU/Linux system
- gNewSense, a GNU/Linux system similar to Ubuntu, but where any and all non-free software was removed
- FreeBSD, a powerful UNIXlike system for professionals
- OpenSolaris, another powerful UNIXlike system, this time by
Update 1, 2009-09-15
Following some discussion on the FSFE Blogs version of this article (and some additional research), I’ve updated a bit. Here’s a list of changes:
- I didn’t see the preview pane option in Windows’ file manager. Now that I’ve discovered it, I changed the section that claimed there doesn’t seem to be one.
- I clarified the section about the partitioning tool: I expect one to be on the CD when using an operating system aimed at professionals. This is Win 7 Pro, so I suppose this is aimed at professionals.