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

Re: Info sucks?

Again I apologize for the subject of this thread... I didn't choose it and
it's grown into something else.  To reiterate, info isn't the only thing
that I think sucks :)

On Wed, Sep 16, 1998 at 11:28:05PM +1000, Hamish Moffatt wrote:

> You can have the Wordstar keys (or something similar) still in the
> editor `joe'.
> Borland's Windows development tools still support the Wordstar
> commands and will even let you mix CUA with Wordstar, which is nice.

The keys aren't the only things that make a good user interface... though
they can be a part of it.

Things to notice in Borland C++:

  - there's a *context sensitive* status bar at the bottom of the
    screen, offering useful and relevant keystrokes for whatever you're

  - all menu bars are accessible with the mouse, ALT-keys (CUA standard, and
    a very good idea) and F10+arrows (not so intuitive but sometimes
    useful).  Often-used menu bar options tell you hotkeys to launch them:
    learn as you go, *without* going out of your way to read manuals.

  - context-sensitive online help.  If you have a problem, press F1 (CUA
    standard key) and it tells you information that's *relevant* to your
    current situation.  Press F1 again and it tells you how to use the help

joe is my favourite non-programming Unix editor, but it lacks a lot of this. 
emacs is the most powerful Unix editor, but it also lacks friendliness --
how quickly can you navigate the menu bar with the keyboard in emacs?  I
don't even know *how*.  Yet with every CUA program, I instantly know how to
use the menu bar.

There are a lot of important user interface considerations that many, many
Unix programs simply ignore, and that CUA takes into account.  I won't use
the word "intuitive" to describe this because, as many people pointed out,
there's no such thing as a completely "intuitive" interface. 

But there are good and bad interfaces, and I take that as an absolute fact.

Good interfaces take advantage of human observational characteristics (eg.
when things change, they are more obvious), spacial memory, incremental
learning, and skill with metaphors.  You can start simple and learn without
trying very hard all at once.

Bad user interfaces choose arbitrary keys (yes, of COURSE it's C-X C-C or :q
to quit!), do not provide hints (menu bar? what menu bar?), ignore common
user assumptions (old versions of info didn't use the arrow keys) and
require extensive explanations of seemingly simple operations (cut and paste
in wordstar, navigation versus insert mode in vi).

The first time you start vi or emacs, you have to _fight_ with the darn
things to get out again.  Same with info reader, and lots of other Unix user
interfaces.  I don't care how much you're used to emacs and vi -- that's all
it is.  They aren't, and will never be, examples of good user interface

It bothers me that so many advanced programmers -- and I consider myself,
and many of the Debian developers, members of that group -- live in their
own little bubble, assuming that what's easy for them is easy for everybody. 
That's not true at all; in particular, many, many people do not retain much
information when they read high-density stuff like emacs documentation. 
Most people don't learn as fast as we do.

It is possible (really!) to design an interface that's easy and powerful for
everyone *including* us.  Don't duplicate a bad UI just because you're used
to it -- design it well, and your program will be better for everyone.

Have fun,


Reply to: