Some O-O techniques for
graphical interactive applications
Famous Designer has recently designed an automobile
It has neither a
nor a speedometer
nor any of the idiot controls that plague
other modern cars
if the driver makes a mistake
lights up in the middle of the dashboard
The experienced driver
will usually know what went wrong
Unix folklore. (Instead of “
original names one of the principal contributors to Unix.)
legant user interfaces have become a required part of any successful software product.
Advances in display hardware, ergonomics (the study of human factors) and software
have taken advantage of interaction techniques first pioneered in the seventies: multiple
windows so you can work on several jobs, mouse or other fast-moving device so you can
show what you want, menus to speed up your choices, icons to represent important
notions, figures to display information visually, buttons to request common operations.
The acronym GUI, for Graphical User Interfaces, has come to serve as a general
slogan for this style of interaction. Related buzzwords include WYSIWYG (
What You See
Is What You Get
), WIMP (“Windows, Icons, Menus, Pointing device”) and the phrase
“direct manipulation”, characterizing applications which give their users the impression
that they work directly on the objects shown on the screen.
These impressive techniques, not long ago accessible only to users of a few
advanced systems running on expensive hardware, have now become almost
commonplace even on the most ordinary personal computers. So commonplace and
popular, in fact, that a software developer can hardly expect any success from a product
that uses just a line-oriented interface, or even one that is full-screen but not graphical.
Yet until recently the construction of interactive applications offering advanced
graphical facilities remained so difficult as to justify what may be called the
: the more convenient and easy an application appears to its users, the harder it
will be for its developers to build.
One of the admirable advances of the software field over the past few years has been
the interface conjecture through the appearance of good tools such as