Towards Linux Desktop Comfort

or, Why Doesn't Johnny Run Linux?

Anyone got a picture of a Tux riding a tank?
Hacker with bullhorn: "Save your money! Accept one of our free tanks!
It is invulnerable, and can drive across rocks and swamps
at ninety miles an hour while getting a hundred miles to the gallon!"

Prospective station wagon buyer: "I know what you say is
true...but...er...I don't know how to maintain a tank!"

-- In The Beginning Was The Commandline, Neil Stephenson

 

 

[See also my Scale4X presentation on this topic]

Most of my non-tech-savvy acquaintances, if given a choice between a just-barely-working Microsoft Windows 98 system and a nicely purring but alien Linux system, will choose the Microsoft Windows system.

Odd though it may seem, the average Joe is comfortable with Microsoft Windows. The challenge facing desktop Linux is to achieve the same or greater level of comfort that Microsoft Windows enjoys.

Here are a few areas where Linux's comfort level needs to be raised before it can thrive on the desktop, plus links to ongoing work in these areas:

Rapid Startup

KDE, Gnome, OpenOffice, the Linux kernel, and Firefox all take too long to start up. If you don't believe me, look at George Ou's benchmarks comparing startup times under three different operating systems on the $200 Linux desktop computer sold at Fry's (a large US retailer):
win 96MBwin 352MBsuse 96MBsuse 352MBLinspire 96MBLinspire 352MB
boot/login 50 25 94 55 132 107
start OOo2.0 - - 48 10 56 16
start MS Word 20033 3 - - - -
CPU: 1.7GHz Sempron
RAM: 128MB (32MB taken up by the onboard graphics), also tested with an extra 256MB of RAM installed
OS: OpenSuse 10.0, Linspire 5.0, or Windows XP Pro sp2
Desktop: KDE (not sure which version)

