Richard Snodgrass. Carnegie-Mellon University. Department of Computer ...... K.A. Shillington and G.M. Ackland (eds). tICS[). PASCAL Version 1.5. Institute for ...
A Sophisticated Microcomputer User Interface Richard Snodgrass
C a r n e g i e - M e l l o n University D e p a r t m e n t of Computer Science P i t t s b u r g h , PA 1 521 ,.33
Abstract
the
and
low
processing
rate.
They
impose
s e c o n d a r y r e s t r i c t i o n s , such as a small symbol table T h e d e s i g n and implementation of a men.-oriented interface for personal computers is discussed. F a c t o r s p e r t a i n i n g to the cognitive limitations of u s e r s are e x a m i n e d an(l their impact on the design o f t h e s y s t e m is d e s c r i b e d . The major attril)utes of t h e s y s t e m are ( 1 ) all communication between the o p e r a t o r a n d t h e computer is through menus or forms (which are analogous to hard copy d o c u m e n t s ) ; ( 2 ) e x t e n s i v e help is available at all times; (8) the i n t e r f a c e can adapt to the e x p e r i e n c e of the user; (4) the display processing t i m e is s h o r t ; and (5) an e x t e r n a l data format e x i s t s t h a t c o m p l e t e l y defines the interface. The v a r i o u s coral)orients of the interface are discussed in detail, followed by a discussion of the implementation.
in
the
compiler
overhead) constraints
severely
sophisticated research that
personal
advanced
some
research
intelligent
reason
user
has
been
interfaces
(lone
some
for
very
second
on
power
large
only
recently
attractive
properties
not shared by
A personal computer us.ally has a
v i d e o display w h i c h can contend with
as a microcomputer sy~stem).
of a faster irregular
executing
a
program.
system
and
machine.
These
sometimes
results
in
A third advantage is the
of
facihties
provided
by
the
bare
Personal computers require less complex
operating
systems
than
conventional
computers,
s i n c e multiprogramming issues (protection, resource
s p a c e , t h e s l o w n e s s and small c a p a c i t y of the disk,
sharing,
s y n c h r o n i z a t i o n ) are not present.
microcomputer
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
operating
systems
Thus,
offer
lower
o v e r h e a d s and d i r e c t a c c e s s to tile resources of t h e s y s t e m [1 1], This
paper 'describes
exploits $00.75
which
a v a i l a b i l i t y of l o w - l e v e l primitives of the operating
c o n c e r n the lack of a virtual address
(~) 1080 ACM 0-89791-024-9/80/0900-0097
CPU only for short periods of time at
intervals,
annoying behavior [8].
One
s e t o f r e s t r i c t i o n s on the resources available when or
is t y p i c a l ) . ~lso, although the processing is not o v e r w h e l m i n g , it is uniform, whereas
u s e r s o f large multiproeessing systems get the use
little
is t h a t microcoml)uters impose a stringent
restrictions
have
in microcQmputer s y s t e m s , personal computers also have
to a personal computer (also referred to
implementing
computers
to the point w h e r e e f f e c t i v e interfaces
In s p i t e of the many restrictions that are present
i n v e s t i g a t i o n has f o c u s e d on the adaption of these paper
Another reason for the lack of
v e r y high d a t a t r a n s f e r rates ( 1 0 0 0 characters per
s y s t e m s [ 2 , 1 2, 1 4, 16, 20, 2 2 ] ,
in t h i s
these
design of
are possible.
1. Introduction
interfaces
with the
c o n c e r n i n g microcomputer user interfaces
large systems.
developing
Dealing complicates
user i n t e r f a c e s an(I makes research
in t h i s a r e a d i f f i c u l t . is
to an e x c e s s i v e swapping
deficiencies.
obvious
dedicated
Although
(due
w h i c h are o f t e n more limiting than the
97
computer
the
positive
while
a user feat.res
dealing
interface of
effectively
a
which
personal with
its
limitations.
A s e c o n d c o n s i d e r a t i o n which is important in the
The s y s t e m is designed to be employed
s u b s t a n t i a l amount of interaction with the user, due
d e s i g n o f i n t e r a c t i v e systems is the e x p e r i e n c e of t h e u s er . T y p i c a l users of these systems vary
t o an extensive set of available commands, a large
widely
amount
m o t i v a t i o n to learn about the system.
with
any
application
of
data
particular,
I)rogram
entry
and
which
requires
display, or both.
a
In
which
p a c k a g e s c u r r e n t l y marketed for small
businesses
that
handle
accounting,
data
the
approach
becomes
less
available
in
e x a m i n e d here.
base,
personal
using
a microcomputer have large
c a t e r t o n o v i c e users. It is important, however, not t o i g n o r e t h e e x p e r t user. The in t e r f a ce should be
As hardware
able
e x p e n s i v e , the increased facilities a
involve
Many jobs
t u r n o v e r r a t e s , so it is important for tile system to
a n d / o r m a n a g e m e n t functions are prime candi(lates for
in both t he d e g r e e of familiarity and the
to
adapt
experience.
computer will allow the
its
characteristics
I low
to
imbed
to
this
user's
ability in the
general s y s t e m to be e x t e n d e d to incorl)orate more
interface
k n o w l e d g e c o n c e r n i n g the user and the environment
very
p r o v i d e d by t h e application program.
Thus, it is
a m o u n t o f e x p l a n a t o r y t e x t to the desires of the
a p p r o p r i a t e to a t t e m p t to provide user interfaces
u s e r . Thus t h e n o v i c e would I)e given a significant
for
a m o u n t o f g u i d a n c e by the system, whnreas the
present
microcomputers,
even
though
more
would
be
presented
interface that specified
interface T h e r e a r e a number of design criteria which must computer
or
on
a
large
system.
interface the
the
user's
cognitive
rate.
tlence, the information
t o b e q u i c k l y and easily assimilated. fast
enough so that
user
user's
t h i n k i n g p r o c e s s e s will not be impaired by the loss
retrieval
here
An additional constraint is that t!~e
to d e c a y o v e r time.
in that
of
user. it
the The
responds
and unambiguously to any input, allows to
recover
froln
simple
errors,
and
The user should have a
interfaces very
to
few
adhere
meets
to the
criteria given
e x i s t i n g systems meet evel~ a
s u b s t a n t i a l s u b s e t of them.
The system described
all of the listed criteria and can be
i m p l e m e n t e d and run e f f i c i e n t l y on a microcomlnJter
p r o c e s s from long term memory (LTM) is
also subject
robust,
be
the
And finally, control over all aspects of the
above,
o f i n f o r m a t i o n in S I M due to delays caused by slow r e s p o n s e times.
character by
A l t h o u g h it may seem reasonable to e x p e c t all
The system the
the
s y s t e m must a p l ) e a r to belong to the user.
a v a i l a b l e from t he system should be simple enough be
fast
b o t h r e d u c e errors and increase the command input
t h e l e n g t h o f time t h a t that information can be held
also
very
s i m p l e means of giving commands to the system, to
i n f o r m a t i o n t h a t t h e y can consider at one time and
should
a
minimum amount of detail.
perceived
d i s c o u r a g e s illegal input.
I)r0cessi~g,
P e o p l e a r e h e a v i l y constrained by the amount of
in s h o r t term memory (STM).
user
from
as
should
effectively
A
p a r t i c u l a r l y i m p o r t a n t a s p e c t is the nature of the of
stem
communication
b e m e t b y a user i n t e r f a c e [1, 10], whether oil a
constraints
a
with
T h e r e m a i n d e r of t i l e design criteria for a user
2 . Design Criteria
personal
[7, 17]; at the
l e a s t t h e s y s t e m should I)e able to tailor the
expert
p o w e r f u l s y s t e m s will be available in the future.
is i t s e l f a hard problem
the
system.
Therefore, the
u s e r s h o u l d be able to g e t help from the system at
any t i m e . This information should be available at the
3 . Basic Design
p l a c e t h e help is n e e d e d , and should refer to the specific
context
t i l e user was in when hell) was
requested [8].
uniformity:
The
similar
system
Th e de'sign is b a s e d on the ZOG system [15, 18],
should also exhibit
commands
at
different
which
times
in
turn
s h o u l d i n v o k e similar actions, in order to reduce the
system [0, 23].
state-dePendency
is
of
comhlands.
The
actions
via
nlellil
was
based
on
the
PROMIS
In the ZOG system communication
s e l e c t i o n or] display terminals with
i n v o k e d by a p a r t i c u l a r command should be explicit
s p e c i a l t o u c h - s e n s i t i v e screens.
A ZOG menu (or
and uriambiguous, resulting in a transparent system.
frame)
commands
Such
e x p l a n a t i o n s ; e a c h command is associated with an
a system
perception w o r k [ 2 1 ].
of
is c l o s e l y matched to the user's the
system,
area
requiring less mental 98
is On t h e
simply screen
a
list which
of tile
with
user touches, to
s e l e c t t h a t command. The result of the .,~election is
a n o t h e r menu w i t h further selections. The net w or k
b y t h e a p p l i c a t i o n program is possible any time a
of
selection
me n u s is v e r y larqe (on the order of 3 5 , 0 0 0
frames
in t h e
communication
is
communication
from
discrete
Selection
options,
and
of
by
this
user
to computer is by the
of
from
presentation
is made or data e n t e r e d into a form).
PFIOMIS frame library) so that all means.
semantically
computer
to
by
preserve
the
i n h e r e n t in menu s e l e c t i o n schemes.
advantages It is possible
f o r u s e r s w h o are t o t a l l y unfamiliar with the progran!
meaningful
user
attributes
These
Thus,
or t h e i n t e r f a c e to u s e the system.
the
allows' the
information contained in frames.
Menu selection
user to parlay basic knowledge about
T h e d i s t i n g u i s h i n g c h a r a c t e r i s t i c s of ZOG are that
h o w m e n u s e l e c t i o n works into detailed knowledge
the
of
response
time
for
the
next
display
is
e s s e n t i a l l y i n s t a n t a n e o u s (ZOG is t a r g e t e d for 0.05 70% of the time) and that the total set of
seconds
frames
is
very
response
and
large. a
This
large
coupling of
network
system. at
Also,
by
locating the
relevant
the Site of action, menu selection
e l i m i n a t e s t h e s e a r c h for this information. However,
rapid
produces
the
knowledge
selection
menu
a
has
two
disadvantages. First, in
t y p i c a l impleme'ntations, it is slow. Second, t h e u s e r
q u a l i t a t i v e l y d i f f e r e n t user-computer communication
is
p h i l o s o p h y from a standard menu selection scheme,
e x p l a n a t o r y t e x t , which is annoyincl to the e x p e r t
of which
u s e r w h o a l r e a d y knows the information the menu
t h e r e are m a n y [ 1 3 , 16].
Unfortunately
The approach taken in
the
system
the
k n o w l e d g e domain (thus
three
stringent levels
to
cover
the
The
lowering by two to
(!omain),
to
relax
shown
ZOG
a
large
removes
both
amount
of
of
these
t h e e x p e r t user can simply ignore the explanation.
d e s c r i b e d here was to severely limit
system
presented
disadvantages
o r d e r s of magnitude the number of frames
necessary
be
d i s a d v a n t a g e s w i t h its rapid response time, since
in t h e form o f touch s e n s i t i v e terminals, fast disks, a n d p o w e r f u l processors.
to
contains.
a s y s t e m requires v e r y e x p e n s i v e hardware,
such
forced
the
by
time
reponse
in this paper avoids the
exhibiting
(the
fastest
a
moderately fast
the
hardware
can
s u p p o r t ) and by providing each menu with several
time constraints, to introduce verbosity
versions,
in t h e menus, and to propose an additional
each
containing
more
or
less
detail
( r a n g i n g from one line to s ev e r a l hundred lines of
o b j e c t , a n a l o g o u s to a hnrd copy document, called a
text),
Thus, t h e a t t r i b u t e s described above, when
f o r m , w h i c h is more a p p r o p r i a t e for performing large
taken
as
amounts
interface.
of
data
entry
and display.
Thus, the
a
whole,
result
in
a
powerful
user
s y s t e m o n l y a p p r o x i m a t e s ZOG in its operation, but T h e t o p - l e v e l v i e w of the system is illustrated in
t h e a d v a n t a g e s of being able to implement it on a personal
computer
F i g u r e 1.
make it a viable direction in
The e n t i r e user in t e r f a c e is implen/ented
b y t h e I n l e t f a c e Module, and all maniptdations of
w h i c h t o pursue user i n t e r f a c e s .
t h e d a t a b a s e are handled by the Database Module. There
the
user
between
I n f o r m a t i o n is
are f i v e major a t t r i b u t e s that characterize interface.
First,
all
and
communication
transfered
t h e o p e r a t o r and the computer is through
single
will
Secon(I, e x t e n s i v e help is
all times.
be
given,
implementation
This help ranges from a
comparison
m e s s a g e concerning a particular item in a
colnlllands
are
followed on
of
a
the
by
a discussion of the
personal actual
computer
performance
and
a
of- the
i n t e r f a c e w i t h t he design criteria specified in the
f o r m t o all e n t i r e subnet providing information on a an a s p e c t of the system.
and
b e t w e e n the i n t e r f a c e module and the
p r e c i s e c h a r a c t e r i z a t i o n of menus and forms
more
f o r m s if a more e x t e n s i v e data entry and display a v a i l a b l e at
b e t w e e n the database
modules,
a p p l i c a t i o n program. In the sections that follow, a
m e n u s if a simple command is adequate, or through c a p a b i l i t y is n e e ( l e d .
transfered
interface
previous section.
Third, the interface can
a d a p t to t h e e x p e r i e n c e of the operator by limiting 4. Monus
or e x p a n d i n g the amount of information presented b y a menu. short.
Fourth, the display processing time is
And lastly, an e x t e r n a l data format exists
A m e n u is a list of commands with explanations.
t h a t c o m p l e t e l y d e f i n e s the i n te r f a c e ( e x c e p t for
A s e l e c t i o n is made by typing tile command, thus
t h e c o n n e c t i o n s b e t w e e n the frames, either menus or forms, in t h e network, since arbitrary processing
avoiding 99
There
the
need
are three
for
t o u c h - s e n s i t i v e terminals.
l e v e l s of information associated
with
each
command c a u s e s time a b b r e v i a t e d v e r s i o n displayed. T h e quit c o m m a n d also is a l l o w e d any menu.
Time abbreviated v e r s i o n is a sma.
menu.
n u m b e r o f l i n e s long, of w h i c h only one is d i s p l a y e d
at any
time.
details)
is s h o w n in Figure 2a.
by
Ar'l e x a m p l e
experienced
speed
(less
with
the
This v e r s i o n is used
users
who
1
second
than
implementation
( s e e t h e alH~elldix for
described
commands
want
the
per
below)
Specific
maximum
menu
in
the
and are familiar
network.
T h e standard v e r s i o n o c c u l ) i e s t h e
entire
screen.
T h e t o p line is c o n s t r u c t e d by the
be
within
can be d i f f e r e n t for e v e r y
a r e s l ) e c i : f i e d along w i t h t h e t e x t of the
t h e menu d e s c r i b e d a b o v e , the append, remove, a n d search c o m m a n d s are s p e c i f i c
edit,
in a p a r t i c u l a r region of the
frame
commands
menu, and menus. In
to
commands;
the
abbreviations character
rest
of
all
are
generic.
commands
are
Unique
allowed
(one
is u s u a l l y s u f f i c i e n t t o l,niquely i d e n t i f y a
command). Terminal Display
I
I
Menus
Application Pro,~ram
' I ..... Interface
D•ata
Module
Key/~o~
5. Forms While
Base
l
menus
information for
Module
Forms
Data Base
are
a p l ) r o l ) r i a t e for communicating
w h i c h r e s i d e s in t h e framo, n e t w o r k , and
giving
tile
system
simple
commands
via
selections,
t h e y a r e n o t a l ) p r o p r i a t e for the e n t r y or large
display
of
system
employs
amounts
fields
embedded
refers
to
of
data.
Instead, the
forms, w h i c h c o n s i s t of a s e t of in
uninterl)reted
consecutive
screen
and
picture
attribute
character
is d e s c r i b e d
text.
A field
l o c a t i o n s on t h e
b y four a t t r i b u t e s .
describes
the syntactic
The
form of
t h e i n f o r m a t i o n t h a t r e s i d e s in t h e f i e l d and is used d u r i n g b o t h d a t a e n t r y and d i s p l a y . The explanation
F i g u r e 1: Time Top L e v e l Design
attribute
system, and c o n s i s t s name, and t h e d a t e . contains
a
listing
explanatory
standard
o f t h e nlentl name, t h e s y s t e m
text.
the
commands
along
hell)
attribute
Time r e m a i n d e r of t h e s c r e e n of
is a c h a r a c t e r
requests
intuition
one o r m o r e c o m p l e t e s c r e e n s of t e x t going into more d e t a i l a b o u t t h e s u b j e c t the menu p e r t a i n s to and the use o f t h e c o m m a n d s in t h e menu.
were
one
provided There with
each
uniformly the next version the
are
the
types
mel'lU.
The
of
commands associated
spread
generic commands a p p l y
detailed
t i l e a b b r e v i a t e d version and
the
version
when
his
When
the
standard
s h e h a s s e e n m~ou£1h of t h e d e t a i l e d version,
the
system
idea
command viewing
to t h e s t a n d a r d
is e q u i v a l e n t the
standard
menu.
A '?'
to t h e help command.
When
version,
the
less-detail
field
data
to entry
per
the
menu.
exploit
in the
and
the
the
user's
and display. Menus
other
llowever,
information
and this context
for I00
then
particular skills,
training.
t h e u s e r i n d i c a t e s t o the s y s t e m
returns
is used
handler
the c o n t e x t
in the
form is
is lost if t h e fields are
a c r o s s s e v e r a l 111enLls. For e x a m p l e , if t h e r e
company,
viewing
viewing
form
is a r e c o r c i in t h e d a t a b a s e for e a c h e m p l o y e e of a
v e r s i o n t o b e d i s p l a y e d (i.e., the s t a n d a r d when
default
The
l ) e e n u s e d i n s t e a d for t h e s e fun(;tions,
by
important,
Tile help command c a u s e s
t o all m e n u s .
version). that
two
attribute
the
designed
regarding
COLIId h a v e with
system.
control system.
Forms
T h e t h i r d v e r s i o n , t h e detailed v e r s i o n , c o n s i s t s of
name
between
database
v e r s i o n s h o w n in Figure 2b.
field
the
interface
The s a m e menu might h a v e the
strin[I u s e d w h e n t h e user the
is u s e d w h e n e n t e r i n g d a t a into the form.
Finally,
with
from
same
and
olme m e l l i l m i g h t be u s e d to s e l e c t employee,
If all of t h i s i n f o r m a t i o n w a s d i s p l a y e d at t i m e , t i l e u s e r couhl g e t a m,Jch b e t t e r
of, say, whether a
network
a n o t h e r menu would give
a t h i r d menu w o u l d give his formal
promotion. data
t h e e m p l o y e e w a s qualified
Also, f o r m s bases
(see
are aPl~ropriate for section
7);
other
Customer
List:
A(I)pend} E ( d i t )
R(emove) S ( e a r c h )
II(elp)
Q(uit)
->
(a) Customer
E×ample System
List
April
1988
A (ppend)
This List.
command a l l o r J s 9ou to add ne~4 c u s t o m e r s
E(dit)
This
command ....
This List this
command t e l l s UOU more a b o u t t h e use o f t h e C u s t o m e r and t h e commands t h a t a l l o u 9ou t o m o d i f g o r e × a m i n e list.
This
command r e t u r n s
H(elp),
?
Q(uit)
to
13,
you to the main menu f o r
the Customer
the system.
Command - > (b)
F i g u r e 2: Sample A b b r e v i a t e d and S t a n d a r d V e r s i o n s approaches
might
be
more s u i t a b l e
and if t h e c h a r a c t e r s
for relational
data bases [4].
the The First,
value
the
characters
text
positioned
in
if
the
farm
possible).
is
displayed
Then
the
(in
cursor
is
does
inverse
not
support
character
everywhere If t h e entered
hall'-intensil.y,
then
It
(such
as
'-')
into the field.
appears
with
interactive
characters
the
When a
successive
character
determine
which
picture.
The e d i t
inl)uf c h a r a c t e r s
edit characters
encountered rubouts.
and
printed backed
whc:n
over
they
when
processing
T h e m a s k c o n s i s t s of t h e p i c t u r e w i t h the
distinguished characters. results
character The
picture
replacing '(990)
in a m a s k ' ( - - - )
all
the
090-9090
........
edit
Ext. - - - - ' ,
to accept
commands
system
I01
to
e x h i b i t s unifornfity in that the always
disk
a p p l y and a '?' c a u s e s
respond
with
an
explanatory
is l a s t s i n c e it r e q u i r e s at
access
to
display
a menu ( s e e
7 ) a n d s i n c e t h e d i s p l a y cat] p r o c e e d at the rate
simple
system
by
current
menu.
system
The
an illegal c h a r a c t e r during d a t a
The system
one
a
of amount of d e t a i l .
in t h e c a s e of an illegal menu s e l e c t i o n or
The system
always
Ext.
t o b e e a s i l y u n d e r s t o o d . The
o f m e n u s a l l o w the s y s t e m to c a t e r
w i l l i g n o r e e r r o n e o u s input, giving an error
maximum has
enough
useres p r e f e r e n c e
most
are
menu d e s i g n , t h e information c m l be
levels
section
All o t h e r c h a r a c t e r s are noise, and
automatically
simple
message.
e . g . , ' t ' f o r t r u e a n d ' f ' for f a l s e ) , X (all)hanumeric), and 9 (nun]eric).
kept
generic
a r e A ( a l p h a l ) e t i c ) , B (boolean,
to which
'careful
the
are a c c e p t a b l e ;
tile original
extent
c a n o b t a i n hell) from t h e s y s t e m at any time.
entry.
characters
briefly
the
With
refusing
from the user.
illustrate
h a v e b e e n m e t . 1 h e s y s t e m is f r i e n d l y , and the
message
input, is u s e d to control the
to review
to
user
system
p o s i t i o n in t h e field is c o n t r o l l e d by
in t h e
appropriate
they
to the
an a l t e r e d s e m a n t i c s to
which will be accepted
Each character
999g'
field,
of the value replace the edit characters
criteria
various
o i c t u r e , .which is e s s e n t i a l l y a
COBOL PICTURE [ 5 ] for
Any time a '?' is t y p e d , the
s t r i n g is d i s p l a y e d on the h o t l o m line of The
is
design
ENTER k e y is t y p e d , t h e n the d e f a u l t is
terminal.
are
a
6. Evaluation
in
t h a t a u s e r SUpl)lied c h a r a c t e r can go.
explanation
the
s e v e n more dirjits. in
in t h e p i c t u r e a t t r i b u t e .
v i d e o o r in s o m e o t h e r form of high!igl-~til~£1).
distinguished
a
expecting displayed
Fxt. - .... , with
a t t h e b e g i n n i n g of t h e d e s i r e d field and
T h e m a s k is i d e n t i c a l t o t h e p i c t u r e , e x c e p t t h a t a
allow
is
450-7---
is d i s p l a y e d ( e i t h e r in full i n t e n s i t y , or, if t h e
a mask
terminal
the
system
u s e o f a f o r m f o r d a t a e n t r y is as follows.
half-intensity
'1234567 e were typed, the
f i e l d w o u l d l o o k like ' ( 1 2 3 )
in
a l l o w a b l e b y t h e terminal. means
of
giving
The user
commands to the
s ~ d e c t i o n from t h e s e t offcr~.d by the And fin~dly, t h e user f e e l s that she is
control
of
the
system
(although
the
m a y c o n s t r a i n t h e r a n g e of o p t i o n s a v a i l a b l e
a t a n y p o i n t ) s i n c e the system is always waiting for a c o m m a n d (or d a t a ) from the user. Descriptor ~____~ Pre1 File process0r 7. Implementation Th e s e v e r e limitations imposed by implementing the
system
on
a
microcomputer
necessitate
~
a
\~/ Include
User
File
Pro.tramI
c a r e f u l p a r t i t i o n i n g of the information which resides in
memory
and
secondary
th e
\
information which resides on
storage.
Putting all the information in
.main m e m o r y is i n f e a s i b l e due to the large number
q
S
I Compileri
o f m e n u s and forms in the frame network; putting all o f t h e i n f o r m a t i o n on disk results ill unacceptable response
times.
In addition, it is necessary to
d e s i g n t h e i n t e r f a c e module so that the complexity of
handling
erroneous
help
input
requests is
and
of
dealing with
embedded within the module,
~
w h e r e it c a n be d e a l t with, rather than forcing tile a p p l i c a t i o n program to handle these conditions. view
of
these
bject
ii ....
In
Code
considerations, the iml)lementation
w a s p a r t i t i o n e c l into t h r e e components: a descriptor
F i g u r e 3= Using the Preprocessor
f i l e , a p r e p r o c e s s o r , and the i n te r f a c e modtJle. The interactions
between
w h e n p r o c e s s i n g a particular frame.
t h e s e three components is
i l l u s t r a t e d in Figure 33 and examples of the various files
are
given
in the
appendix.
T h e p r e p r o c e s s o r has t w o tasks: to verify the
Although this
f o r m a t of
p a r t i c u l a r i m p l e m e n t a t i o n was done using the UCSD Pascal system [19] design
presented
on a Z - 8 0 microcomputer, the in this
program.
paper call be usefully
descriptor commands Pascal
by
file
file the
is
completely system.
the
Included
t e x t , for
associated with
defines
to
ill
size
the
refer
to
priori
menus,
limitations on the
command),
and
second
numbe;
file.
simple
human-readable
efficiently
the
and
of commands,
processed
format
format by
the
is
that
format
This reduces
module's to
code,
and
allows
the
do e x t e n s i v e checks which are
task
of
the
preprocessor is to e x t r a c t
from
the
descriptor file which is too
t o p u t this information in an include file. The
include
file
declarations,
is one
a
list
for
of
each
Pascal
CONSTant
frame., and for each
commancl d e f i n e d ill the descriptor file (the same
is
command
designed to be interface
the
t i m e - c o n s u m i n g for th~ i n t e r f a c e module to process
Although the descriptor fil9 is in a
self-documenting,
the
information
the
forms, or fields t h a t can I~e declared in ~
descriptor
with
i n f e a s i b l e f o r t h e i n t e r f a c e module to perform. The
each menu (and their
the
of
preprocessor
each frame, the
a t t r i b u t e s f o r e a c h field in each form, There are no a
conformity
b o t h t h e time it t a k e s to display a frame and the
each
names, which are used by tile application
program
for
b y t h e i n t e r f a c e n~o(lule, tile module cloes
n o t h a v e t o tie any error checking.
descriptor used
file
expected
and languages.
frame
By using t i l e preprocessor to check the
descriptor
a p p l i e d on most microcomputer operating systems
The
t i l e ( l e s c r i p t o r file and to g e n e r a l e an
Include f i l e w hic h is compiled with the application
can be used in di.fferent I]lel'l(is).
Note
t h a t if t h e d e s c r i p t o r file is changed, a new include
module.
E a c h menu is r e p r e s e n t e d by a command list, the
file
must be g e n e r a t e d by the preprocessor, and
a b b r e v i a t e d version, the standard version, and the
the
a p p l i c a t i o n program must be recompiled.
detailed
identifiers
declared
application
program
backdrop
version.
Each form is represented by a
containing
the
text
of
the
form, with
The
ill the include file allow the to
refer
to
the
frames
and
. c o n s e c u t i v e '@'s w h e r e v e r a field betongs, and a
commands
l i s t o f a t t r i b u t e tuples, one t~or each field.
commancl is e q u a t e d to a unique integer value by
All but
t h e c o mma n d list are reacl by the interface module
102
the
in t h e d e s c r ip t io n file symbolically. Each
preprocessor.
ConHilaads
which
are
not
Descriptor File
FMot~r~uBTaecldrop
I
User Display Cornrnand File
/"~'I
Module
~""~'--~--.~
Menu identifier
/,///~///~~-----/~----~XXXXXX'~X~XX "-
Los File
Menu Selection FM°:':': :'t~i:lcc;ei::::;i:ie rZ /
From
1,
J. . . . .
Status Information t
ProGram
Field-value Pairs
Co,'nmands ~.....~....~...~.......~q " ~
Data Base Schema
i
~
?
/
To Proeram
Status Information
DBCS
Data Base F i g u r e 4= The User Interface During Execution themselves associated
valid Pascal identifiers must have. an identifier specified in the description
file. Each menu name is equated with a string ( c a l l e d the m~;nu de.scriptor) that contains (in a p a c k e d format) the character poniti~n (i.e,, the b y t e o f f s e t ) of the start of the abhrcviated and s t a n d a r d version of the Illentl in the.', dc,~;criptor file 1 , t h e unique portion of each command that can I-m, s e l e c t e d in this menu, and the integer value of this command
(since
the
value
is
a q:;igned by the
p r e p r o c e s s o r ~_Hl(I (l()es not al)pear in the descriptor file). The menu descriptor does not contain the c h a r a c t e r position of the detailed w:rsion since this v e r s i o n o c c u r s immediately after the standard v e r s i o n , and con only be displayed by giving the h e l p COllllllan(I while in the standard version. For the C u s t o m e r List example given ( l e s c r i p t o r would contain eight position of the menu (four each and s t a n d a r d vernionn), twelve
earlier, the illetltl characters for the for the abbreviated characters for the
commands (four commands, with a one character name, a one c h a r a c t e r value, and a (lelimiting c h a r a c t e r ) I?lU.-~ a fin4d sl)ac(; (to signal the (:nd or
IEach byto off.~et require.'. 41ch,~raclor.%enablingthe descaiptorfdo to grow as largo as the UCSDfile system allow:.. ]03
t h e command li.t;t) for a total of 21 charact(;rs. Each form name is e q u a l e d with a string (called the f o r m d e s c r i p t o r ) which contains the character p o s i t i o n s of the start of the backdrop and the start ,of t h e field a t t r i b u t e s (eight characters total). Thus, t h e amount of main memory space occupied b y t h e menu and form deseriptc)rs is minimal. The organization of the program during execution is s h o w n in Figure 4. An associative array (an array o f s t r i n g s i n d e x e d by stringr;) is us(:d to pass data b e t w e e n the i n t e r f a c e module and th{: data b~se c o n t r o l system (DISCS). Aft~...r the u,'~er has entered d a t a into a field of a form, the interface n~odtde s t o r e s the value of the fi{:l(l (without the noise c h a r a c t e r s and trailing blanks) in the associative a r r a y , i n d e x e d by the field name, which is one of t h e a t t r i b u t e s of the field. To display a field, the v a l u e is r e t r i e v e d from the associative array atld d i s p l a y e d using the picture attrihutc, Thus the noise c h a r a c t e l b ,uways appear ill the fiel(l, ,)L,L (,,U not s t o r e d in the data hase. The (Iota l)a,~e nlana(lemerM system ire based oil t h e CODASYL 1 .Q7,~3 proposal [6]. The schema associated with the data hose used by the application
proflram
descrihes
the records in tile
data To
b a s e a n d t h e f i e l d s t h a t make Ul) e a c h r e c o r d . store
a
retrieves
record the
associative places of
apl)ropriate
array,
base,
the
fields
constructs
from
the
is
DBCS
record,
fields
For
d a t a is p l a c e d in t h e a s s o c i a t i v e array, as
discussed descriptor
strings,
the
as
All
t o t h e DIt,CS from t h e a ~ s o c i a t i v e a r r a y
designed
removed).
the
actual
interface
gives
the
this
a
is
all(I MODIFYFIELD o p e r a t i o n s also e x i s t , which,
among o t h e r things, can
the
routines
in
the
interface
module
are
t o Ol)timi7e d i s k a c c e s s e s , w h i c h are t h e
o n e d i s k r e a d is r e q u i r e d t o i n i t i a t e a frame d i s p l a y .
of t h e d e s i g n makes
complete
control
over
When
all d a t a
could
also
I)e s u c c e s s f u l l y
or
hierarchical
performing
data
s y s t e m s . A nlaximum of
entry
on
an
entire
form,
disk reads may be necessary, but these n o t n o t i c a b l e sin¢:e t h e y o c c u r b e t w e e n fields.
are
employed
data
in f l o p p y - I } a s e d
seyeral
i s s u e r . . It is i n t e r e s t i n g t o note t h a t
Enough state
base
to
system.
the
reads
m o d u l e s u p p o r t s a slnall number of
less
can
i n f o r m a t i o n is r e t a i n e d b e t w e e n cahs
interface
module to eliminate unnecessary
from the disk.
technology
The interface
field
Analogous
bottleneck
relational
management
thi.s
the
l e n g t h ( s i n c e trailing hlanks h a v e
DI3CS
design
with
to
in
This a s p e c t
m o d u l e as g e n e r a l as possible, and
representation
pertains
line
pier[ire
is r e t u r n e d the
file
that
attribute
and the data entry i)roceeds.
do'operations
t h e m a x i n l u m l e n g t h and tl~e string that
been
The
input or output entire forms.
determines is o f
earlier).
OUTPUTFIELD
as s t r i n g s in t h e a s s o c i a t i v e length
The
entered
retrieved,
variable
module 2.
and
In p a r t i c u l a r , n u m e r i c v a l u e s are s t o r e d as
strings.
the
a n d r e t u r n s a I)oolean s t a t u s i n d i c a t o r ( t h e
a r e c o r d is r e t r i e v e d
are stored
to
integer),
The rev~:rse s e q u e n c e
when
internal
the
a r e d o n e b y t h e DBCS, s i n c e the v a l u e s of
array.
completely
INPUTFIELD o p e r a t i o n is p a s s e d a f i e l d desi~lnator (an
All c o n v e r s i o n s b e t w e e n d a t a
occurs
the data base.
types the
data
i t in t h e d a t a b a s e .
operations
from
in t h e
W i t h t h e a d v e n t of W i n c h e s t e r
disks, accesses
of a problem.
t o s e c o n d a r y s t o r a 0 e is
Using this n e w t e c h n o l o g y , an
abbreviated
m e n u w o u l d t a k e l e s s than 0.2 s e c o r l d s
INITIALIZE o p e r a t i o n is I.Ised t o s p e c i f y t h e d e s c r i p t o r
to
and
file, the initial verbosity
operations
that
I)e a p p l i e d to a franle.
The
display,
standard
this
point,
menu
( a b b r e v i a t e d or sl.andard),
seconds. becomes
a
INITIALIZE
displaying
f o r m s c o n t a i n i n g many f i e l d s .
keyboard, logging). allow
the
input
device
to
the
user's
these
two
8. Acknowledgements
a command
f i l e , w i t h t h e r e s t of t h e s y s t e m
I would
a s if t h e i n p u t w a s coming d i r e c t l y from
user.
By s p e c i f y i n g
input
may
be
this
a log file, a s c r i p t of t h e
recorded.
l i k e t o t h a n k Norman 13rLicks for makin~l
research
environment
If the d a t a b a s e
in t h i s p a p e r ,
possible
file
ants s e v e r a l
as
a
operation
the
levels
file
data
is p a s s e d
selected
handles
operating base.
The
on
a
backup
a
suitahle
b a s i s o f u s e r i n t e r f a c e design,
c o l l e a c j u e s f o r c o m m e n t s on p r e v i o u s
drafts.
DISPLAYMENU
a menu d e s c r i p t o r and r e t u r n s
c o m m a n d as an i n t e ( j e r .
DISPLAYMENU
all t h e d e t a i l s c o n c e r n i n g t h e various Illeml and
command that
command
of
providin~j
M e r r i e B r u c k s for helpful d i s c u s s i o n s
on the psychological
version
by
in w h i c h t o build t h e s y : ; t e m d e s c r i b e d
b e c o m e s c o r r u p t e d , it c a n I)e r e s t o r e d by using this
the
rate when
f i l e s t o b e s e t b y the a p p l i c a t i o n
S i n c e t h e i n p u t d e v i c e is not c o n s t r a i n e d
behaving user%
proces.,;ing especially
2
T h e CIIANGEINI'UT and CIIANGrloG e l ) o r a t i o n s
t o b e t h e k e y b o a r d , it is p o s s i b l e to run t h e s y s t e m
the
I
factor,
than
a n d t h e log file to no file ( i n d i c a t i n g no
program. from
significant
the
less
and t o p r e p a r e t h e m o d u l e f o r t h e oth~:r o p e r a t i o n s . sets
At
a
the
generic
is g u a r a n t e e d
appears
in
conlmands.
the
DISPLAYFORM o p e r a t i o n
The r e t u r n e d
t o b e one of t h e commands menu
descriptor.
The
is p a s s e d a form d e s c r i p t o r
a n d d i s p l a y s t h e c o r r e s p o n d i n g form on the s c r e e n . DISPLAYFORM whenever contains
also creates
a field descriptor record
a f i e l d is o r = c o u n t e r e d ; this r e c o r d , which t h e l e n g t h a n d s c r e e n p o s i t i o n of the field,
104
2Since DISPLAYFORM ded~Jce~ the ~creen p,,:.ition of the fLeld~, directly from 1he b.~ckdlop, there i~ rio flood for the iml~lemcrltorto explicitly include thc.:,e po:,itions in the descriptor file. Al:-o, there are ,constructs that make the picture altribulc ir~d(,lleI~dchlof the ler~glhat :lhe field (see the. appendi×), lhu~. allowif~g tl~e back(Ir,opar,d 'lhe fie ,..itlributes to be changed r~.lalively indep(,iH'letdlyof each efller.
References
1 4 . J.M. McCrossin, R.P. O'llara and L.R. Koster. "A t i m e - s h a r i n g d i s p l a y terminal session manafjer." I B M S y s t e m Journal 17, 3 ( 1 9 7 8 ) , 2 6 0 - 2 7 5 .
1. S.J. Boise. "User behavior on an interactive c o m p u t e r s y s t e m . " IBM System Journal 13, 1 (1974), 2-18.
1 5 . A. N e w e l l . Notes for a Model of l luman P e r f o r m a n c e in ZOG. Carnegie-Mellon University C o m p u t e r S c i e n c e Department, August, 1077.
2. R.F. Brunt and D.[. Turfs. "A U'.{er-Oriented A p p r o a c h to Control I arl(ILlages." S o f l w a r e - - P r a c l i c e and Exl)erienco 6 (1976), 98-108.
1 6 . d. Pahne. "A human-computer interface for n o n c o m p u t e r s p e c i a l i s t s . " Software--Practice and E x p e r i e n c e 9, 9 ( S e p t e m b e r 1070), 7 4 1 - 7 4 8 . 1 7. E. Rich. B u i l d i n g and E x p l o i t i n g User Models. Ph.D. Th., C a r n e g i e - M e l l o n University, April 1079.
3. J.R. Carbonell, J.I. Elkind and R.S. Nickerson. "On t h e p s y c h o l o g i c a l importance of time in a ' t i m e - s h a r i n g s y s t e m . " I l u m a n F a c t o r s 10 (1068),
1 8 . G. Robert'son, D. McCracken and A. Newell. The ZOG A p p r o a c h to M a n - M a c h i n e Communication. T e c h . R e p t . C S - T R - 7 0 - 1 4 8 , Carnegie-Mellon U n i v e r s i t y Computer Science Departm(:nt, October, 1979.
135-142:
4. R.G.G. C a t t e l l . An Entity-Based Database I n t e r f a c e . Tech. t:~ept. CSL-70-O, Xerox PARC, August, 1079.
1 9 . K.A. Shillington and G.M. Ackland (eds). tICS[) PASCAL V e r s i o n 1.5. I n s t i t u t e for Information S y s t e m s , U n i v e r s i t y of California, San Diego, 1978.
5. CODASYL COBOl_ Committee. Journal of D e v e l o p m e n t . S e c r e t a r i a t of the Cana(lian G o v e r n m e n t , EDP Standards Committee, 1978.
2 0 . R.T. Snodgrass. An Object-Oriented Command L a n g u a g e . C a r n e g i e - M e l l o n University Computer S c i e n c e Department, 1980.
6. CODASYL Data D(:~cription Language Comnfittee. J o u r n a l of Devc:lol)nient. Secretariat of the Canadian G o v e r n m e n t , EDP Standar(Is Committee, 1078,.
2 1 . S. Treu. " I n t e r a c t i v e Command I all[llla(le D e s i g n B a s e d on Required Mental Work." I n t e r n a t i o n a l Journal of Man-Machine Studios 7 (1975), 135-149.
M. G e n e s e r e t h . An Automated User Consultant f o r MACSYMA. Ph.D. T h . , l l a r v a r d University, 107,S. 7.
8. Goclden, D.R. and A.D. Baddcley. " C o n t e x t D e p e n d e n c y for Recall C o n t e x t - D e p e n d e n t Memory in T w o Natural Environments: On I.and and U n d e r w a t e r . " R r i t i s h Journal of Psychology 66 (1975), 325-332.
22. IFIP. P r o c e e d i n g s of the IFIP Working Confer,once on Commnz~rl Languages, I un,i, Sweden, A u g l l s t , 1 0 7 4 . [)ul)li.qh~.d as Commnnd I nnquaqes, A m e r i c a n E l s e v i e r Publi.'Hfin£1 Company, New York, 1975.
9. d. Hurst and K. Walker (eds). The P r o b l e m - O r i e n l e d System. MEDCOM Press, New
2 3 . P.L. Walton, R.R. Ilolland and I_.l. Wolf. "Medical G u i d a n c e and PROMIS." Compute.r 12, 11 (November 1979), 19-27.
York, 1972.
1 0 . T.C.S. K e n n e d y . "The Desifln of l n t c r u c t i v e P r o c e d u r e s for M a n - M a c h i n e Commurdcation." I n t e r n a t i o n a l Journal of Man-Machine Sludies 6 (1974), 309-334. 11. B.W. Lampson and R.F. Sproull. An oper] o p e r a t i n g s y s t e l n for a. single-user machine. P r o c e e d i n g s of the Sev{mth Symposium on O p e r a t i n g S y s t e m Principles, ACM, Decemher, 19779, pp. 9 8 - 1 0 5 . 12. K. L a n t z and R. Rashid. VTMS: A Virtual T e r m i n a l M a n a g e m e n t System for l{IQ. Proceedings o f t h e S e v e n t h Symposium o~t Operatin£1 Sy¢;tems P r i n c i p l e s , ACM, Deceml~(;r, 1070, pp. ~;6-97. 13. d. M a r t i n . Desigln of M,m-Conlt)uh:r Dialogues. P r e n t i c e - H a l l , New J e r s e y , 1973.
105
Appendix This e x a m p l e i l l u s tr a t e s the various components of a typical system.
Comments c o n c e r n i n g
t h e c o m p o n e n t s are in italics. A description of the format and use of t hes e files may be f o u n d in s e c t i o n 7.
D e s c r i p t o r File: Example
System
system name the f i r s t f r a m e i n t h i s e x a m p l e i s a m e n u menu name menu identifier commands
?tllenu
Customer L i s t CustL i st append edit search r emove ? Customer L i s t : ?
line separator, abbreviated menu follows
A(ppend) E ( d i t )
R(emove) S(earch) H ( e l p ) O ( u i t )
-> standard menu follows
A (ppend)
T h i s c o m m a n d allous you to add ne~ customers to List,
Q ( u i t) ?
T h i s command r e t u r n s gou to the main menu for the sustem,
This ?
menu d e a l s ~Jith the Customer L i s t ,
the Customer
detailed menu follows
t41nich is ... next complete screen of information
form identifier, CustForm C u s t o m e r Name ( F i r s t ) : ( ~.+t ~ i;? Ip It+'t~.' IZ,'I;.'t ,.-?'(t ' l~ .~' i! .q;+~'t~' t~..'l;:+t:++I:.' t;/t;.~ t;.%:,' t~.~{r~;: ;~,+t~ i ~ t p Customer Name f L a s t ) : Address: git9 [Pale Alto]: S t a t e [CA] : ~P Z i p Code [gGgSG] : e,~P,~,~ T e l e p h o n e Number ((415) 858-1234 Ext. 5G78]: ~'"
a form is next followed by backdrop
attributes
follow 3
" A ( * ) . . . . . . , , CustFirstName, i f not kno~n, press ENTER "A ( * ) " , ,CustLastName. "X (¢t) " , , C u s t A d d r e s s , "X(*)","Palo Alto",CustCitLj, "XX", "CA",CustState, " 9 9 9 9 9 " , " 9 4 3 8 g " , Cus tZ ip, " (999) 999-9399 E x t , 9999", "41S85812345678" ,CustTelephone,
{g nu
next menu
3The attributes are in the order of picture, default, field name, and explanatory message. "A(~)" expands to "AAAA...", w i t h a length equal to the lenglh of the associated field. This construct allows tile' picture attribute to be independent of the field size as indicated in the backdrop. An empty default will allow the value to be the emply string; a nonexistent default will not. Defaults can be provided by the main program by specifying a field name for the default rather than a string, causing the interface modulo to r e t r i e v e the default from the associative array, l~1£
Include File: CUSTLIST=',=; \ f=; j ] A 1E 2R 4S 3 ' ; CUSTFORM='=;bB=:ep':
the menu d e s c r i p t o r the f o r m d e s c r i p t o r other f o r ms and menus
QUIT=B; APPEND=J; EOll=2; SEARCH=3; REMOVE=4; other commands
. o .
Application Program: PROGRAM Examp I e' ; USES I n t e r facerlr,du I e; EOt'~IST I NCLLIDE
' i nc I ude
declares p r o c e d u r e s
f i I e nat~)e'
lnitHenu('descriptor
fite
C,ASE DisF, IoU[lr_,n,J(CustList} At)l)end: . . . 1 E d i t : BEOIN
the i n c l u d e f i l e
nal,le', S t ,3ndar (1) ; OF
° o °
D i spl,%lForm(CustForm) ;
Soc~I'c.h:
. ..1
Rc:nlrJve; . . . ; Oui t : END ; •
•
...
°
END.
I07