Modelessness (Was porting UNIX applications to the mac)

Mark Horton mark at cbosgd.ATT.COM
Tue Sep 30 06:19:04 AEST 1986


In article <585 at zeus.UUCP> bobr at zeus.UUCP (Robert Reed) writes:
>    A useful definition of mode is a state of a user interface that affects
>    the interpretation of subsequent inputs without obvious indication.
>
>The operant words here are "WITHOUT OBVIOUS INDICATION."  We can argue all
>month about whether holding down the shift key or pushing the mouse button
>while looking at a pull-down menu constitutes a mode in the strictest
>definition, but all of this would be beside the point.  The idea behind
>modeless programming is to eliminate surprises.
>
>If I click-drag an object or pull down a menu, or hold down the shift key,
>it is a conscious act for which I am getting direct feedback from the
>system.  As a novice user of vi, I was constantly surprised by trying to
>enter text, only to find that I was in command mode (with no obvious
>indication).  That is the point.

Sorry, Bob, I disagree.  Your version of vi (3.7) doesn't show you when
you're in input mode, but mine (3.10) does; so does the MS DOS PC/VI
clone.  (It says "INPUT MODE" right there on the bottom line, or "I"
if you have terse set.  There are similar messages for r and R modes.)
In System V release 2, you can get this by putting "set showmode"
in your EXINIT, in release 3 it's on by default.

In spite of this, I still consider vi a moded editor, and I think most
others do too.  As an extreme example, ex command mode is certainly a
mode, with a very obvious visual indication (the : prompt and cursor
at the bottom of the screen.)

There's nothing wrong with being moded, it's just a personal preference.
I've taught vi to many novices, such as secretaries; I stick to a 10
command subset and they seem quite happy.

Mice and other pointing devices are handy for lots of things, but with
only two hands, you can't keep one hand on the mouse all the time.  A
really good mouse interface never has your hands on the keyboard, you
do everything with the mouse.  (MacPaint is a good example of this.)
But for a text editor, you can't reasonably input new text with a mouse,
and there's the problem.  There are so many things you want to do in a
complex text editor that you can't really put them all on a menu without
having zillions of menus and never being able to find anything.  This
goes for shell commands too.

A person who has learned a keyboard oriented editor like vi or emacs
becomes very familiar with that editor.  Commands become reflexive
habits, and switching to another editor is very painful; this is why
there are so many flames about editors.  I personally have the vi
command set hardwired in my fingers, so I'm not anxious to learn another
text editor or word processor.  It took a quantum leap in editor quality
to get people to switch from line editors to screen editors, and there
are still plenty of line editor users out there.  (My office mate hunts
and pecks at ed.)  It will take a similar quantum leap, plus near
universality of mice as standard input devices, plus a mousecap or
similar notion, to make people jump from screen editors to mouse editors.
So far I haven't seen the quantum leap, at best things seem about even.
(Cursor motion is easier but commands like "delete 2 sentences" or
"find the matching parenthesis", or even a simple search, are harder.)

	Mark Horton



More information about the Comp.unix mailing list