If a new command i 3 inserted into a ldr,guage its consistence with the ... The negative image of conlputers to a great deal steins from the negative experi-.
R u l e s f o r t h e Design o f End User Languages U. Engelmnri. H.P.
heirizer
Germari Cancer R e s e a r c h C e n t e r I n s t i t u t e of m d . and biol. Informatics H e i d e l b e r g , FRG Introduction T o o l s f o r t h e i m p l e m e n t a t i o n o f f o u r t h g e n e r a t i o r i l a n g u a g e s a r e riow a v a i l a h l e LSCHA83). These t o o l s f a c i l i t a t e t h e p r o d u c t i o n o f i n t e r a c t i v e s y s t o m s . A l a n g u a g e
i s d e f i n e d by a f o r m a l grammar i n which t h e s e m a n t i c s c t i o n s d r e enibedcled (MCIb3). This p r o c e s s o f implementation y i e l d s software systems f o r unuxperisnced Users l i h e . i n t h e m e d i c a l f i e l d , d o c t o r s a n d n u r s e s . The lctriguages a r e [ ~ r o b l t l mo r i e n t e d a n d b u i l t t o a v o i d h a r d w a r e o r s o f t w a r e r n s t r i c t i o n s . A User e x p r e s s e s h i s d e m r i d s i n h i s c o n c e p t s and l a n g u a g e a n d must n o t s p e c i f y how a j o b 1s e x e c u t a d on t h e rnachine. The s y s t e m s a r a a l w a y s s p e c i a l i z e d f o r t h e S o l u t i o n o f dtifinod t a s k s . I t i s assuined t h a t a n i n c r c a s e o f p e r f o r m a n c e o f 7: 1 c a n be g a i n e d i f cornpared t o t h i r d g e n e r a t i o n s o f twsre
.
The c r e a t i o n o f good i n t e r a c t i v e Systems c a n b a s u p p o ~ t e dby a c a r e f u l d e s i g n . The a u t h o r s d e v e l o p s y s t e m s f o r e n d u s e r e s i r t c a t e n y e a r s and wo11 a l o t o f a x p e r i e n c e wilich i s p r e s e n t e d h e r e i n t h e f o r m o f r u l a s f o r t h e d e s i g n o f f o ü r t h g e r i e r a t i o n languages. The d e s i g n o f a l a n g u a g e T h a r e arc D e a l c a l l y o n l y t h r e e ways o f m a n - m c h i n e c o m n u n i c a t i o n . t h e s e q u e n t i a l d i a l o g i q u e s t i o n a n d a n s w e r l . t h ß menue t e c h n i q u e ( p i c k o n e o f a sat o f cormiandsl and t h e comnand l a n g u a g e s . The t h i r d a l t e r n a t i v e 1s t h e method o f c h o i c e a s i t i s more p o w e r f u l a n d f l e x i b l e t h a n t h e o t h e r methods o f i n t e r a c t i o n [NEI83). The f o l lowirig i d e a s c a n S u p p o r t t h e d e s i g n o f c o m n d c o n t r o l l e d systerns.
-
s e t e of c o m n d s F u n c t i o n a l l y c o r r e l a t e d c o m n d s a h o u l d b e s a n y l e d es a w e l l d e f i n e d s u b s e t o f t h o l a n g u a g e . A c o l l e c t i o n o f c o r r e l a t e d comnands i n s o t s a l s o s u p p o r t s t h e t r a i n i n g o f u a e r e . A User c a n c o n c e n t r a t e o n t h e s e s u b s e t s o f t ~ i ss p e c i a l i n t e r e s t and w i l l n o t be c o n f u s e d by t h e o t h e r s .
-
a c t i v e and p a r a m e t r i c c o m n d s
It i s a b s o l u t e l y n e c e s s a r y t h a t e v ß r y comnand h a s o n l y v e r y few p a r a m e t e r r , two 1s maximum. Z e r o 1s b e s t . T h i s r e q u i r e s t t i e p o s s i b i l i t y f o r t h e d e f i n i t i o n a n d u p d a t e o f d e f a u l t s . which i s dono by t h e p a r a m e t r i c comnands. A c t i v e ( o r p r o c e d u r a l l
1 I
t J
commands i n i t i a l i z e arid e x e c u t e a t a s k undei' t h e c o n d i t i o n s d e f i ~ i e dby d e f a u l t s . Every s e t o f cormiands should be s p l i t i n a l i v t o f i t s p r o c e d u r a l arid t h e a s s o c i a t s d parametric comands.
-
information cormnds There a r e two groups o f i n f o r m a t i o n comnands. The f i r s t iricludus anewers t o questions l i k e
-
what i s t h e a c t u a l value o f a d e f a u l t ? how d i d I proceed t o t h e a c t u a l s t a t e o f my s e c s i o n :
The commands can be named STATUS. M.FAULT o r HISTORY. Other i n f o r m a t i o n commandu answer t h e q u e s t i o n s
-
which comnands a r e a v a i l a b l e ? what a r e t b e p o s s i b l e parameters f o r a c e r t a i n ~onunand: what d o e s a command do?
Ttiese c o m n d s could be HELP [ o r s i n p l y ? f u r EXPLAlN. Anothvr c a t e g o r y o f commands Support system ßanageßent functioris. These p d r t s o f a langudge have a mure g e n e r a l c h a r a c t e r and should d a a l with t h e f o l l o w i n g f e a t u r e s :
-
e x t e n s i o n o f a languege by a u s e r w i t h a u t changing t h e gramnar. c r e a t i o n o f f i l e s o r procedures t h a t c o l l e c t a s e t o f comrnandu f o r t h e s o l u t i o n o f a given problem. It must be p o s s i b l e t o i n c l u d e pdrdmetors önd c o n t r o l s t r u c tures.
-
d e f i n i t i o n of Synonyms and d b b r e v i a t i o n s o f commands under c o n t r o l o f a u s e r .
- concatenation a r e 'AND',
o f commands t o permit more thon one fuiictiuri per l i n o . Examples
semicolon
I;'
and comma
', '. T h i s a l l o ~ st h e uso a f b a c ~ i c a l l y s i m p l e
c o m n d s t o form l o n g e r and r a t h e r ' n a t u r a l ' l o o k i n g
-
input liiies.
l i n e s o f comnents u s u a l l y make no s e n s e i n a n i n t e r a c t i v e c o m n d languago. Ttiey a r e very h e l p f u l i f procedures o r b a t c h - j o b e a r e developed.
-
c o n v e r s a t i o n a l end b a t c h mode must use t h e same conunands. 111 S p e c i a l a p p l i c a t i o n s l i k e e.g.
i m g e p r o c e s s i n g s o m r o u t i n e s a r e v e r y t i m e consuming. I t s h o u l d be
p o s s i b l e t o r x e c u t e them i n b a t c h misde. F e a t u r e s o f a language Close c o n t r o l o f u s e r y i e l d s u s e f u l h i r i t s On t h e q u a l i t y o f a system. Norman [NOR831 s t u d i e d and c l a s s i f i e d u s e r e r r o r s i n t o f i v e groups:
-
mode e r r o r
-
description error
-
consistence error capture e r r o r activation error
Fmm t h i s c l a s s i f i c a t i o n t h e f o l l o w i n g d e s i g n r u l e s a r e d e r i v e d . 1. Reduce t h e number o f rnodes.
I d e a l l y t h o r e a r e no modßs. IJsers g e t v e r y e a s i l y corifiiscil. t t i i s r e q u i r e s a l o t a f complicated explanations.
2. Always c l e a r l y i n d i c a t e t h ß ü c t u a l mode.
As i t i s n o t p o s s i b l e t o u s e no niodes ( a t least you iieod W A I T I N G a n d RUNIUINGI i t rnust b e made o b v i o u s where you a r e . ßdd s y s t e m s f o i c u a u s a r t o iise t r i a l arid e r r o r mcthods wheie he t r i a s t n rocrigriize
id
rriodt. t>y
iLs
( d i f f a r a r ~ t le i r o r mossa-
gas. \
3. Avoid ambigriity.
An example c a n be t h e e d i t o r ' V I ' 'CTRL-d'
(IJNIX, B e r k s l a y Releac,al where ' d ' a n d '0' a n d
hdve d i f f e r e n t meaniiigs. Ncire bad exanpla:,
are to
1112 fourid
everyklicre.
Ambignity c a n be v e r y h a r m f u l a s unwanted b u t h a r m f u l clacisioris a r e p o s s i b l y
iri-
itialized. 4. Design a c o n s i s t e n t l a n g u a g e .
C o n s i s t e n c e e r r o r s o c c u r i f f o r exarryile t h e s e q u e n c e o f v a r d m e t e r s o f a comnand
i s n o t o b v i o u s . o r worse c h a n g i n g f r o m comnand t o c u m n d . A u s o r i s m i s l e a d by wrong a n a l o g i e s . I f a new command
i3
i n s e r t e d i n t o a ldr,guage i t s c o n s i s t e n c e
w i t h t h e e x i s t i n g o n e o must b e c h e c k e d b o t h i n r e s k ~ u c t t o i t s p o r a m e t e r s a n d i t s nams a n d f u n c t i o n .
5. S u p p o r t t h e u e e r s memory. A number o f a c t i v a t i o n e r r o r s a r e b a s e d o n p e o p l e ' s s h o r t menary. An i n t e r u p t o t a s e s s i c n (e.g.
by a t e l e p h o n e c a l l l r e s u l t s i n a n u n f i n i s h e d p r o c e s s [ o u t uf
s i g h t i s o u t o f mind). I n c o r r p l e t e s e q u e n c e s o f a c t i o n s s h o u l d b e i n d i c a t e d . q u e e t i o n s t o missing answers should be r e p e a t c d w i t h i n a c e r t a i n time. 6. Avoid prompting. P m m p t s a r e q u e s t i o n s o r rSeinarks o f t t i e machine l i k e
-
do you r e a l l y want t o e r a s e t h i s d a t a s e t ? t h i s f i l a a l r e a d y e x i s t s , select a n o t h e r narne.
These p a r t s o f a d i a l o g a r e p o p u l a r w i t h U s e r s , e s p e c i a l l y witti u n e x p e r i e n c e d ones. As t h e r e m r k s ere a l w a y s thrr sama t h e a t t ß n t i o n p a i d t o them i s r e d u c ~ dby t h e t i m e and t h ß n t h e y c a u s e t r o u b l e a g a i n b o c a u s e u s o r s a p p l y p o t e n t i a l l y d a n g e r o u s s t a n d a r d a n s w e r s t o t h e s t a n d a r d q u e s t i o n o . I t i s bad t h c t t h c machine d o s s n o t l e a r n a n y t h i n g b u t c o n s t a n t l y r e p e a t s t h e same.message t o t h e same e r r o r IMEI831. E s p e c i a l l y d i s t u r b i n g a r e p r o m p t s i f t l i e ldngüdge i s u s e d i n a p r o c e d u r e
243
o r b a t c h J o b . A s t h e answor t o o q u e s t i o n i s rnissing. t t i e n e x t comnand l i n e i s t a k e n f o r t h e a n s w e r . o f C o u r s e n o t u n d e r s t a r i d a b l e t o t h e machine. W o r i t c a s e a r e r a p u a t a d prornpts. t h e w h o l e p r o c e s s e n d s up i n a meso. 7. P e r m i t a n UND0
Even t h e f i n e s t program d e s l g n c a n n o t rmke f a i l s a v e Systems. i t cari happen t h d t
a u s e r a p p l i e s a wrong command. I n t h e c a s a o f a p a r a m e t r i c command t h e r e i s no problem a s a s e c o n d i n p u t
C O ~ ~ Gt tC i e ~ f Si r
r e a l h d r ß c o u l d hqve beeii i n i t i a l i z e d drid h e l p f u l . I n a n e d i t o r e.g.
s t . If iri
dri
unwarited a c t i o n was e x e c u t e d
ttiis Gaue
d
f u n c t i o n UNO0 i s v e r y
UELETE conunands d r e c t i n d i d a t e s f o r a r e v e r s e a c t i o n . A
n i c e exarnple i s f o u n d i n t h e LISA c o r ~ c e p twhere
f i l o it; f i n a l l y l o s t o n l y ä t
t h e e n d o f a s e s s i o n . No p t i y s i c a l d e s t r u c t i o n i e ~ x a r ~ u t u ch lu t somr kirid o f logic o p e r c i t i o n t b a t c a n b e r e v e r t e d [LISA q u o t ~ t i u n l . 8. Perrriit a S o f t w a r e r e s a t .
A comrnon j o k e o f chmputer p e o p l e i s t h a raniark, i f n o t h i r i g e l s e h e l p s a n d you and t h s s y s t e m l o s t c o n t r o l o f t h e i n t e r a c t i o n ttten u s e t h e ' h a r d w a r e r e s a t ' .
This
i n d i c a t e s a c o m p l e t e e l e c t r i c c ~ otf f of t h o p o w r s u p p l y . T h i s i s n o t o n l y n o t e l e g a n t and t i m e c ~ n s u m i r i gi o r a new s t n r t b u t a l s o d a n g e r u u s a s i n c o m p l e t e a c t i u n o r Open f i l e s cari b e t h e r u ä u l t . We i o u n d a cormidiid l i k o RESET t o b e h e l p f u l . I t r e i n i t i a l i s e s t h e d i a l o g , ii11 d e f a u l t s a r e s e t t u ~ h o i l -s t a n d a r d valcier;. T i e rnachine i s p u t i n t o a d e f i n o d a n d w e l l known stdte. 9. Use c o n c e p t s of: t h e e n d iiserti.
The systern must b e a s c l o s o t o t h e c o n c e p t acid l a r i g u ~ g eu f Lhe u s a r s a s p o s s i b l i ; . 4
4 I
.
T r a i n i n g dnd u s e i s f c i c i l i t a t e d
d
lut.
10.Take s p e c i a l c a r e o f e r r o r messagas. E v e r y p r o g r a m e r c a n t e i l s t o r i e s o f r n i s l e a d i n g o r n o t u n d e r s t a n d a b l e e r r o r nicss a g e s . T e s t s h a v e shown t h a t i q i r o v e d e r r o r m e s s a g e s L.an i r i c r e a s e t h e System p > r forrnancs by f a c t o r two (BROOZ. BHflh3, StiNßOf n o t
I
tcj
s p e a k o f t t i e suhJuctivc! a c -
c e p t a n c e o f a systern. Thore d r u t h r e e r w i n a s p e c t h :
-
zyntax e r r o r s I n a n i n t e r a c t i v e environrnent t h e s y i i t a x e r r o r s a r e i d s r i t i f i e d by t h e p ~ r s e r . The l o c a t i o n o f t h e e r r o r i n t h e i n p u t l i n e c a n Lie i n d i c a t d a n d a s u g g e s t i o n f o r c o r r e c t c a n t i n u a t i o n c a n b e p r o s e n t e d . A standti1.d rnessage l i k o "urihnown cornniand" is l e s s u s e f u l .
-
semantic e r r o r s A c t i o n s u s u a l l y depend oii t h e i r s e m a n t i c c o n t e x t , e . g . a c e r t d i n c o r ~ n a n do n l y makes s e n s e i f a n o t h e r a c t i o n h a s been e x e c u t e d b c l ' o r ~ . If t h e i n t a s a c t i v o s j s tarn h a s been d e f i n e d by i t s g r a m r arid t h e c o r r e l a t e d s e r n d n t i c a c t i o n s s p e c i a l e r r o r c h e c k i n g r o u t i n e s c a n 50 i n s e r t e d a t t h e s e m o n t i c l e v e l . T h e s e c r r o r a c t i o n s s h o u l d be givari p r i o r i t y b e f o r e e x o c u t i r i g t h e o t l i e r s . On t h i s l o v e l v e r y
s o p h i s t i c a t e d e r r o r d e t e c t i o n can be implemented. An e r i - o r and a p o s s i b l e s o l u t i o n c a n be d e s c r i b e d i n much w r e d e t a i l a s ecompared t o t h e Syntax e r r o r s .
-
psychologic a s p e c t s The n e g a t i v e image o f conlputers t o a g r e a t d e a l steins from t h e n e g a t i v e e x p e r i ence o f User i n t h e c a s e o f e r r o r s . A s i n t e r a c t i v e Systems l e a d u s e r s t o a n exp e r i m e n t a l approach ( " l e t us t r y and s e e what happeris").
"The User l e a r n s
weattier a system is a f r i e n d o r a f o e , when he makos e r r o r s u iBR0031. Shneiderman d e s c r i b e d a few s u g g e s t i o n s t o messagß d e s i g n (StiN821. tie a s k s f o r r e a d a b l e and u n d o r s t a n d a b l e e r r o r messages, t h e e f f i c i e n c y o f which should be t e s t e d t h o r o u g h l y by end u s e r s under c o n t r o l o f a system d e s i g n e r . A l l messages t h a t urge a User o r s c o l d him a r e bad. Good messaps a r e p o s i t i v e i n form and a c t i o n . Negative words l i k e INVALID, ILLEGAL, ERROR o r IIJCORRECT should be avoided. An ß r r o r should be i n d i c a t e d , and a p o s s i b l e s u l u t i o n e x p l a i n e d i n d e t a i l . A mess a g e must be i n c i e a r t e x t . d o n ' t use e r r o r Codes t h a t hdve t o be a n a l y s ~ dwith \
t h e h e l p of a r e f e r e n c e inanual. A User sliuuld f e e l t h a t tIE c o n t m l s t h e system end not v i c e v e r s a . While d e v e l o p i n g and m a i n t a i n i n g l a r g e end User systams we found a n e r r o r d o c ~ i m e n t a t i o n f e a t u r e v e r y h e l p f u l . The number and l o c a t i a n o f 30th s y n t a c t i c and semantic e r r o r s can i d e n t i f y t h ß two d e f i c i a n c i a s i n t l w concept o f a system. I t i s t h e n p o s s i b l e t o u p d a t e t h e system, t h e i n s t r u c t i o n manuals, t h e e r r o r messa-
g e s end t h e e d u c a t i o n a t t h e r i g h t p o i n t . References (ACS84) Archer, J.€. jr., Conway. R.. Schneider, F.B.: d s e r Recovery and Reversal i n I n t e r a c t i v e Systems. ACM T r a n s a c t i o n s on Programming Lenguages and Systems 6. No 1 (19841 1-19.
-
[BR0823 Brown. P.J.: Ny system g i v e s e x c e l l e n t e r r o r messages P r a c t i c o and Expariance g. No. 1 (1982) 91-94.
-
o r d o e s i t ? Software
[BR0831 Brown. P.J.: E r r o r Messages: T'e n e g l e c t e d a r e a of t h e man/machirie i n t e r f a c e ? Comnunications o f t h e ACN E. No. 4 (1983) 246-249. IENGBS]Engeltnai~n, U.. Meinzer. H.P.: B e s s e r e flensch/flaschino S c l i i i i t t s t e l l e n durch mehr Beachtung d e s B e n u t z a r f e h l ß r s . Angewandte I n f o r m a t i k 1985 ( i n p r i n t l . [WIB3] Heinzer, H.P.: Der Dialog zwischen Mensch und Maschine i n d e r b i o l o g i s c h medizinischen Forschung. D i s s e r t a t i o n . F a k u l t ä t f ü r T h e o r e t i s c h e Medizin, U n i v e r s i t ä t H e i d e l b e r g i19t33). [ N O R ~ Norman. ~] D.A.: Design Rulev Based on Analyses o f Human E r r o r . Comnunications o f t h e ACN 26. No. 4 (1983) 254-258. [SIIN801 Shneiderman. B.: System rnessege design: G u i d s l i n e s and e x p e r i m r i t a l r e s u l t s . I n Badre. A.. Shneidermin, B. (eds.1: M r e c t i o n o i n Human-Computer I n t e r a c t i o n s . Norwood, N.J.: Ablex P u b l i s h i n g Co. (2982).
ISHNa2l Shneidermn. B.: Designing C o w u t e r System flessages. C o m u n i c a f i o n s of t h e ACN NO. 9 (19821 610-611.
2,
lTE17Sl T e i t e l m n * W.: Dec. 1975. 4
MR781
INTERLISP Reference Manual.
Xemx PARI-,
pale ~ l t c-llf., ~ ,
Verh~f~tad. : Recovery techniques f o r k t a b a s e Systems. 10, NO- 2 (19781 fl.167-195. -
I w I L 8 3 l w i l l i a m s . G.:
~ h LISA e
Computer System. ~ y t 2 e (1969).
Cnwut.
surv.