That system is more or less unusable as shipped due to the observed poor performance. (I'm not trusting George here; I verified this myself.) Presumably the similarly equipped system sold by Wal-Mart suffers as well. This gives Linux a bad reputation. Surely we can improve our performance on 96MB machines.

But given the software as it stands, surely retailers can configure their systems to perform well. To determine how much RAM OpenOffice 2.0 really wants, I benchmarked Red Hat 9 on a dual 650MHz Pentium 3 system using lwm in place of kde or gnome. Boot time and firefox 1.5 startup were constant at about 60 and 10 seconds regardless of RAM, but OpenOffice 2.0 startup time varied as follows:
64MB96MB128MB192MB448MB
OOo2.0 startup41 28 21 15 12
Thus OpenOffice 2.0 should be given at least 192MB of RAM for best user experience on small documents; if Fry's and Wal-Mart could be convinced to equip their entry level system with 256MB of RAM instead of 128 MB, the systems would be a lot less frustrating to use.

(I did similar benchmarks on an Athlon 64 laptop, and was surprised to find that the Windows version of OpenOffice starts faster under Wine than the Linux version does when the system only has 96MB of RAM! Something's gotta be wrong there.)

Related links:

Usability

As one user put it, "On Microsoft Windows, I know how to download, how to install software, how to find things, and how to kill programs that are misbehaving. I have no clue how to do that under Linux, even after using Linux on and off for weeks."

Related links:

Accessibility

Many tools (screen readers, speech recognition, braille displays) are available for Microsoft Windows and Microsoft Office to assist users with various disabilities. Those users are now relatively comfortable with Microsoft Windows.

Case in point: OpenOffice. Some blind users are worried that OpenOffice will be hard to use. Sun has put lots of work into making OpenOffice fully accessible but admits there's more to do. They're planning to use the 2.0.2 release of OpenOffice to address a few issues in OpenOffice, and they're working on an open source tool called Orca that should make many users happy. (Especially since it replaces packages that cost $500-$1000.)

Related links:

Pre-Adaptation

Users will be more comfortable switching to Linux if the software they use every day on Windows is also available for free on Linux, or if the formats they use daily can be understood by free software. Robust, free office suites and/or office suites that support open formats like OpenDocument can really help here.

Related links:

Legacy Software Support

Linux, thanks to the Wine project, can run Microsoft Office and several other non-Linux applications. Wine is still working on being able to run more 'must-have' applications properly. The more Windows applications run on Linux, the more comfortable people will feel switching. This is an area where a little effort could have a big impact; if your office needs a Windows app that doesn't run right under Wine yet, you might consider paying Codeweavers a few grand to make it work.

Related links:

Easy Application Installation and Updating

In a way, Linux has not fragmented at all. Everybody's using essentially the same kernel and libraries. However, to users, what matters is that installing third-party software should be as easy as breathing -- and the software should be kept up to date, so they don't have to worry about security holes in old versions.

In this sense, Linux is highly fragmented; there is no universally accepted way of packaging third-party Linux software for sale or download, as each distribution requires slightly different toolchains or packagers. The LSB is an effort to solve this problem; their Desktop profile should make it possible to package the most common desktop Linux software portably sometime in 2006.

But above and beyond the current LSB goals, we should enhance updaters like apt-get, yum, and up2date to treat LSB packages as first-class citizens. It should be possible in Debian to use "apt-get install" to install or upgrade apps built as LSB packages, and it should be easy to add third parties' repositories to the network updaters.

Distributions can help by making sure they're LSB-compliant. Developers can help by packaging their applications as LSB packages and giving feedback to the LSB project.

Related links:

Microsoft LAN Integration

Linux should be able to drop into Microsoft LANs and use the same passwords, files, email, and calendaring. Sadly, it's not easy yet.

Related links:

Drivers

Linux has good driver support for the most common devices, but new devices still often don't get Linux drivers until the community writes them.

Wireless, sound, and video drivers are all somewhat problematic; many drivers exist, but things still don't quite Just Work.

Plugability

It's pretty easy to install printers or plug in network cables under Windows; usually, the system doesn't even ask you any questions. In particular: Linux isn't quite there yet. These issues were part of what made Red Hat 9 unusable for a friend of mine.

Related links:

Availability

Major computer vendors do not prominently market Linux desktops.

Fry's does sell them occasionally, but always puts Linux on computers which are slower than any they sell with Windows.

Related links:

Patent and Copyright Fears

SCO sued Linux users and vendors a few years ago. It appears their lawsuit was without merit, but people still fear some sort of legal action against popular open source projects. In particular, some potential users of the Linux kernel, OpenOffice, Wine, and Mono have expressed fears that copyright or patent issues might become unpleasant. As one project leader put it, "I lost a big customer because they were afraid Microsoft would sue."

Although small customers are generally unaffected by this issue, the largest potential customers are more likely to be worried. Risk management and indemnification might be needed to quell these fears and allow the largest customers to adopt Linux without fear.

Related links:

Peer Support

It's hard to ask your neighbors for help with Linux if they don't use it already. It's also hard to ask distant Linux-savvy friends or relatives for help if you can't easily give them a desktop session remotely -- and most remote access software is notoriously difficult to keep running if the user you're trying to help is behind a firewall.

To increase the pool of helpers, we should encourage the use of Linux in education; maybe Joe User can at least ask the smart kid down the block, if not his neighbor. And to increase the number of friends and relatives each helper can reach, we should encourage the development of easier ways to use things like X, VNC, and NX to control machines behind firewalls.

Related links:

Dogfood

Companies that have a strategic interest in the success of Linux on the desktop should themselves try to migrate to Linux on the desktop, and help solve problems this uncovers. (This is called eating your own dogfood.)

Q: What OS do the CEOs and CFOs of IBM and Red Hat run on their laptops? If the answer isn't "Linux", why not?

Related links:

Related pages

Here are a few other people's takes on the subject:
Comments and corrections welcome. Contact the author at dank at kegel.com
Last Change 15 Mar 2007
Copyright 2005, 2006, Dan Kegel

[Return to www.kegel.com]