Before we start, I guess we should have a short description for the phrase above. “Worse is better“, conceived by Richard P. Gabriel, is a play on words meaning the balance of software qualities between ability and efficiency. For instance, you may design an simple computer software but easy to use instead of a comprehensive software but complicated and also hard to use. Maybe, the “simpler” one is still the “better” one. That is the simplest definition of this phrase. To get more information, you can easily google it. Meanwhile, I’ll stop talking here and delve no more into the definition of this concept because my main purpose for this article is how to apply this philosophy into our works.
According to Gabriel, a “better” computer software must have all of these following characteristics: Simplicity, Correctness, Consistency and Completeness. However, according to my personal opinion, “Worse is better” not only is a very good philosophy for software designing but also can be applied for building a computer system. So, a good-designed computer system should also have the 4 characteristics above to work efficiently. Now, let us see a few examples: If you are a *nix user, irrespective of a beginner or an experienced professional, you might hear about the compositing window managers such as Compiz or Beryl. In the case that you are a MS-Windows user, definitely you have already known the Desktop Compositing Engine, aka Windows Aero, shipped with most editions of Windows Vista. So, have you ever wonder about the main purpose of using all of those colorfully graphical effects? (Except that you use computer to do some works related to art.)
Oh, I know what you are thinking of now! I didn’t write this article to criticize any of those compostiting window managers. I just view the fact here from the opinion of a system administrator or more practically, from the opinion of just a computer user who always wants his/her computer to work better and more stability.
Now, back to our main purpose, you may be very surprised if you know how much hardware resources that those graphical effects often occupy to run. I’ll have no comment about Windows Aero because it is very famous as a hardware killer and unavoidable in Windows Vista. Instead, I’ll discuss about the compositing window managers written for *nix and the costs of using them because they are totally optional, not like Windows Aero in Windows Vista. To save your time reading this article, I’ll only take KDE 4 as an example.
A long time ago, KDE was very famous because it is very stable, trustworthy, and highly customizable. But from the latest series 4, it totally changed! The K Desktop Environment version 4.x.y has been re-designed with many new components and included a variety of new graphical effects. Those effects are really beautiful, I admit, but they also cost a large amount of resources to run, which never happened in KDE series 3. So, if you are a loyal KDE user, you’ll have no choice but accept these new components swallowing your computer resources. Do you realise the hidden problem here? Do you think what will happen if you’re a loyal KDE user, but only have a limited computer resources which is only enough to run KDE 3, not KDE 4? That’s the most complicated trouble occurring when a software or a system is designed against the philosophy “worse is better“. For another instance, Windows Vista and Windows XP: Despite the noisy marketing campaign from Microsoft Corporation, Windows Vista has not been warmly welcomed from even third-parties or end-users. The situation went from bad to worse when a large number of Windows users downgraded their legal versions of Vista to XP because they can not suffer the uncomfortableness and the troubles that Vista brought them along with with the amazing effects.
Sharing with you a few of my own experiences, months ago, I was very excited with GNOME and KDE. I felt extremely comfortable with them. And then, I heard about the lightweight desktop environment such as XFCE and decided to give it a try. After that, my experiences of using *nix have changed completely! With GNOME or KDE, I often use about 300 MB of hard disk space to maintain each of them, and about 600 MB of RAM to run them on my desktop. But with the lightweight ones such as XFCE of fluxbox, fvwm, etc.. a huge amount of my disk space and my system memory has been released so I can reserve it for running more important tasks like the hypervisor. It also means that my local system is running more efficiently and more stably.
In short, we can summarize that the more abilities our system have, the more complicated and annoying troubles we have to encounter.
More essential, more stable.
That is the most important lesson that we can learn from the concept “worse is better“.