DesktopLinux
Home  |  News  |  Articles  |  Forum  |  Polls  |  Blogs  |  Videos  |  ITLink

Keywords: Match:
Top 10 Things Wrong With Linux, Today
by Adam Wiggins   (July 12, 2002)

The rapid pace of development of free/open source software has always stunned me. In just a few years, Linux and the free BSDs have become serious players in every major computing market, from embedded systems up to enterprise-class servers. Most impressive, however, is the strides they have made on the desktop. KDE and GNOME rival, and sometimes exceed, commercially available desktop environments who have been around for decades. (With apologies to the BSD developers, I am going to shorten "Linux and the free BSDs" to "Linux" for the rest of this essay.)

And there's nothing that gets FS/OSS moving like criticism. Three years ago journalists and industry pundits complained loudly that Linux has "no journaling filesystem!" Today it has a dozen. Everyone complained, "No good web browsers!" Today there are half a dozen. Everyone complained, "No good office suites!" Today there are three or four. I sense a trend here...

So, in that spirit, I am now going to complain loudly about every major nitpick I can think of. Understand this: I love free and Open Source software. The powerful tools it offers allows me to work at speeds I never could have dreamed of five years ago. And more importantly, it made computers fun again. If there were no FS/OSS and my choices were Windows, MacOS (not counting OS X, which wouldn't exist without FreeBSD anyway), or a proprietary UNIX...I probably would have lost interest in computers long ago. So please realize, the "complaining" I'm doing here is purely an act of love.

As a complement to this piece, I've added a Top N Things That Have Been Solved page.



The List . . .
  1. No 'best' browser.
  2. Prompting for a filesystem scan.
  3. Printing needs to be easier to configure.
  4. Make it easy for the user to find out how to do things.
  5. Cleaner redraws.
  6. Die stray processes, die!
  7. Easy way of sharing files.
  8. Sound support.
  9. No common editor which supports "soft wrapping."
  10. No easy way to configure X -- especially change resolution on the fly.



1. No 'best' browser.

There are lots of browser choices (that's good), but there is no one reasonable default choice that can be made available to users. Konqueror enjoys immense popularity because it's the default for KDE, the most popular desktop environment -- ironically, the same reason that IE enjoys such success on Windows.

Konq is great -- really, it's my favorite browser -- but it has contained showstopping bugs in the last two major versions. 2.2.2 had a horrible bug which caused it to lockup about 1 time in 10 when selecting any text in an input box (including the URL bar). I set up RH7.2 boxes for numerous friends and coworkers, and trying to explain why the primary browser locked up so often was quite difficult. I thought 3.0 would save us, but alas -- it has an even worse bug whereby forms submit incorrectly about 1 time in 5, causing most functionality-oriented sites (including the TrustCommerce merchant admin site) to be completely unusable. My other major complaint with Konq is its jerky page updates: clicking a link will cause a big white box to suddenly obscure part of the current page -- compare to Mozilla which updates the display very cleanly. 3.0 was significantly better on this front, but it's still enough of a problem to hurt the user experience. Finally, it's still slow when you have a lot of browser windows open. The worst is when you middle-click a link to a large PNG image (say, the screenshots on the GNOME site). I minimize the window while the image is loading, but in the meantime my other browser windows become _very_ unresponsive; trying to scroll is jerky and difficult. Very unpleasant.

Mozilla-based browsers are the best. They render most pages correctly and enjoy the commercial support of being the basis for Netscape. However, Mozilla is not integrated with any desktop environment, making tasks such as printing, accessing the file open or save dialogs, and cut-n-paste unpleasant. Galeon is the best browser currently available, to my mind, but the lack of anti-aliased fonts keeps me going back to Konqueror. Opera is good, but it's commercial, and suffers badly from the default fonts being ugly. (You can fix it to look more like Konq if you spend some time fiddling with the config files.)

Solution? Browser developers need to focus on removing the remaining impediments to user-friendliness. Konq needs to be faster and smoother in its display, and stop shipping with major bugs that make it nearly unusable. Mozilla needs to get better desktop integration (such as being able to specify your mail client, and ditching that lame file dialog for the default GTK dialog) and anti-aliased fonts for rendering. Whichever browser is the first to come to completeness on these points should then be chosen as the default by distributions. It's a tight race, and one that will no doubt be won in the next couple of months. Hopefully it will be a tie -- having several 'best' browsers would be awesome!

2. Prompting for a filesystem scan.

Bad on the desktop, killer on the server. Who in the _world_ wants their bootup process interrupted by this busy work? The introduction of journaling filesystems has greatly helped this (it happens only 1 time in 20 on an unclean shutdown, rather than about 1 in 4), but it's still bad.

Here's what happens. A power cord gets kicked out of your desktop machine. The system boots, tries to scan the filesystem, can't recover the journal, and panics. You are prompted to enter the root password, and then you're expected to type some cryptic commands like "fsck /dev/rd/c0d0p2", possibly answer a bunch of cryptic questions like "Deleted inode 12345. Fix? ", and then reboot. Does anyone enjoy going through this process? Does anyone find themselves wanting to answer "no" to the question of whether to fix inode 12345? I doubt it. The system should just fix the filesystem, even if it means losing a few recently-written inodes, and get on with booting, without asking the user anything.

Think it's better server-side? No: it's much, much worse. Now when a machine hardlocks (say, due to hardware that is overheating due to heavy load -- a common scenario if you're using standard PC hardware and your webserver gets slashdotted), and you call the colocation facility to ask them to reboot the box, the thing doesn't come back online. Now you've got to ask the person in the facility to wheel a monitor over and plug it in, give them your root password (aggh!), and tell them to type the aforementioned cryptic command. This SUCKS, bad. (Apparently it sucks so much my grammar is starting to suffer!)

To their credit, Mandrake's Aurora boot system asks the user if they want to go ahead and repair the filesystem anyway when this happens. It's only a single, easily-answerable question: quite reasonable for the desktop, but still pretty lame in the server scenario.

3. Printing needs to be easier to configure.

Offer fewer choices (such as driver selection), and give easy access to print job control, as well as GUI-based diagnosis and correction of errors such as printer jams.

For years I struggled with /etc/printcap; I never could seem to get it to work quite right, especially for sharing printers on the network. I found it easier to write device drivers for the Linux kernel than to set up a stupid printer! (I have written a total of three device drivers for the kernel, but I have yet to construct a working printcap file.) Today things are better: GUI programs such as Red Hat's printconf-gui and Mandrakes PrinterDrake make it possible for mere mortals to set up a printer. But still they remain too difficult. For example, Red Hat does not install the printer on startup: the user needs to know to type "su" and then "printconf-gui" at the command prompt. Both have the problem of prompting you for which driver you would like to use for certain printer types. For example, I have a basic HP Deskjet at home. Mandrake gave me two choices for the driver, while Red Hat give me a whopping five! Asking the user questions they are likely to find irrelevant is bad UI design. The user doesn't care what driver they use, they just want to be able to print at the maximum speed and quality possible. If you want to hide this choice in an "advanced" tab somewhere, that's fine: but don't force them to make the choice!

Ideally printer install should work like this. You run the printer install program, and it gives you two choices: "Set up a printer attached to my computer", and "Set up a printer from the network." The first choice looks in /proc/sys/dev/parport/parport?/autoprobe and determines the type of printer that is connected and chooses a driver for it. It displays the type of printer detected, then asks you one last question: "Do you want to share this printer with people on your local network?" After answering this question, it sets up the printer, and you're done.

4. Make it easy for the user to find out how to do things.

Most Linux distributions come with a ton of applications, development tools, and support for all sorts of fancy devices. But none of this is very obvious when you boot into KDE or GNOME for the first time. The menu contains a few apps but they are scattered about and don't have names that reveal what they do. The vast majority of tools on the system aren't even in the menus. We need to make it easy for a new user to find out how to do stuff with their shiny new OS, without having to do a web search to find out.

This is, IMO, Linux's top strength on the desktop. Windows comes with an email client, a web browser, and Freecell. MacOS has the same, but iTunes in place of Freecell. You really can't do much with a default install of either OS. On the other hand, Linux comes with a wealth of applications and toys that could keep the user busy for years without ever downloading or purchasing any additional software. Let's make this obvious! Here's how.

There should be an "I want to..." dialog. It should be a large icon on the desktop which is very obvious to any user. Clicking it will open the dialog. At the top is written the text, "I want to..." and below are a long list of things that you can do with your system. These might need to be grouped by expandable categories, as the list could get very long. Here are a few things I suggest:
  • Browse the web
  • Read email
  • Chat (IRC / AOL / Yahoo / Jabber / ...)
  • Burn a CD
  • Install a printer
  • Set up a modem
  • Set up a DSL or cable modem
  • Make my computer server web pages
  • Share my files with others on my local network (NFS)
  • Access someone else's shared files (NFS)
  • Download pictures from my digital camera (GPhoto)
  • Paint a picture or touch up a photograph (Gimp)
ELX is the one distro I have seen that tries something like this, but it suffers from the same problem as the KDE & GNOME menus: it gives you a list of programs you can run, instead of tasks that you can do. People use computers to do things, not to run programs.

5. Cleaner redraws.

This has long been a complaint of mine in almost every OS and desktop environment: slow or flickery window updates. I have only ever seen one OS do it right, and that's Mac OS X. This isn't a speed issue, really; it's a how-you-update-the-screen issue. Mac OS X pops a window onto the screen all at once. Presumably it does any drawing that it needs to do on a back buffer and then blits it to the screen when it's all done, just like a video game. Even on a slower system, it still appears very "clean" -- the window just takes a little while to appear. But you don't see any ugly drawing artifacts in the meantime.

The latest version of Windows is not bad; mostly I think this is due to the fast speed of modern hardware coupled with the minimal eye-candy that the OS offers. Things like the file explorer still don't update all at once, but it's a minor point; they've mostly got it right.

KDE, on the other hand, continues to flicker and pop. Here's a key example: click on the "home" icon in your menu bar. The window pops onscreen, but many of the drawing elements (the files themselves, but many widgets) are temporarily drawn as large white or grey boxes. A split second later the full images appear. Even on a high-end system it looks a little funny; on a slow system it looks terrible.

This is not a functionality issue, so in many ways its not that important. But it is a "user experience" issue; people coming from Mac OS X or even Windows will find their experience a little less pleasant, and that makes them less likely to come back.

This slashdot comment offers some insight into some of the reasons behind X's flickering problems.

6. Die stray processes, die!

Windows has this same problem and all you can do is reboot. In Linux you can exit X, drop to a console, and start running "killall kdeinit", "killall mozilla", etc, but this is lame and for non-technical users it boils down to the same thing. Possible solution: when in X, WM should keep track of processes and the windows they are attached to. When an app has no windows open (or the main window is not open), the WM should attempt to kill them (first normally, then with -9). This functionality could be configured for debugging whereby instead of killing them, it attaches gdb to the process so that developers could figure out why there are stray processes.

7. Easy way of sharing files.

Ideally a right-click on a directory and chose "share this directory". Be able to pull up a list of all folders you are sharing and change permissions or remove the sharing.

NFS is quite easy to set up -- if you know exactly what you're doing. If you don't know the magic keywords to add to /etc/exports (server) and /etc/fstab (client), you're pretty much screwed. I don't think it would be terribly hard to add this functionality to, say, the Konqueror file browser. (It may be necessary to set up a small daemon that runs with root privileges in order to allow users to export the data...)

8. Sound support.

OSS was great a few years ago and continues to offer support for modern cards (including professional quality ones such as the Midiman Delta 1010, which is what I have) but it is commercial and it is showing its age. ALSA is a superior solution and has been rolled into the dev kernel. Once it makes its way into the stable kernel and distros start using it uniformly (Mandrake, SuSE, and a few others have offered it for some time now) along with a good configuration tool, audio on Linux will rock.

9. No common editor which supports "soft wrapping."

By which I mean displaying things wordwrapped, even when it's one long line. This means you can go back and edit the line and the rest of the paragraph will reformat itself automatically. Evolution's message editor does this, but that doesn't help me for composing text files (like this one!). Others I've tried -- Kate, GEdit, and even vi -- only support "hard wrapping", where it inserts a newline when you get to the end of the line. Then when you insert more words into the paragraph later, the formatting gets all screwy.

10. No easy way to configure X -- especially change resolution on the fly.

This varies by distribution, but I the resolution issue is a common one. (The only distro I have seen that does it right was Corel 1.0. You could change your resolution from the KDE control panel. However, I believe this is because they were using the commercial X server Metro-X.) It boggles my mind that, after all these years, the best way to configure X is to run Xconfigurator from the console! This is, I believe, the longest running embarrassment of the free software desktop.


Copyright © 2002, Adam Wiggins. All rights reserved. Reproduced by DesktopLinux.com with permission.



Also see . . . And please note . . .

Adam Wiggins plans to update this article on an ongoing basis, so you may wish to consult the original version on his website for the latest info.



About the author:   Adam Wiggins is Chief Software Architect for TrustCommerce (TC) a company that provides a payment gateway and various other e-commerce solutions. Currently he is the maintainer of the LGPL version of TCLink, the client API for TC's payment gateway. In the past, Wiggins has done everything from console games, to medical databases, to driver development. His contributions to the open source community have mostly been in the form of bug reports ("the Konqueror developers either love me or hate me, I'm not sure which") and evangelism, although he has also worked on a few open projects, not the least of which is the aforementioned TCLink.



Talk back! Do you have comments or questions on this story? talkback here


(Click here for further information)


Approaching the Linux Desktop
The purpose of this paper is to help organizations evaluate the Linux desktop against their own enterprise needs and discover what benefits the Linux desktop might bring to their organizations.

Migrating To Linux: Application Challenges and Solutions
Several solutions exist to help organizations migrate in an orderly fashion from Windows to Linux desktops. This paper establishes the characteristics of an ideal cross-platform solution and reviews these alternatives in light of this ideal standard. The paper takes a closer look at the pros and cons of various solutions and outlines the business benefits that can be achieved.

Linux Advantages: Publicly Available Information on Linux Software
This paper offers a brief summary of readily-available Linux information to help businesses sort out this widely misunderstood operating system.

Top 5 Strategies for Managing Linux
Despite continuous evolution in the manageability of Linux, a 2006 survey cited manageability concerns as a top reason why organizations are hesitating to adopt Linux. Levanta believes Linux can be as manageable, if not more so, than other operating systems by following key strategies. These strategic recommendations were developed from experiences in numerous customer environments, both large and small.

Why Choose Novell for Linux?
This paper outlines the benefits of switching to the Linux platform and choosing Novell as a high-performance, enterprise solution.

Enterprise Linux Selection Guide
Considering moving your enterprise to the Linux operating system? Since there are so many similar versions, choosing the right one can be tough. This paper offers a clear process to help you make an informed decision and get the features, support, and cost that are right for your business and technical needs.

Overcoming Challenges in Managing Linux
Levanta has created a new administration model with innovative technology that breaks down the barriers to making the most of Linux systems. This paper will provide an in-depth look at the workings of Levanta’s product, the first Linux appliance of its kind.

SUSE Linux Enterprise 10 for Retail Businesses
Discover why major retailers have switched to SUSE Linux Enterprise Desktop in the back office. SUSE Linux Enterprise Desktop 10 is a low-cost desktop that offers a complete set of productivity applications and interoperates seamlessly with the other Windows, Macintosh and UNIX desktops in your store.

Moving to a Linux Desktop
Migrating from Windows to Linux on the desktop can be a substantial undertaking because it has the potential for touching -- and perhaps disrupting -- every user in your organization. Unlike a data center (server and infrastructure) migration that is largely transparent to users, the cultural and administrative transitions and environment readiness required to support a Linux desktop migration are extensive.

Seven Good Reasons to Exchange Exchange
This paper describes seven compelling reasons why you should switch from Exchange to Scalix.

 



Got a HOT tip?   please tell us!

ADVERTISEMENT
(Advertise here)

Popular recent stories:
• Lightweight GNOME alternative emerges
• WiFi software arrives on Linux desktops
• BeOS-like distro focused on content creation
• Lenovo launches a netbook
• Linux mini-PC takes two Watts to tango
• Graphics board vendor touts faster Linux drivers
• Debian looks to launch lenny in Sept.
• Lenovo denies ditching Linux
• gOS 3.0 goes Gadget crazy
• OpenSUSE 11.0 arrives

All-time Classics:
• Choosing a desktop Linux distro
• Banshee -- the next best thing to Linux iTunes
• Running World of Warcraft on Ubuntu
• The Best Free Desktop Linux . . . and how to make it better
• A simple Linux backup method
• Linux-powered Asus Eee PC mini-laptop arrives
• The well-tempered Debian desktop
• What's the best Linux for beginners?
• Xandros 4: The best desktop Linux for Windows users
• VirtualBox: The best virtualization program you've never heard of
• Getting to know Puppy Linux


Desktop Linux books

Join our Desktop Linux discussion forums:
•  Moving to Linux
•  Linux/Windows debate!
•  Linux Q&A
. . . and more


BREAKING NEWS

• "Moonlight" ready to shine
• Adobe unleashes 64-bit Flash
• Debian Lenny installer arrives
• Ubuntu announces ARM port
• Amazon offers Linux XOs
• Windows 7 "no threat" to netbook Linux
• Creative frees Sound Blaster driver code
• Linux, netbooks threaten Microsoft's fat profits
• Ibex inspires GNOME switch
• Linux to outship Windows in 2009?
• The Intrepid Ibex ventures forth
• Crossover Office -- free for a day
• Silverlight could bring movies to Linux desktop
• Torvalds: Real quality means taking it personally
• Ubuntu "Intrepid Ibex" available


Linux-Watch headlines:
• Worst security blooper ever?
• Novell offers RHEL, CentOS support
• Windows 7 no threat to netbook Linux
• Microsoft breaks HotMail for Linux users?
• Torvalds: Real quality means taking it personally
• Opinion: open source value transcends tough times
• OpenOffice 3.0 reviewed
• Shutting down idle PCs with Linux
• Linux valued at $10.9 billion
• UK gains LPI affiliate


Visit the...


news feed

Home  |  News  |  Articles  |  Forum  |  Polls  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.