When I first got in touch with the Linux world – it was back in 1998 -, I started with an old Slackware distribution. Of course I cannot say it was a wise choice for a beginner, and I soon moved to Red Hat, and then tried various SuSE, Mandrake and Debian flavours; now I am using this good Slackware 8.1. Everyone can see the Linux world has been making giant steps towards usability during the last five years. Applications have dramatically improved, too, both in quality and quantity: OpenOffice, AbiWord, Mozilla, Evolution, Gimp are examples of packages allowing Linux to be used for everyday work. So, is Linus Torvalds’ creature now ready to conquer the desktop?In my opinion, the answer is “not fully, not for everyone”, and the reason is the lack of solid standards, which results in the following problems.
- Beginners get confused by the amount of “duplicated” software bundled into distributions.
- Programmers waste their efforts (and ability, time, money) in creating similar projects, and related configuration tools, documentation, translations.
- Software houses cannot develop something and be sure it will work everywhere.
- Hardware manufacturers may face similar problems when thinking about porting drivers.
Is the situation recoverable? It certainly is, but the Linux Standard Base organization must impose a bunch of severe standards to be strictly respected.
I am going to to summarize the most common problems encountered by newbies and desktop users on Linux. Please note that most of the following advices fit perfectly to other *nix platforms, including BSD and the upcoming Hurd.
Desktop/window managers and GUI libraries
I do not want to start another “KDE vs Gnome vs WindowMaker vs …” war, but having multiple window managers means that beginners will never master one environment only.
Not that I like people to learn things mechanically, but it has to be recognized – this is just a silly example – that most vendors provide detailed instructions (“click here”, “click there”, etc.) on CD covers for installing their programs: if you have 3 or 4 widely used window managers, this becomes pretty impossible for the vendor, and thus Linux will always be seen as “more difficult than Windows”.
So, what to use? The final choice is obviously between KDE and Gnome, the most mature projects up-to-now. I would choose the latter.
First of all, let me thank the KDE group for the big job they have been doing. KDE is probably more complete than Gnome at this moment, but this one has a huge advantage in its turn: it is based on the LGPL-licensed Gtk+ libraries, while KDE is based on the Qt ones, which are commercial under Win & Mac and commercial or GPL’ed under X11 (Linux, BSD, Solaris, etc.). This means you cannot write closed-source Qt software (I personally hate it, but some Companies think different) under Linux without paying big money to Trolltech, and you cannot write cross-platform (Win+Mac+X11) Qt software, neither opensource, without spending a lot of money in licenses.
Also, Gnome seems to me cleaner and newer, less bloated and ready to help people affected by disabilities (see Atk for this).
Moreover, the most important opensource projects are released for (or will be ported to) the Gtk+/Gnome world.
Packages and Linux File System
Installing a new application under Linux is a big pain. Even if one is not interested in recompiling from sources, there are a lot of other problems to face: various package formats, dependencies, files location on disk.
I really would like LSB to adopt a single package format (I suppose the choice is .rpm) and a strict set of specifications for decompressing the package content. At the moment, LSB only recommends them, and this is not enough.
Also, one between GNUpdate and Autopackage should be completed (it should be in every distribution’s interest to do that) and adopted as default package management system.
No multiple user applications in the same field
Is there any point – for the majority of us – in providing multiple Text Editors? (KDE – for instance – installs KEdit, KWrite and Kate!)
Not to mention the image viewers army, 3 or 4 email clients, a certain amount of browsers, and so on.
People (especially beginners, who represent – like it or not – the biggest part of desktop users) usually need a single application for every field: one text editor, one image viewer, one email client (Evolution?), and an affordable and fast browser (Galeon?) to rely on.
No multiple system applications in the same field
CUPS is widely spread and supports a lot of printers. Why do some distributions prefer other choices?
And what about the various system configuration tools? Why not just finishing the promising Gnome System Tools and integrating them in Gnome, so that we would enjoy a clean and complete desktop with a single and powerful set of system tweaking utilities?
Similarly, Sane and gPhoto should be adopted as default scanning and photo systems (which is quite already true at the moment).
More libraries installed by default
Currently (see developerWorks) LSB supports libc, libdl, libm, libutil, libcrypt, libz, libpthread, libncurses, libX11, libXext, LibXt, libICE, libSM, and libGL.
Anyway, standards should also include basic libraries for executing Gtk+, Gtk–, Inti, Gnome, Qt, KDE, wxWindows applications, as well as libSDL for games and advanced multimedia applications. This would avoid many dependencies requirements, and that problem would be partially solved.
I do not agree with Linus Torvalds when he says that Linux will be ready for the desktop in 2006. In my opinion this could happen in a couple of years.
Moment will soon come when Courts will forbid vendors to preload an operating system when selling a pc. Linux distributors must be ready to take advantage of it and offer a stable, secure, usable and uniform product, while differentiating in documentation, technical assistance, presence on the territory, courses, partnerships. Maybe there could even be points of sale for Linux-related hardware and software (like Apple’s ones).
I hope we will not miss that opportunity, and fragmentation will not spoil all the good work that has been done.
Let me add a note for those who think that my advices are a limitation for the “freedom of choice”: you are certainly right, but remember that too much freedom means no rules at all, and no beginners playing with Linux, and no important software being ported, and therefore less people adopting it.
On the other hand, I am not asking for the moon: I would just like all the distributions to default-install some packages instead of others, and let expert users the ability to modify this default choice and tweak their environments.
I strongly believe this would be a fair price to pay for seeing Linux rule in the desktop, don’t you?
About the author
I am Marco Zanon, 23, living in Vicenza (Italy) and currently studying Electronic Engineering. I am interested in Linux, from both user and programmer perspective, but I am also looking forward for OpenBeOS to be ready. I love to study usability issues in modern operating systems.