posted by Sean Oliviero on Wed 28th Jul 2004 05:54 UTC
IconThe promise of Desktop Linux (DL) has been long coming. It's made significant progress since the mid-90s when GNOME and KDE came out, giving Linux users a somewhat modern desktop to work upon. However, it's been 7 years and DL hasn't progressed much at all since then. Today, DL is still nothing more than a UNIX-clone with a task bar, a start menu, and a desktop with some icons on it. But why has DL evolved at such a glacial pace?

Here are the reasons: lack of organization among separate projects, lack of standards, and an unwillingness to fix bad design which leads to counter productiveness. I'll explain all of this in detail.

The Current State of Desktop Linux

In the beginning there was plain old Linux with X11 and a few ugly window managers. Using the ever (in)famous car analogy, we can liken this to a rolling chassis with engine, seat, steering wheel and gear shift. GNOME and KDE gave Linux the opportunity to add a frame, a windshield and a single-piece body. We're no longer swallowing bugs, but the inside is still bare metal and there's no stereo, carpeting, airbags, or anything else. Meanwhile you've got the Mac passing by with its plush leather interior, DVD satellite navigation system, and power everything. What's wrong with this picture? Yes, the car is very much drivable, but who wants to drive around in unfinished transportation full time?

Missing Pieces To The Tux Puzzle Part I - Hardware

Linux is constructed in layers. Each layer builds upon the next from the kernel up to the graphical programs. But what holds them all together? How does the very bottom communicate with the very top and vice versa? How can I configure hardware from a graphical control panel on my GNOME desktop? The answer is I can't, because GNOME doesn't yet deal with that portion of my system. Why do I need to tell Linux what disks I have in my system? Because it doesn't know! Windows and Mac OS both know when I stick a disk in my drive.

How To Fix The Hardware Problem

On the bottom layer, a daemon needs to be written that deals with hardware in an intelligent manner. It must be able to discover new hardware, find a proper kernel module for it, let the program at the top know when it can't initialize a device, and automatically configure the /etc/modules.conf and /etc/fstab files. On the top end, a graphical applet must be written so that the user may enable/disable a device and manually switch kernel modules. Disks should automatically mount upon insertion, and if unreadable, a disk utility should be launched to initialize it. Applets should also be written for hardware devices to configure special features such as FSAA on the video card, preferably by the hardware manufactures themselves.

Missing Pieces to The Tux Puzzle Part II Software

I just bought a new Linux computer. I turn it on and want to configure it for my internet connection and home network. But wait, how do I do this? On my Windows box, I could just go to my Network Connections icon and setup my IP/DNS addresses, configure my firewall, and setup my home network filesharing. On Linux, I gotta find out which file in the /etc directory has the configuration settings for my network card and try to figure out how to configure Samba and the firewall so I can share my files without getting hacked. There's also an antivirus program I want to install for extra security. But, there's no clear way to install this program. I don't understand shell scripts and that stupid package manager complains of missing dependencies, whatever those are. By the way, where's a good disk utility so I can setup up and check my hard drives in GNOME?

How to Fix The Software Problem

Create an all-in-one applet that configures all your network devices, sets up file sharing, and secures all your documents on the network, along with the usual diagnostic tools such as ping and traceroute. Second, make an installer system that automatically solves dependencies and makes a way to painlessly maintain them later on. For this I suggest autopackage (http://www.autopackage.org) with some better frontends.

Things That Need Serious Upgrading

What's the one thing that comes to mind that needs a serious upgrade on Linux? If you guessed X11, you're 100% correct! But why? Let's dive into a bit of history. X11's original purpose in life was to run several terminal windows concurrently and be run remotely over the network. Times change, but little did X11, which happens to be 20 years old now. X11 is big, bloated, and lacks support for modern features such as alpha blending and transitions. X11 really should be replaced with something leaner and more modern.

Table of contents
  1. "Linux Behavior, Page 1/2"
  2. "Linux Behavior, Page 2/2"
e p (0)    168 Comment(s)

Technology White Papers

See More