[Usability] Usability in the face of failure?



An experience today made me wonder whether usability is being
considered for error situations.

I tried Fedora Core RC 1 today.  Among all the other problems, I tried
running the Control Panel (Preferences -> Control Panel) from the Gnome
menu.  Nothing happened.  In fact, I felt as lost and powerless as if I
was using Microsoft Windows.

There are two problems:

1. When a menu item that launches an application fails, what do you do?

   In the old days of command lines, you had error output, and you knew
   the name of the command being run.  Probably the error output told
   you what went wrong.  It gave you enough information for a more
   experienced user to help you out.

   Nowadays you have to work just to find the name of the executable
   that was actually tried to be run (let alone what arguments it was
   started with).

2. There's no feedback whatsoever.  (The user is left wondering "Is it
   on the way to starting?  Should I wait longer?  What went wrong?")

One suggestion then is that Gnome could record the starting of
programs, and dup stderr and stdout into a circular buffer.  If the
command fails to start or exits with an error status, that information
and the end of stdout and stderr could be delivered somewhere.  This
would enable most problems to be fixed (if the person is
knowledgeable), or to report the problem with enough information for
someone else to offer them advice.

After writing the above, I did some more investigation and found that it
wouldn't help in this instance, since even though the control panel
failed, it neither returned a non-zero exit status nor produce any
output on stdout or stderr.

(In fact even an strace didn't reveal anything obvious - it just ended
up doing a lot of select(4, [3], NULL, NULL, NULL) calls then a read,
write, then a read to fdesc 3, which last one failed with EAGAIN
(Resource temporarily unavailable), then eventually closed lots of fdesc
and finally did an exit_group(0).)

Anyway, is any thought going into helping the user take control and
still feel empowered even when something fails?  How are gnome
applications supposed to pass on useful diagnostic information to the
user?

luke




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]