This morning while we were drinking coffee with my home mate Cristian, we had a small discussion if Linux is easy to use? I and my friends have many times been talking about that and this time the topic opened again because yesterday I bought a new Eee PC 901 Linux laptop and its wireless didn’t work out of the box. Our conclusion at the end of the coffee was that Linux made great step ahead. Today it is very user friendly, intuitive and easy to use – particularly the Ubuntu distribution, than it was before 10 years. But it is not as friendly as Windows or Mac OS are. Because this article may make many enthusiastic Linux users angry, I would like to say in advance that it is not “Linux is bad and other operating systems are good” kind of writing, at all.
I use Linux for long time probably 10+ years. It is very powerful, reliable and stable operating system (this does not imply that the other OSs are not). But I think that it is difficult to use by people with little knowledge about computers such as my brother and mother are for example. Sooner or later, a Linux user will need to edit some configuration file, or script, do something on the terminal or even probably compile some library, module or application. There isn’t anything wrong with that if the user is computer science student for example. But this horrifies the common user – the common user does want everything to be intuitive, automatic and with minimal options.
I think that the difficulty of using Linux is not in the GUI but the configuration and setup of the system. I find the GUI (KDE and Genome) is rich and intuitive enough. But the problem is for example when you just install the system and some driver is missing or bought a new non-standard hardware. Then you can spend days to make it running.
What are the Current Problems?
I identify three points that make Linux difficult to use or less preferable (not ordered by importance):
- Unsupported device drivers
- Software management and library dependencies
- Not sufficient commercial quality software
Unsupported Device Drivers
Many hardware companies do not develop Linux drivers for their devices. What happens is let’s say a volunteer developer tries to implement these drivers manually by revers engineering those available for other operating systems. These drivers then cause the device to not function properly and frustrate the end user because of poor experience. This problem was much more evident before but today when most of the interfaces are standard is less important, but it still exists. For example, it took me few days to make my web cam running in Linux, or the microphone working with the messaging applications (these are not relevant to the EEE PC, there everything worked out of the box). A common user wouldn’t cope up with these problems as it required me to search on the web, write on forums and read posts, compile kernel modules and modify scripts to load these modules at start up. In the earlier distributions of Kubuntu I had a problem with suspend and resume – a small but frustrating problem.
Software Management and Library Dependencies
Linux is open source and the complete system (not just the kernel) comprises of thousands of open source libraries and programs. Open source is something great – it is not just sharing but a philosophy. Everybody can develop an application or a library. Then somebody else takes it, and implements a program which extends the features of the previous library or builds on top of it. But this creates the problem of the dependency – my program depends on the interface of a specific version of a certain library. So if you want to install my program you have to find the exact version of the library that my application depends on. But what if another program depends on a different version of the same library. We have a conflict. Of course, the example I gave here is idealized and much simplified than it is in reality. This problem was very serious before. The Advanced Packaging Tool (APT) first introduced with Debian (it might be possible that apt tool originates from other distro that I don’t know) brought a light to this mess. But again the problems exist but this time termed as broken package. For example, when I installed my Kubuntu 8.10 Intrepid my standard wireless didn’t work with the WPA encrypted network. The problem was in the knetworkmanager. It took me a week to fix it because I was one of the first experiencing the problem and yet there wasn’t an existing solution. Other problem I have is playing back the video files – a problem caused due to a bug in the XVideo and beryl/compiz better described at "Video playback problems (black) after installing Beryl (or Compiz)" (ok this is not much relevant with broken package).
Not Sufficient Commercial Quality Software
I think that there is much less commercial quality software targeted for general home or office end users for Linux than for Windows or Mac. Let me clarify my classification of "software targeted for general home or office end users" by giving example applications that fall in this category:
- Multimedia editing and organization – particularly video editing.
- Office – I find Open Office to be pretty good for home use but not office where time costs money.
- Image editing – Gimp is powerful but hunting for plug-ins and installing plug-ins is not for general users.
- And other that I cannot recall but would add later.
However there is very good commercial quality open source special purpose or domain specific software for Linux. Examples are gcc, Firefox, Emacs, Apache, I do think Open Office and Gimp are good, may libraries such as glibc and STL and many other that I cannot list here.
What Improved in Linux?
We also talked about what improved in Linux for the past 10 years let’s say:
- Easy installation.
- More intuitive and rich GUI.
- More software for home and office use was developed.
- More supported device drivers.
Today’s Linux distributions such as Ubuntu, Suse and Fedora can be installed very easily. In Ubuntu the user required actions are just 4-5 clicks. The installer is clever enough to partition the hard disc without loss of data and co-living with other operating systems installed prior. I love this feature a lot.
More Intuitive and Rich GUI
KDE4/Genome combined with a compositing window manager such as compiz/beryl make the user experience exceptional. These fancy desktops are what the end users want – including me :).
More Home and Office Software
- Codecs and applications for playing video appeared such as kaffeine, Mplayer, and Totem, xmms appeared.
- Applications for organizing photos such as Picasa and digiKam.
- Word processing – Open Office.
- Internet – Firefox, Thunderbird, Evolution.
- Games – I am not a game fan and don’t know which popular games are available on Linux but I heard this from my friends.
All these improvements made Linux attractive for home and office end users. That’s why some computer manufacturers considered to ship some of their PCs with preinstalled Linux distribution thus decreasing the market price of the product. Once you have your Linux distribution configured, setup and running one can be happy with it. So refining my answer of the question "Is Linux easy to use?" would be more correct to say "It is easy to use Linux, but difficult to configure and set it up.". And now another question may arise – "Where is the boundary of using and configuring?".
Here are some references relevant to this article.