[ Thursday, 3 August 2006, michuk ]
Microsoft has reached an enormous success with its Windows product during the last decade and practically monopolized the market for home computer operating systems. But, does it mean Windows is still the best OS around, especially for power users? I’m going to cumulate my Windows XP frustrations and tell you about the top 10 reasons why I decided to dump Windows and use GNU/Linux as my primary desktop OS.
Author: Borys Musielak
Before you start bashing me. Let’s go into the traditional what it is and what it isn’t thing to clarify a few things first.
This article will not try to:
- compare the two systems – Microsoft Windows and GNU/Linux – in every possible detail, since I’m writing an essay, not a novel,
- convince you that your favorite OS is crap, even though the title could suggest it – sorry this is just plain marketing ,
- convince you that GNU/Linux is far better than MS Windows in every aspect, since it’s just not true,
- be objective – yes, this is right, if you expect me to be objective, better stop reading now. By being subjective I mean that I am not going to concentrate on some of the GNU/Linux failures. This article is just about the Windows’ ones.
Now, what I do want to state is the following.
- There exist both little annoyances and some totally bad solutions which turn me off completely from using MS Windows on my desktop.
- GNU/Linux is not perfect and it does have similar annoyances in different areas. For me, the Windows annoyances are just the superior as far as the level of annoyance is concerned.
- As I mentioned before (the being subjective point) I am going to focus on Windows failures only. Perhaps there will be another article concerning alternative operating systems’ weaknesses in the future, but this one certainly isn’t.
- I am going to focus on those failures not because I hate Windows and its users. I do, because I care for them. The level of user awareness in this area isn’t very high. I want to show you that things which MS Windows always had problems with, can just work out-of-the-box in alternative systems.
- Finally, I am not an employee of any Linux company. I am not a Linux evangelist either. I use both systems, although try to use Linux wherever I can because it just works better for me in most cases.
I decided to divide this article into 3 parts. This is the first part dealing with security, desktop usage and software installation. The following two parts will deal with the remaining 7 areas to be revealed later on.
1. Default security settings
What is the easiest way to get a bunch of unforgettable moments with your Windows-powered computer? Simply do nothing! Here you have some detailed instructions for that:
- Install the Windows OS (version doesn’t matter) or better let your computer company which sold you the hardware do it for you (they are professionals!)
- Connect to the Internet (big “e” icon next to the “Start” menu).
- Surf the favorite websites for a while.
- Download some e-mail using Outlook Express (the other icon next to big “e”).
- Don’t install any applications like a firewall or antivirus software – you are just a regular user, so don’t mess with it, it’s evil. Some of your friends installed it and now their computers work twice as slow as before. You’ve been warned.
- Avoid all so called “security patches” (whatever they are). Your system has been installed by a professional so there is no reason to mess with the settings – you can only break things. They say Windows is secure anyway, so why bother with the patches?
- Remember that you should perform all your actions as the Administrator (the default login). Well, whatever, you probably do it anyway, unaware of this fact.
- After a few days (or weeks if you’re lucky) call your IT friend and complain that “your computer doesn’t work”. If he asks what happened, say the truth (“I did nothing”). When he says he can’t help, call him a loser (he’s a computer engineer so he should know solutions, right?) and call the service.
- Do not panic when they say nothing can be done. Reinstall your OS or pay them to do it and start all over again. This time it will surely go better!
Sounds dramatic? Perhaps a little unrealistic? But wait… isn’t it what Microsoft delivers as the default settings recommended for unaware home computer users? Is it possible that the default configuration of the most popular operating system created by the most powerful IT company in the history is so insecure?? How can it be, that before connecting to the Internet, one needs to install multiple software packages just not to get hacked or infected with malware in a couple of minutes? Finally, how is it possible that hobbyists who develop Debian, Fedora or OpenBSD managed to produce systems secure by design and a professional IT company couldn’t achieve even a reasonable level of security for so many years? Honestly, it’s one of the greatest mysteries of our days…
So, how do others do it?
What’s the difference between the security policy of Microsoft compared to GNU/Linux and even better, BSD systems? It’s the defaults, idiot! Technologically, both systems can provide a similar level of security, actually. The difference is that most GNU/Linux distros make it much easier to have a secure OS by providing reasonable default settings, usually secure enough for home computer users. Here are just a few examples to illustrate what I am talking about:
- Firewall is installed and configured by default – all unused ports are blocked, which makes it a lot harder for malicious software to damage our OS,
- Forcing the user to log in using an unprivileged account – this protects us from accidentally installing a virus or other type of malware software. If we don’t have the permission to do it, apps we run (which may have security holes) do not have this permission either,
- Easy installation of complex security patches, not only to the kernel of the OS but for all installed applications (and the apps tend to have many more holes than the kernel),
- Promoting the best apps for a task, not the ones created by some friendly company. This helps to develop a healthy competition, even Redhat uses Novell’s software (Evolution) and vice-versa. It’s the power of open source and free software. It’s the user who benefits the most.
Saying all this, I have to admit that I realize there is an ever-lasting conflict between security and usability. Every restriction (like having to log in as root in order to install some app) reflects negatively on the user experience. On the other hand however – can we call a system which crashes a few weeks after the installation a usable one? Even the Microsoft guys seem to start realizing it. The new version of their OS – the infamous Vista – is going to have many more restrictions in the default install (or at least the public betas suggest so). I hope that my point about Windows security will become irrelevant by then.
2. Desktop usability
Elegant and always green “Start” button in the bottom-left corner opening a huge menu with all the possible applications. Internet Explorer and Outlook Express icons next to it, on the right. Trash can icon on your desktop together with the “My Computer” and “My Documents” icons. Why the hell do I have to call them my documents when they are mainly my company’s papers, anyway?
Haven’t you noticed that your desktop looks exactly the same as the desktop of your neighbor, your mother and your best mate? Now, do you think that you and your neighbors (or family members, lovers, friends, enemies) use your computers in exactly same way, posses similar IT knowledge and have identical computing needs? It’s likely that all three answers are “No”. If so, why is it that the only difference between your desktops is the wallpaper image and maybe a few icons? Why do you have to click “Start” in order to finish your work and press ALT+TAB to switch between running apps? Are those solutions really so great that there is no room for alternatives?
The Windows desktop is a real masterpiece, no joking here. Lots of people worked hard to make it as universal as possible. So, it may actually work fine for your boss and your uncle who just need one button to enter the Internet and check their mailbox. But, does it work for you and your specific needs, really? Well, if you don’t know anything else, you may think it’s “just fine”, no reason to change. However the first time you taste something different (like KDE or FVWM), you’ll see how restrictive and unconfigurable your previous solution has been.
Window manager, what kind of animal is that?
If you’re a life-time Windows user you probably never heard the term window manager on desktop environment. It’s not a surprise since MS Windows supports only one of them (which is built in) and it’s really troublesome to install and use an alternative one. Basically, window manager is this little and invisible program which takes care of such things as showing, moving and resizing the windows of the running apps. A desktop environment consists of a window manager but it supplies much more functionality, like menus, icons, toolbars, clipboard and more. In GNU/Linux there are at least three full-featured desktop environments to choose from (KDE, Gnome and XFCE) and plenty of window managers. Each one of them is nice in its own way. Some promote minimalism for better robustness (domain of simple managers like WindowMaker, Fluxbox or IceWM), some go for fancy looks and great functionality (KDE), other choose the usability as their main goal (mostly Gnome). XCFE, EDE or FVWM combine those three. The good news is that whatever you choose (yes, you have to make the choice), you can always switch later on without the need to reinstall anything or import your settings from the former one.
It would take another article to list all the nice features provided by the window managers and environments available for GNU/Linux. If you are interested in details, visit a webpage like XWinMan.org where the list of managers with features and screenshots is presented. Some information concerning the major desktops is also available on our vortal in the article Desktop environments in GNU/Linux.
Usually when working with multiple documents and applications at a time, we lose control over our desktop very quickly. Which of the minimized windows is the website we are interested in and which one is our e-mail client? Why is it necessary to always remember the order the windows (when using ALT+TAB), even if we just have three apps to switch between.
Virtual desktops make it possible to arrange our desktop apps in a way that is easy for us to manage. It also practically eliminates the need to minimize windows. The idea is simple – we have not one but many desktops. We can switch between them using a key shortcut (like ALT+1 for the first desktop, ALT+2 for the second one, etc) as well as a mouse click on a thumbnail of the selected desktop. On each desktop, we may have multiple windows with applications running. When working with virtual desktops, each desktop’s thumbnail is shown in the desktop panel making it easy to remember which apps are running on which desktop (the apps icons help considerably here). This approach has proved to make my own desktop cleaner and easier to manage.
Here is an example of every-day usage of virtual desktops. We may start with using just four desktops (I personally prefer six, but that’s the matter of choice). The first one is mainly for Internet browsing. A few windows are open with a lot of webpages in tabs. The browser is always on top so it’s easy to access. The second is for instant messenging. Skype and Psi are open there (showing their contact lists) together with a couple of currently open chat windows. The third one is for e-mail. We can have our favorite e-mail client (like Thunderbird or Evolution) running constantly and checking for new messages there. The last, forth desktop is for OpenOffice Word Processor. We are just finishing our first article for polishlinux.org there . Now, we only need one easy-to-remember key binding to switch from writing the article to the web browser (ALT+1). If we want to consult the article with someone, we can switch to desktop 2 (ALT+2) and start a voice conversation on Skype or a regular one on Jabber. New e-mails are always waiting for us on desktop 3 (ALT+3).
Of course, this kind of work requires getting used to. But, after a week of using virtual desktops you won’t be able to use anything else. The efficiency gains of this approach are considerable (especially if we often run multiple apps at a time). So, one could finally say: this is the end of the great mess on the desktop! Well, actually hardly so. The described method – known in GNU/Linux for a very long time – doesn’t apply for MS Windows. Although there exist multiple third party implementations of the virtual desktop paradigm for Windows, none of them is usable enough to compare with the generic GNU/Linux X window system feature. The most usable of those apps (and I have tested over 20 of them) is the open source Virtual Dimension. It’s buggy (crashes every few days), sometimes unpredictable (some windows like to get attached to multiple desktops at a time making the virtual desktops useless), ugly (doesn’t integrate with the desktop well, no real-time thumbnails of desktops) and slow (switching between desktops is a few times slower than in GNU/Linux), but it’s still a recommended solution to work around the Windows desktop disabilities and avoid the continuous mess most people fight with on their Windows desktops every day.
Update: A few people mentioned the MSVDM app (Microsoft way of handling virtual desktops). Be sure that I have tested it, as well as many other virtual desktop solutions for MS Windows before writing this section. All I can say about MSVDM is that it’s lacking some key features (live desktop thumbnails straight in the applet, configurable number of desktops – it’s set to 4 and it cannot be changed) which make it unusable for me. If you don’t need those features, it can be a good start for you, though.
The window focus denotes which of the windows is currently active (the one we can e.g. type in). In most operating systems and their window managers the default is: the active window goes on top of others. This approach seems natural and reasonable. But it’s not a convenient solution in all cases (and for all users). Let’s consider the following example. We are reading some article on the Internet and at the same time, we are talking with a friend on Jabber. Now, when we click on the browser window, it goes on top and the window with our conversation disappears beneath it. This behavior is really distracting and even frustrating when we tend to chat a lot. It’s also a very common situation for many users. The simple solution is setting the focus-on-mouse-over option. This will force the window manager to activate the windows (without putting them it in front of others) when a mouse cursor is moved over them. In such case the conversation window doesn’t disappear, but only loses focus. We can continue reading the article (as well as scroll it, send some online forms, enter form data, etc), while at the same time, see the conversation window on top of it.
Another nice solution is the one introduced by the FVWM manager. It’s possible to configure this manager in a way that even a mouse click on a window does not automatically pass the focus to it. Instead, a mouse click on the window’s title or mouse click on the window while holding the ALT button does the job. It’s especially useful when we need some window on the top (like the chat window mentioned before) but use another app in a normal way at the same time (which involves using the main menu with a mouse click, opening dialogs, etc). The ALT+TAB combination can be then be set to switch the focus of the window only, without bringing it to front. At first this kind of behavior can be very inconvenient and clumsy, all due to old habits. However, after getting used to, it makes the computing a little bit less annoying. This feature is original to FVWM manager (update: You can also do this with kwin: Control Center -> Desktop -> Window Behavior and select “Click to focus” with the “Click raise active window” box unchecked), but it can be configured in all desktop environments as well (by setting FVWM as their WM). This is the power of Linux which has been built with extensibility in mind – the open source apps can work together and we can switch between different “engines” behind the desktop, without changing the desktop itself.
I’ll be boring: in Windows you cannot use any of these settings and even if the option exists (but is hidden) – like the focus-on-mouse-over thing – it’s still unusable for other reasons (*). Why is that? No idea, really.
(*) The first of the described solutions (focus-on-mouse-over) is actually available in Windows as well. We need to install an additional piece of software called Tweak UI (it’s one of the Microsoft’s Power Toys). Unfortunately, it fails to work for many programs (naming only Eclipse and Psi as examples) – for some reasons, several windows always stay on the bottom and we cannot read anything what’s there. The solution is though unusable.
We click “Start” in order to run applications, view documents, configure the system, and even to shut it down. The little greeny button in the bottom left corner of our desktop has been our good friend for years now. But… is it really the best solution to have one button to do all the stuff? Wouldn’t it be better to type the name of the app we want to run in order to run it? It’s surely faster than going through 10 pull-down menus hoping they don’t suddenly disappear after an uncoordinated mouse gesture. And maybe we’d like to have a small menu with the commonly used apps instead, invoked with a left mouse click anywhere on the desktop? Or maybe a middle button would be better?
I personally don’t use the main menu almost at all. The only situation I do is when I simply cannot remember the name of the program I want to run (which is rather rare). Then I look it up in the menus under an appropriate section. In any other case, I use the Gnome’s deskbar applet which not only makes opening the apps easier, but also finds and opens the files and folders I currently work on in the Nautilus file manager (see Picture 6). It’s simpler, faster and more convenient. I can do it in Gnome, KDE, MacOS, FVWM, XFCE… everywhere, but not MS Windows. The “one button to rule them all” has a strong position there (**)
Update: It seems that the recently introduced Windows Desktop Search does a very similar job to Gnome’s deskbar applet (finding both apps, files, folder and web pages), so the point about lack of such tool in Windows became irrelevant (fortunately!).
I don’t want to say that the Start menu is bad. A similar approach has been adapted in Gnome, KDE and many other desktops so there needs to be something in it. I’m also not claiming that the Windows desktop is totally unusable or even inconvenient to use. Although I hate some of its solutions, it certainly works for most people pretty well. And actually here is the answer: it works for most people, but does it have to work for me as well? The great problem of Windows desktop is it’s coherence! You cannot change almost anything because the Microsoft product hasn’t been created for extensibility but for well-mastered defaults. It’s all about the choice, really. I may like the default look and feel but if I don’t, I want to be able to customize it for my needs. There were many things I wanted to have on my desktops and I could get them all in some form in GNU/Linux. In Windows I don’t have the choice, and this is actually the main problem with its desktop solution.
(**) Yes I know that Win+R shortcut shows a similar applet in which we can run some apps by entering its names (like “iexplore”). But did you check what happens when you type “firefox” there? Or “opera”? Or any other apps whose binary is not located in one of the Windows’ system folders? It just doesn’t work since the applet can run only those apps that are on the system search path (the %PATH% variable configurable in Control Panel). If we want to use it, we’d have to manually modify the system path each time we install an application. Quite convenient, isn’t it?
3. Installing software
I often hear that installing new software in MS Windows is so easy that I almost cannot be improved. And there is actually some truth in it. In order to install almost any additional application in Windows it is enough to download a software package from the Internet, double-click on the downloaded file, press “Next” a bazillion times and click “Finish”, eventually. The new app is installed and ready to use. How could this process be ever simplified?
Well, this method is fine if we know exactly what piece of software we want to install. We can search Google for the official website of the project (e.g. skype.com), and visit it, go to the download section and there we are. However, it gets a bit more complicated if we need “any DVD player”, “a simple CD ripper” or “some good ID3 tag editor”. In such case, we need to go through many different websites and services (usually provided by Google Search) looking for an app we need. This can be a real headache even for a very experienced Windows user, especially if we want to make sure the program we’re going to install will not cause any side effects like viruses, adware, spyware or other types of malware in our system.
Imagine that you don’t have to do this research, that you have just one place where all the applications are stored. Wouldn’t it be nice if all software packages were available from one single repository, where we could search for, read about and install the apps we need? Well (paraphrasing Jack Sparrow)… Welcome to GNU/Linux, babe!
Software managers and repositories
It’s the producer (distributor) of the operating system and not the user who should take care of the quality of the installed software – this is the approach chosen by the majority of GNU/Linux and BSD systems. For example, in Ubuntu, in order to install an additional software package (e.g. Gimp), it’s enough to run the applet Add/remove software or more advanced Synaptic Package Manager, choose the app from the list (which is nicely divided into categories, making it easy to find stuff) and confirm the choice. The program is then automatically downloaded from a repository and installed in our system. After a few seconds, we are informed where can we find it in the menus (e.g. Applications->Graphics->Gimp Image Editor). Quite easy, right?
Central repositories, apart from the convenience, provide another important benefit. For software infected with malware it’s much harder (in practice almost impossible) to get into the official repositories. The malware plague caused that I personally am afraid of installing any unknown software in MS Windows since the likelihood of infecting my system with malware is just too high. Central repositories decrease the feasibility of getting the OS infected dramatically and this is one of the reasons many professionals believe it is the superior way of installing software.
OK, but how many programs are there in those repositories? What about the apps we cannot find in them? Well, in Debian (and Ubuntu) the official repositories hold over 10 thousands of packages (programs, tools, libraries), all available for instant installation with a few mouse clicks. It’s really hard to find an open source program which is not available in the repositories (either official or additional unofficial ones). The exception are non-free apps like Acrobat Reader, Java or Real Player. Most of them can be installed from unofficial repos (which need to be added to the repo list) as well, but the alternative way is it to use the binary installers provided with them (this is the Windows-like way).
There has never been an app like software manager in MS Windows with a large repository of open source applications. Not sure what the reason for this situation is. Perhaps most people use commercial software (either legally or not) and do not care for alternatives (and for the malware they get when installing other software from unknown sources). I actually do care and the unavailability of such tool in one of the main reasons I am unable to use MS Windows XP in a normal way.
C:> win-get install vplayer gimp cygwin xvid vlc
Looks nice. I hope even Microsoft finally realizes that central repositories are not so evil, even though they ten to provide a lot of non-proprietary software for users. And perhaps this is the reason – why make alternative software installation easy? The harder it is, the more people will buy MS Office to save the trouble…
To be continued
That’s all for now. In 10 reasons to dump Windows [part II] (to by published later this month – if you want to be first to read it, subscribe to our RSS) we are going to cover the following features:
- system updates,
- coping with system crashes,
- system efficiency and robustness in normal desktop activities.
I hope you enjoyed the article or perhaps learned something new. I am awaiting your comments, either positive or negative. Please, consider my “what it is and what it isn’t” intro before you click Submit, though.