January 18, 2003

Commentary: Why Linux is not suitable for the desktop yet

- by malkowich -
Linux is not meant for desktop computing - they say. I have to agree with this statement, at least partially. I have been a Linux user and developer for just over five years. Ever since I started using Linux, I have been trying to match functionality-to-functionality between MS Windows and Linux.In my opinion, MS Windows has a very "commonsensical" user interface. So, I have a Windows look-and-feel in my Linux desktop as well: things like minimize, maximize and close buttons that resemble Windows'. I used to be a KDE fan, till I switched to GNOME, for the simple reason that KDE just overwhelmed me with options for my UI. However, I still don't like icons in my GNOME buttons.

As far as applications go, I do have OpenOffice.org for my documentation and spreadsheet requirements. I tried WINE with MS Office'97 but didn't like it that much. So, apart from the terrible startup time, OpenOffice provides me with all the functionality I want - me, a normal desktop user.

I have a Kodak-DC5000 digital camera. With KDE you can set it up so that it can be accessed with camera:// in your konqueror file manager. I use gtkam software to access the pictures. I have realplayer-8.0 for my real media playbacks. XINE for all other formats, and Xine is still in development, so I have high hopes for its future releases.

GAIM is my all-in-one instant-messaging client. Mozilla is my web-browser, even though it can just quit on you, while you're trying to load some page, giving you no clue as to what went wrong. Ximian-Evolution as my email client, although I like Mozilla-mail. Evolution also provides a good Calender and Tasks management interface.

To read Adobe PDF files, I have ggv and xpdf. GEdit is my favorite Windows-Notepad equivalent.

GIMP for some serious image-editing, and for simple editing like cropping, resizing, changing formats etc, I have Compupic. Functionality wise, Compupic resembles ACDSEE in the Windows world. I use Gripfor converting my CD-collection to mp3s, even though I do not own any portable mp3 players. And gnome-cd for playing CDs.

The point is that, functionality wise, my computer can accomplish everything a normal Windows computer can. Still, the evil-software-empire has 90% of the desktop market share. The reason is, every hardware vendor out there makes products to target a desktop user using Windows. By targeting, I mean, they release drivers, provide good support for installing and using the device under Windows.

Linux has a modular kernel, making it easy for new drivers to be installed. But the manufacturers do not think much of their Linux userbase - and they do not provide drivers for their devices, which also inevitably means that they will not release specifications for their device, which makes developing drivers for the device by the OSS community a whole lot slower.

But, I know for a fact that some brave programmers try to write drivers by debugging the hardware itself.

Now, assume the manufacturer does release drivers, as binary or as source. An average desktop user will not understand how to install it, unless there is an easy setup procedure. For example, to add support for your sound card, which is not supported by a Vanilla kernel, you will have to unpack the driver source into your kernel tree, re-compile the kernel and reboot. I would be surprised if the average desktop user, managed to unpack the source correctly.

The Linux platform is going through a lot of changes. For example, at any moment there are too many kernels. This does not mean that Linux is unstable, it just means that in the desktop market, Linux needs to tone down a little with what features and functionality it provides. Even though a user could tweak a 'default' system to behave more like a desktop, why would anybody sit down to tweak, and the average desktop user does not know how. As far as I know, Mandrake is the only distribution which has some Desktop flavor to it(new distributions like Lycoris, Lindows are nice as well), meaning, there is no difference between, two installations of the same Linux distribution. The same installation CDs could be used to setup a computer as a server, a workstation or as RedHat calls it "Personal Workstation".

I want to recall a particular post at computing.net. A user failed to get sound working on his desktop with Debian. So he tried Mandrake and RedHat instead. The reason being, a different distribution might detect his sound hardware. He was looking for a more friendly Linux distribution. But, as he figured out later, if you have one Linux, you have all distributions(not true but as far as he is concerned, none of the distributions he tried got his sound working, so they are all the same.)

In the future, such users should be able to get an XYZ distribution, which guarantees detection and installation of all drivers and utilities for any hardware out there, i.e., if it works with Windows it should work with Linux.

So lets recap, Linux - good, but only maturing towards being a Desktop alternative. Here are some reasons why and some recommendations.

1. Linux lags on hardware-compatibility issues (Windows also has issues, but not so severe).

2. Linux lacks, in my opinion a distribution oriented towards just a Desktop user.

2.1 Such a distribution will need to have a considerable R&D and programmer base to develop or port drivers to its distribution for new and old hardware. Here they can release it as OSS or keep it proprietary.

3. We need more easy setup tools to setup drivers, programs, updates - no command line apt-gets or rpm, etc.

4. We need more support for direct rendering video devices. Only a handful of video hardware under Linux supports DRI.

5. We need more software, not equivalents in Windows architecture, but from R&D, setting new standards and leading the standardization and adoption of the software, so that Windows developers have to port it to their platform.

6. We should resist releasing source tar balls and release more binary formats of the software. The average desktop user does not know A from a C compiler.

6.1 We need to make installation of such souce tarballs, automatic and GUI based. Not ask the user to run configure scripts, makefiles etc.

7. We need to make software compatible with all desktop managers. GNOME applications require GNOME libraries and will not install in KDE for lack of required libraries.

7.1 We should release both GNOME and KDE versions of the same application, let the user choose which one he/she wants. I hate having KDE libraries, when I only want GNOME.

I have tried to build a case not for dropping Linux as a desktop alternative but, to point out some ways to accelerate its adoption as a viable desktop OS. In the last five years, I have seen tremendous strides made by Linux towards being a Desktop OS. Linux has more applications than ever before. We have a Linux PC in the market, more and more companies are investing in Linux, more institutions are considering or have already switched to Linux. The applications I have mentioned above are all available under Linux except for a few. KOffice for instance is another Office suite, Gnumeric,abiWord are also extending Linux' functionality.

The above reasoning may have holes in it, so please do respond with your comments and point of view.

Click Here!