Blog home

Front page

Recent posts


External links


What's bad about Windows

A friend (Sean Torrez) recently asked me to say what I think is bad about Microsoft Windows. That's different from what I don't like about it (which is to say just about everything). What we're looking for here is what's genuinely bad, and hopefully with a little bit higher level of abstraction than a typical anti-Windows rant. And let's face it; I don't use Windows enough to justify a rant anymore.

1. When you use Windows, you don't feel like you own your computer

I'm really not trying to sound like Richard Stallman here. In fact, the type of thing that I'm concerned about can happen even if you have access to all the source code in the OS. What I'm talking about is a computer that randomly restarts. Is susceptible to a crash at any time. Will randomly disconnect from the internet with no available diagnostics. Takes up to a minute to get from the login screen to the desktop.

Whenever I use Windows, I am overwhelmed with a sense that I can't guarantee that I will be able to perform whatever task I'm trying to do. And every seemingly trivial additional layer of complexity increases the chance of failure. Mapping my AFS space to a drive letter almost fails because the letter has been reserved by the system. Personally I don't care at all about drive letters, but unfortunately you can't run cmd.exe in a place like \\afs\\user\d\a\dalle. VPN will almost certainly disconnect during any session that needs it for more than an hour. All in all, the sensation is that there's nothing I can do to guarantee the computer will do what I tell it—even if I'm what I'm doing is part of the limited set of activities that Windows allows.

2. Isolation

I don't need a remote desktop connection to get a file off of my computer. I don't need a special Windows Server edition to run a file share from my computer. I don't need to run a desktop to run a web server. Actually, if I'm using Windows, all these statements are false. A desktop computer running Windows is really isolated from the rest of the world. You can use it as a desktop and nothing else. Hell, it even wakes the screens from sleep when you connect to it remotely! Why connecting to my office computer from my laptop in France should move the mouse around my monitors in my Michigan office is completely beyond me.

But in Windows, being logged into your computer means the same thing always. It's connected to the internet in only the loosest sense. It has no ability to serve other computers whatsoever, and the only way to use it remotely is to simulate the in-person experience.

P.S. Windows Server only worsens the problem. First of all, I don't need a separate (very expensive) operating system to do those things, and secondly, this is what you call a server interface?

3. Consistency

I debated putting this as the #1 issue because it affects me even when I don't use Windows. It may seem like a small thing, but Windows ends lines in text files with \r\n while every other operating system used by actual people just uses \n. I'm guessing that unless you're old enough to have used typewriters before computers, you never thought of pressing enter as two separate characters, but rather than ranting I'll just link to Wikipedia for more background.

Why is it such a big deal? Well suppose two people are working on a project; one is using Windows and one is using OS X. The project only consists of text files, so compatibility shouldn't really be an issue. But wait; every single line of every single text file is different between the two. There are increasingly better ways of dealing with this, but it requires way more thought and planning than the only appropriate amount: zero.

Next up is the beloved backslashes. For some unknowably stupid reason, we have to use backslashes to separate folders in Windows, where backslashes are used for escape sequences in nearly every other context. In short, /afs/ becomes \\afs\\user\ on Windows, which probably means you have to type in \\\\afs\\\\user\\ in your programs to make the strings show up properly.

Oh, and here's a great one. Windows no longer limits file names to eight characters plus a three-letter extension, but it's still case-insensitive. You would like to have two MATLAB functions called f.m and F.m? Too bad!

4. The Registry

I'll just finish with a short comment about the dreaded registry. If you have no idea what I'm talking about (which is what Microsoft seems to want), just click the start button, type regedit.exe, and press Enter. Then proceed to follow the rabbit down the hole.

The fact that all of your settings (including many programs that are stupid enough to use it, e.g. PuTTY) are stored in a single file bewilders me. It means that transferring settings from computer to computer is difficult and unsafe. But mostly it means that you cannot use Windows and expect to have a clue what it's doing.

Recent Improvements to the Linux Experience

And a convenient program called kupfer to make your life better

