03 April, 2006

Self-testing is not serious testing

Yesterday, my father, my son, and I spent several hours trying to install SUSE Linux 10.0 to our home desktop computer. The way it works is this: you run the install from Disk 1; a few basic programs are installed; the computer resets, and the install continues.

At least, it's supposed to continue. We kept having trouble at that step; the computer would reset, but it wouldn't return to installation. Instead, we would get a login screen. The reset occurs before users are set up, so there were no users, and no one could log in. The root password was a complete mystery; even deleting it was no help. It was absolutely bizarre.

I should emphasize that we're not n00bs here. My father has installed Linux several times over, on several different computers, using several different distributions. He recently upgraded from SUSE 9.3 to SUSE 10.0 on his own home computer, so he was familiar with the process. I myself have run a Linux installation at work, and I plan to do so again in the future. I'm more comfortable with Linux than with Windows.

Here we are, with decades of computer experience, reduced to impotence by an installation program.

At one point, it occurred to us that it might be advisable to remove Disk 1 before restarting the computer. Until that point, we believed the installation needed Disk 1 in the computer when it rebooted; nothing in the directions suggests otherwise. We had tried everything else, however; why not try this?

It worked! After the restart and selection of OS, the installation screen came right up.

While searching for help on this issue, I was amused to read the opinions of multiple Linux authorities that SUSE has an "easy" installation process, not only compared to other Linux distributions, but even to Windows. This explains why online Linux discussions frequently focus around the question, "Why hasn't Linux taken over the world yet?" Because we programmers don't do any serious usability testing. Self-testing is not serious usability testing; because of this, we don't realize that a few lines of code are what makes the difference between a working Linux system (a thing of beauty indeed) and an overpriced paperweight. All they have to do is pop up a little window warning the user to remove Disk 1 before reboot. It's a few lines of trivial code, but because everyone who tested it knew that already, it never occurred to anyone to do that.

I wonder how many people have given up on Linux because such trivial oversights are commoner than programmers think?

2 comments:

Alessandra said...

So... here's a golder opportunity for you! create a website where you put all these nice little directions for non-nerds. And if the hits start coming, you can even charge advertising! :-)

jack perry said...

Two problems: (a) I'd need the time to figure out all these problems (there are loads of others that I haven't figured out), and (b) I'd need the energy and desire to do this. You'll notice I haven't been able to post much lately... :-(