red/yellow/blue buttons an anachronism?

Michael Klein Mklein at nts.net
Fri Oct 1 19:54:07 UTC 1999



On Friday, October 01, 1999 12:28 AM, Peter Crowther
[SMTP:Peter.Crowther at IT-IQ.com] wrote:
> > The names of the buttons should be semantic, not color or positional.
> 
> ... unless the semantics vary between different parts of the same system, in
> which case no single semantic naming convention can suffice.  For example:
> 
> > In MVC, <select> <operate> and <window> are the names I think of for the
> > mouse.  In Morphic, <select> <operate> and <halo> .
> 
> Case closed, to me at least.

Exactly.  No single naming scheme an suffice.  The names should be
chosen
appropriate to the module within which they reside.  If you are writing
device
drivers, than left/red is right.  If you are doing a UI framework, like
MVC or Morphic,
Then I would hope you would have some coherent semantics for your
input scheme.  Try to prevent the physical implementation from
propagating into the
higher layers.  For example, NeXTSTEP provides (provided?) three kinds
of
draging operations: move, copy, and link.  Application writers could map
those
into appropriate actions within the context of their application, rather
than writing code
like:

	Keyboard shiftPressed
		ifTrue: [heldObject copyTo: target]
		ifFalse [heldObject copyTo: target].

Since squeak strives towards extreme portability, remember that the most
variation amonst computer systems occurs on the input devices...
specifically
the keyboard.  But these days, a trip to your local computer megastore
will reveal a bewildering array of trackballs, mice, keyboards, yokes,
joysticks,
and even a steering wheel or two.  (How fun would that be... towing
windows around
your screen :-? )

> 
> As we're in a situation where a button does not necessarily have a single
> physical realisation (for example, option keys to distinguish multiple
> virtual buttons on the click of one physical button), let alone the same
> physical realisation for all users on all platforms, a positional notation
> is also inappropriate.

The right thing to do is to decide on the semantics you want, and then
figure
out good UI gestures to invoke them.  Form follows function.  If you
ever try
to develop your own keyboard layout, you will see what I mean.  Still,
even
today, we are plagued by keyboards with an alphabetic layout.  How hard
would the piano be to play if all of the keys were laid out in a single
row,
rather than with the white-black scale-revealing system we use today?

> Given the above, it seems natural to invent an arbitrary set of names for an
> arbitrary set of virtual buttons.  I'd quite happily go with Charles,
> Renaldo and Kung-Kiu as the names of the buttons provided the names were
> used consistently; what is then important is a consistent mapping of these
> virtual buttons to operations within any particular interface style, such as
> MVC, Morphic, the GIMP, the Windows Style Guide, Paint Shop Pro.
> 
> 		- Peter

Better still, provide an easy mechanism for users to customize and
extend
their own mappings.

-- Mike Klein





More information about the Squeak-dev mailing list