Jef Raskin - The Humane Environment (Pythonic)

Jeff Epler jepler at unpythonic.net
Sun Dec 29 11:37:29 EST 2002


On Sat, Dec 28, 2002 at 06:25:18PM -0700, Andrew Dalke wrote:
> Jeff Epler wrote:
> >wow.  the modal interface of "vi" rehashed in a way that requries you to
> >chord every command with shift (excluding all disabled persons is certainly
> >"humane"), plus only a fraction of vi's commands.
> 
> The phrase is 'quasimodal' and his book describes why quasimodal
> is different than modal.  Eg, shift, ctrl, and alt are all quasimodes.

So couldn't you easily make a "quasimodal" vi?  Make esc-press send '^['
(escape) and esc-release send 'a' (append), and cause vi to start in insert
mode.  Also, to better imitate LEAP (but still with the power of
regular expressions), use vim and ':set incsearch'.  You'll need a
small additional patch to ring the bell when the (partial) search gives
no matches. (emacs is even closer with C-i/C-r, no regular expressions and
it beeps before wrapping the search)

Looking at it another way, the sticky keys that a person with limited
mobility must use would turn this "quasimodal" interface into a modal one.
If modal interfaces are really a whole realm of bad, then surely this
quasimodal interface is bad since people with certain disabilities will
have to use a fully modal variant of the interface.

I'm a rabid vim user, and apparently not particularly bright if I can't
grasp just what makes quasimodal UI so great, but I don't have any trouble
being in the right mode to do what I need to do.  And that frequently
includes using / and ? to get to the right position for my next edit.

Oh well, I shouldn't be so foolish as to say in the early days of the most
"user-hostile" system out there, unix geeks invented something as great
as User Interface Pioneer Jef Raskin decades ago, and simply failed to
include one little idea that may or may not be an improvement over a
fully modal interface. (and probably couldn't have been implemented on the
terminals of the day, anyway, since shift-space doesn't have a distinct
character code and there are no character codes for "shift pressed" and
"shift released")

Jeff




More information about the Python-list mailing list