* <<H2S.0642>> Aborted email to Ted re: modes.
I don't have any dogmatic objection to modes; they can be useful and
are sometimes necessary in certain situations. I only object to them
when they become user-hostile: when there are inadequate cues to the
user that they are in mode X, Y, or Z, and they become vulnerable to
the hazard of issuing unintended commands, or performing unexpected
operations. Or, when they are simply an encumbrance.

A mode, to me, isn't just a level of referral, it's a LOCK on a level
of referral that requires explicit actions for engaging and
disengaging.

For example, when we click-and-drag the mouse inside of a span of
text, a selection is made; when we click-and-drag the title-tab of a
noodle, the noodle moves. We get two different behaviours for the
same action, and there's been no mode change; the target of the
action defines the program's resultant behaviour.

What I would consider a mode-change would be something like this: you
click on some button or issue some key sequence that LOCKS you into a
level of referral or an operational context, so that, for example,
clicking and dragging the cursor inside of a noodle would NOT select
any text, but would instead pick-up and move the noodle, because we
are in NOODLE MODE. Then, to disengage that modality you would have
to click the proper button or issue the right key sequence.

I like things to be contextual, defined by whatever the operational
target is. If I have a blinking cursor placed in some text, the
operational target is the text span, and unmodified keystrokes
perform the usual text insertion/deletion actions that we expect them
to. Is that a mode? I'd argue not, because I can use a modifier key
to momentarily alter my level of referral (Alt-N for a new noodle:
workspace-level; Shift-Alt-+ to scale the noodle: noodle-level,
etc.). Likewise, for the mouse, if I right-click on a text span, I
get a menu for that text span. If I hold Alt and right-click, I
elevate my level of referral and get a menu for the noodle. If I hold
Ctrl and right-click, I get a menu for the workspace, and so-on.

Now, that's just my druthers-- but I am not married to this way of
doing things! And I certainly understand the argument against it.
When the operational target is ambiguous/variable, and you start
overloading the letter-mnemonics of the keyboard with 2, 3, or more
different command/actions it becomes burdensome for the user.

--
Excerpted from:

PUBLIC NOTES (H)
http://alph.laemeur.com/txt/PUBNOTES-H
©2017 Adam C. Moore (LÆMEUR) <[email protected]>