Theories abound as to why Linux still needs help. First, there's the "all in good time" theory. Jay Painter, author of GNOME-ppp, notes that he just hasn't had time to get around to the help documentation -- and he promised that GNOME-ppp wouldn't be released as a full-fledged "1.0" version until he took care of it. He also says that he isn't all that worried by the current sad state of help for Linux desktop apps and utilities.
"It's a problem that will eventually be solved," said Painter, who holds down a day job at Real Networks.
Fair enough. Linus Torvalds himself has long maintained that the progress of Linux can best be described as a multi-stage journey, with each stage building on the last. First, hackers required basic programming tools -- free software compilers, editors and debuggers. Then came the kernel -- the body of code that together with those tools comprised a full-scale operating system. In Torvalds' view, the kernel is now stable -- for all practical purposes, it is done, though there will always be improvements and advancements.
Now, finally, the time has come to start working on desktop environments and productivity applications like spreadsheets and word processors. And maybe once those things are working, programmers will get around to creating the kind of help browsers and indexing systems necessary for truly effective help. (David Mason suggests that once Netscape's Mozilla project releases a complete open source Web browser, portions of that program will be easy to adapt for use in a state-of-the-art help system.)
Hackers continually migrate to new challenges, says Welsh. "People's interests change as time goes on. A couple of years ago, if you would have asked any of the major Linux people what is the most interesting thing happening in Linux today, they would have said, oh, it must be inside of the kernel or SMP [shared memory multi-processing] support -- all of these complex technical things that people really liked to work on. If you ask Linus Torvalds today he will tell you quite clearly that it is GNOME and KDE. He admits that freely, that one of the most interesting and exciting developments in the Linux world is these desktop environments ... It is kind of a generational thing. I think that people who are coming into Linux today are coming at it where most of the system is very stable, most of the major kernel features are already there, they're solid, they're dependable, they work. And they're going, well, what's missing, what can I do, how can I contribute?"
GNOME's Miguel de Icaza provides a perfect illustration of Welsh's observation. For years, Icaza focused his hacking on the kernel, first working on a version of Linux for Sun's SPARC computing platform, and then joining a similar effort to port Linux to SGI hardware. But he eventually decided that the goal of a Linux desktop was important enough to demand his full attention.
"Some people work on stuff because it's something that bothers them," says Icaza, "but I wrote a spreadsheet not because I needed a spreadsheet but because, one, it was an interesting problem, and two, it was something that we needed to make open source a reality. I want to have a desktop that is completely free, so I wrote a desktop -- not because I needed it, but because it was something that people wanted."
Still, GNOME has a ways to go before it's stupid-user friendly. And some observers suggest that without outside help -- help from non-hackers -- it may never be. Achieving true usability, they argue, is fundamentally different from creating a solid operating system -- and a lot more difficult.
Ben Bederson, a specialist in human-computer interaction at the University of Maryland, suggested that user interfaces are harder to produce because they require greater levels of coordination.
"One of the wonderful things about Unix is that it is highly decoupled," says Bederson. "Outside of the kernel, which was largely developed by a single person, much of the hundreds of other pieces of the operating system are independent of each other. That is, the 'ls' command, and the 'gcc' compiler, and the 'emacs' text editor, and 'grep', and 'whereis', etc. all can be built independently from each other (more or less). And, many of these important pieces are relatively small, and so can be built primarily by a single individual. A windowing system, on the other hand, is more like a single complex tightly coupled thing -- and it is more likely to require a team of highly coordinated developers with a single clear mission. I don't think the current ... contributors to Linux have the right mind-set for this kind of development.
"The thousands of people that contributed to Linux tend to be hard-core hackers," Bederson continues. "That is, folks that are technically very good and interested in the low-level details. That is how they made these efficient and stable pieces. However, these are not the people that traditionally have been successful at designing and building user interfaces ... As we now know, it tends to take a very interdisciplinary team including designers, usability specialists and even psychologists (and programmers) to build a good user interface. These are not the people donating their time to open-source software."
"A GUI is to an OS kernel as 'Guernica' is to a crankshaft," says Ben Shneiderman, the director of the Human-Computer Interaction Library at the University of Maryland. "A GUI is a human-oriented work, crafted with a unified vision, attuned to the user's needs, provocative, stimulating, harmonious, inspiring." And everyone knows that hackers aren't human. But seriously, says Nathaniel Borenstein, a researcher at the School of Information at the University of Michigan, "A lifetime of kernel debugging doesn't make you a usability expert."
"One of the things that I have to beat into the heads of technical students," says Borenstein, "is that you are really not programming for people like you."
Borenstein is the principal author of MIME, the standard Internet multimedia data format. He considers himself a dyed-in-the-wool hacker (his metamail program is part of several standard Linux distributions) and disdains the use of a fancy GUI for Linux for his own hacking purposes. But he's convinced that for Linux to be usable by average computer users, hackers must listen to the input of people who might never, ever write a single line of code.
In other words, the open source community needs to expand beyond the programming world. Borenstein is actively working in pursuit of this goal: Just last week, he launched a major project at Michigan -- the "Linux/UNIX Independent Group for Usability Information" -- or LUIGUI.
"The idea of the LUIGUI project is to take the best science we can muster in the human-computer interaction area, and try and find out what actually works best for novices," says Borenstein. The students working with Borenstein intend to conduct a comprehensive review of open-source/free software programs, rate them on usability and, ultimately, create an installation of Linux that will be as friendly as possible to the novice user.
Borenstein argues that the volunteerist, gift-economy ethos underlying the open-source development model is an outgrowth of the traditional academic approach to information. It is now time, he says, for the academy to bolster the open source world with its own contributions -- in the form of "controlled experimentation" such as user testing. Only then, once the nonhacker world is making real contributions to the overall open-source environment, will software projects such as Linux begin to accommodate the needs of the stupid user.
There's also a third theory of how the help problem will be solved -- the possibility that the corporate world will see a profitable niche and step in with proprietary products that fill the need. This is, after all, the business model employed by such companies as Sendmail Inc., which is paying programmers to write a proprietary GUI for a mail server program that will remain open source.
Such a model is discouraging to true purists, who'd rather see everything free. The die-hards can take hope in Red Hat's example. David Mason, the principal author of the GNOME User's Guide, says that his work has provided the seed for a community-wide explosion.
"Once I got a good first release of the GNOME User's Guide out," says Mason, "there were quite a few people writing in to help out. Now we have about nine people working on translations, and about five or six people who edit or write. I got a substantial section from one fellow and ended up putting his name as an author for his troubles. Now he not only gets to feel good about contributing to an open-source project, but he can use it on his risumi."
"Do I think that there will be as many people writing docs as there are writing apps?" asks Mason. "No way, and there aren't in closed source environments either ... I know, I've worked there too. Can docs benefit from the open-source model? Hell, yes! I have never had this many editors reading my docs ... and it makes for great proofreading."
A brave new world populated by an infinite number of proofreaders? Useful, accurate help for us stupid users may yet be on the way.
Get Salon in your mailbox!