So it's been a long time now since the GNOME 3 disaster, and what do I think? Well, it's still kind of hard to tell, but basically there seems to be a new equilibrium. For me, XFCE really did turn out to be the answer, and the new version 4.10 included some subtle upgrades that made my life better.

But the main reason I think that the Linux desktop experience got better in the last year is that most people aren't using GNOME shell. According to a recent survey, they've lost more than half of their users. I know some people that still use it, and I'd have to say that all the users that GNOME 3 have left basically like it. So that's one part of the equation, but what happened to all those other people (like me)?

Basically, they went all over the place. Some went to KDE, which is a pretty much the ultimate in customization, and even Linus Torvalds appears to be satisfied with it. Many switched to Unity by default, which is a decent solution, or at least a convenient one for Ubuntu users. Cinnamon doesn't seem to have gone anywhere, which in hindsight makes sense. If you don't like GNOME 3, why bother using something based on it. And I don't know how many people went to XFCE. I'm the only one I know.

KDE still scares me too much to actually put it on any of my computers. The last time I did that it ruined all my shortcut keys, and I couldn't even use Ctrl+S to save things. Not sure how that was possible. I need to have at least one positive experience before I become a convert. In the mean time, XFCE released a new version, and it had almost no changes.

But that's kind of a good thing! They did one thing that's pretty awesome. You know that thing Windows 7 did with pressing the Windows key plus a direction to make the window take up half the screen? Well that turns out to be the kind of thing that you can't live without once you've had it, and now XFCE (or more specifically xfwm4) has it, too.

The one thing that both Unity and GNOME have that is really appealing is the ability to press one key and have a nice menu to search all your programs and recent documents, etc. I feel kind of dumb for not thinking of this in hindsight, but I realized that there basically had to be stand-alone programs to do something like it. Duh. So anyway, I highly recommend kupfer for this purpose. It doesn't take up your whole screen or all of your memory, and it has a ton of options. Now I can have a working search and a traditional task bar. You should try it.

Linux Mint—Cinnamon

Linux Mint has just released its latest version, and it comes with a new desktop environment called "Cinnamon." It's based on GNOME 3, but it's most definitely not GNOME 3. To me this is fantastic news even if I never use it (I'm sure I'll try it) and even if I do try it and don't like it.

GNOME 3 is just such a bad user interface that anything other than it is good news. There is such a proliferation of full development environments going on now that KDE and GNOME being the only two choices is gone forever. Unity has become an interesting design (although I can't imagine using something with that few options), but it has severe stability problems every time I use it. It can't take two minutes to log back into a computer that's not even suspended. It just can't; but the Unity in Ubuntu 11.10 was a huge improvement, so maybe it will be usable in the next round.

And then there's XFCE. Unfortunately it is impossible to get statistics for things like this, but I really do believe XFCE is experiencing a surge right now. I use it, and I love it. It has problems, and it doesn't do a lot of the things that you expect when used on a laptop, but it seems a lot of GNOME 2 people switched right over to XFCE.

Now, I think Cinnamon will be relevant. That's kind of a no-brainer if Mint maintains its number one spot on, but I think it's going to be more important that. For one thing, it can be installed on other distros, which gives it a practical advantage over Unity. For another, it's the first thing I've seen that's actually based on GNOME 3. It's basically the thing that Linux users were expecting when they heard about GNOME 3 in the first place. Although I haven't used it, Cinnamon seems to have the right balance of a traditional behavior mixed with new features. I'm not sure if it has customizable enough to be fun, but it's certainly an improvement over GNOME 3. It's not that I really think Cinnamon will take over, but I do think it will really affect the future of this debate.

What's more relevant to me here is that the writing is now officially on the wall for GNOME 3. I still think it was the main reason for Ubuntu to create Unity, and Mint is very open that GNOME 3's inadequacies were the reason it developed Cinnamon. People are just not having GNOME 3 as an acceptable future for the Linux desktop, and that's great news to me.

Valid XHTML 1.1

Valid CSS