Home

Design of an Interface to a Programming System

image

Contents

1. T Simplicity and Consistency n Providing Feedback and Prompt The Problem of Modes Menu Selection Errors CONCLUSION PP 13 REFERENCES Ade RET a ER ALONE ve etin eR dle dva LC ee eeu ee dede susie cause eR ere a tla qb ed cde n ai 14 j DOT tem memmen eim psi M Utm eT m ae Eg E PEDES OM rm FIGURE 1 Working Environment for Writing FIGURE 2 A Page of a FILE Menu FIGURE 3 Workbenches Selected by Typing pev 1 enne neetntete tte tineis tentiae tete tn idiot easet teh tes 3 BP Copyright 1981 Gary Perlman Thursday November 19 Dads i as M Mood E a ER TEMA ECC t ceca etu T TAM T E Rr t P Rd a a nudi co eru lar t MMC Du VIR e ao uo a i ae CONOR EEE SIE eee eS eee eee UNT ei THE DESIGN OF AN INTERFACE TO A PROGRAMMING SYSTEM Gary Perlman On our version of the UNIX operating system there are about three hundred programs available each with many options An average user requires several years to be at ease with even a small subset of these commands It is difficult to find programs to accomplish a task and users are reluctant to search page by page through the hundreds of pages of the UNIX programmer s manual even though it is alphabetically sorted Some programs exist to help people find programs but they are not as useful as the designers hoped for A more friendly user interface to UNIX programs is needed A friendly
2. Department of Psychology 1 University of California San Diego 1 i ABSTRACT F 1 This is a manual for MENUNIX an interface to programs and files on the UNIX operating system Programs and 1 files are displayed in menus on users terminal screens and are selected with single keypresses of characters displayed next to menu entries The FILE menu presents the UNIX file hierarchy in menu format and 3 commands for moving through the hierarchy in both absolute and relative terms are provided The PROGRAM f menu organizes UNIX commands into a hierarchy in which related programs are grouped together into task oriented workbenches analogous to files being grouped into directories Special commands rre providod for setting examining and using variables via a one line editor that also allows modifying commands The PROGRAM menu hierarchy like the FILE menu hierarchy can be customized to the needs of individual users allowing workbenches for unusual tasks such as linear programming in addition to ones for common tasks like writing i CONTENTS MENUNIX A MENU DRIVEN INTERFACE TO UNIX PROGRAMS USER MANUAL sses The FILE MENU sssssssssssssssssssssssosccsscssesssvossscnnnnnnctescsnnsnnannnovscccscencacnccccenennescernncensensstsnsess f The PROGRAM MENU 3 The CONTROL Menu Controlling MENUNIX sees e Summary of MENUNIX Internal Commands essere nene eeeeeenttttteeeeettosscteteseeson tette etssasint
3. There is one workbench CONTROL that is important because its entries can be accessed at 1 any time no matter what workbench is being displayed It contains commiands for controlling the PROGRAM and FILE MENUs and also some commands you are likely to need at any time such as your preferred editor set with the editor variable CONTROL contains commands for changing directories changing directory pages changing workbenches stopping MENUNIX and so on Since i these commands are used so often they become raemorized and their display becomes unnecessary The CONTROL workbench can he seen at any time by flipping to it with an ampersand amp Typing amp changes the display in the PROGRAM MENU without changing the commands available as though the two workbenches were one on top of the other The CONTROL workbench options are described below anc Rm ne Summary of MENUNIX Internal Commands NAME CHAR FUNCTION ampersand amp flips to from CONTROL period goes to UNIX first workbench i colon goes to UNIX workbench and returns i comma goes to the parent workbench i t zero 0 goes to the parent directory 1 slash Changes directory to that specified in the editor 3 plus displays the next directory page s minus E displays the previous directory page 1 Question Changes to from the documentation perspective i exclamation tuns the command supplied in the editor i dollar sets a variable to a value E pound
4. m REPORT NO 8105 NOVEMBER 1981 Gary Periman AN TWO PAPERS IN COGNITIVE ENGINEERING THE DESIGN OF AN INTERFACE TO A PROGRAMMING SYSTEM AND MENUNIX A MENU BASED INTERFACE TO UNIX USER MANUAL i CENTER FOR HUMAN INFORMATION PROCES LA JOLLA CALIFORNIA 92093 i The research reported here was conducted under Contract N00014 79 7 0323 NR 157 437 with the Personnel and Training Resear Programs of the Office of Naval Research and was sponsored by the Office of Naval Research and the Air Force Office of Scientifi Research The views and conclusions contained in this document are those of the author and should not be interpreted as nece representing the official policies either expressed or implied of the sponsoring agencies Approved for pubiic release distributia unlimited Reproductiun in whole or in part is permitted for any purpose of the Uni ed States Government 81 12 28 018 f H H t cM M m mates RE X sis zi PE ER M s Ct bi B RII MB ae S tata d AAR Ke tna aa me EAE menn er ee lE ee O m e ach Seamer as E ll ii lint ilo UNCLASSIFIED SECURITY CLASSIFICATION OF THIS PAGE When Data Entered REPORT DOCUMENTATION PAGE EN icr ering CORE a R 2 GOVT ACCESSION NO 3 RECIPIENT S CATALOG NUMBER 4 3 TYPE OF REPORT PERIODO COVERED Techn cal Report 6 PERFORMING ORG REPORT NUMBER 8 CONTRACT
5. To append text after the cursor type a and to append text after the end of the line type A To insert text before the cursor type i and to insert text before the beginning of the line type I Minor mistakes can be corrected by backspacing Once in an adding text mode you can return to cursor mode by typing the key labeled ESC for escape Alternatively you can type RETURN and MENUNIX will immediately read what you have typed File selection mode In an adding text mode you can go into a file selection mode in which the names of files are added to your edit line as you type the selector numbers beside their names File selection mode is entered by typing the file selection character the underscore In this mode every time you type the number beside a file name that file name is added to your edit line To stop this mode you can repress the underscore which will return you to the editor in an adding text mode or press RETURN to send your edit line to MENUNIX Meo rM RM tg aage 4 Ue M77 A Ma as pares PU cis Chin sima de E et ee ee 5000 a ee T Raia 2a aac csi cda C aM s Nem REP LOEO VEN WI Ee n OEE POREO NE P E IEEE AEE T at oabl atram eram wn HA tits has ur 4 sprit oon M o mA ne m Gary Perlman 7 MENUNIX User Manual Mistakes In cursor mode typing an x removes the character under the cursor A zero 0 deletes the contents of the editor from the cursor to the end of the l
6. WW M Changing Workberiches Setting Variables Executing Comriands Changing Direciory Getting Documentation Entering Information MENUNIX s One Line Editor eese rte renentntttstea senten tutontente stata tatto hoch Summary of Line Edit garant e H The Menu Definition LangU amp ge cccccsssssssessssecssessecsscsressssssassssssausasssscsequesssecaseseescessasseasessaneseaeenesoeesseees Defining the CONTROL Workbench Making Your Own Menu System ccccsccscssssssscssssscscsesssscssossssstessssssssceecsenesvcsassescesaseetsunsabeesuaseuaseseensgeanenesesensessn wo wv 900 29 Leal mdi Bana aine ih s mam Jn cari id iae elle Lol ote Poenis hens cd a de Sunday November 15 Copyright 91981 Gary Perlman PENNE ai 1 KON NE pe ETE mid Vult meme wen md DANS rye mmm temm e mss encima i PROGRAM MENU FILE MENU FEEDBACK COMMAND HISTORY Writieg aida Ean NHS 49 35 95 0nb5 l diction MenUnix design more 2 style MenUnix design nore Analyse style style Count words and lines vc Count words used tokens Decode Encode crypt R it a file fedicur Format text file Weading etructure hesdinge Look for word ia dictionary lock Petmuted indexer ptx lt Reference finder pub Spelling error finder spell Spelling corrector correct Typo finder typo Wordy sentence finder diction LINE EDITOR
7. Display Displaying and formatting files j File System Programs to chang files Games The fate of the weak Information System status and documentation j i Sending an receiving mail i Network Intermachine communication Reminder Service Get daily reminders of events i Searching Pattern Matching Regular expressions Grammars etc Writing Aids Spelling style analysis etc d j Gary Periman 3 MENUN X User Manual When a program requires that information be specified MENUNIX asks for that information in a one line editor located at the bottom of the screen For example in the File system workbench is an entry for copying files Selecting that program causes a prompt like files to be copied to appear in the line editor When a program needs information a prompt for what is needed is placed in curly braces for which you shou d type in tha information followed by a RETURN tc tell it you are finished Immediately above the line where you type in the requested information is the command that MENUNIX is generating For the file copying program this command looks like cp files to be copied destination This means that MENUNIX needs two bits of information from you After vou supply the files to be copied information MENUNIX will ask you for the destination The one line editor is fully described in a later section FUITE OT nm nma mH T S WWE mnn One nime m The CONTROL Menu Controlling MENUNIX
8. La tene ed ced Xs us ENS 2 2 x id ax E aum fw vct verre a a Remo 0o aaa MM dq cM me enn pm hay Tsar eros AER ta ip alti daa e RAE T Seine A Vine qus Sy eiii c Doa sees Ml cn carm rii is T E adea LANI Ma lar sadi ma ELLE zs LE ioa P A AR RAS Te Tr pecu COE IIR A ee ee ee AUR YR NT IN MAT T Gary Perlman 12 Interface Design Providing Feedback and Prompts MENUNIX provides several types of feedback to users besides the PROGRAM and FILE menus that tell users about available commands A real time clock ticking tells users MENUNIX is running properly and reminds them of their inactivity MENUNIX prompts users for any information that is needed to run a command For example to copy files the UNIX cp commands takes two sets of arguments the first is a list of files to be copied and the second is their destination When the Copy command in the File System workbench is selected users are prompted for files to be copied and destination and so have a clear idea of what is required of them at any time reducing the possibility of making the error of supplying the right information at the wrong time The Problem of Modes A mode error happens when users think a program is in one mode when it is in another and try to use a command in the mistaken mode Norman 1981 For example users may forget they are in an editor command mode think they are in an append mode try to add text and become confused as the ed
9. OR GRANT NUMBER 4 TITLE and Subtitle Two Papers in Cognitive Engineering The Design of an Interface to a Programming System m enu A Menu Based Interface To Unix 7 AU THOR o conie iin 2 cni i riis 2s dai ETHPNO 8N00014 79 C 0323 Gary Perlman PERFORMING ORGANIZATION NAME AND ADORESS Center for Human Information Processing University of California San Diego La Jolla California 92093 CONTROLLING OFFICE NAME ANO ADORESS Personnel and Training Research Programs Office of Naval Research Code 458 Arlington Virginia 22217 MONITORING AGENCY NAMC ADORESS II different from Controlling Office a a Fadala Doin aes Met aim REPORT DATE November 1981 1 SECURITY CLASS of thie repart Unclassified e rim ASSIFICATION DOWNGRADING H DULE WIPE 16 DISTRIBUTION STATEMENT of thia Report Approved for public release distribution unlimited 17 DISTRIBUTION STATEMENT of the ebetract entered in Block 20 If different trem Ropert e 1 SUPPLEMENTARY NOTES ee a ee cn asa Za gt Continue on reverse aide if necessary and identify by block number 19 KEY WORDS Cognitive engineering Human factors Command line interpreters Human machine interface design Computer programming systems Software Psychology Documentation retrieval 20 ABSTRACT Continue on reverse aide if neceseaty and
10. an option s selector can be determined from tvo sources the character displayed next to an option and the option s ordinal position in the display The latter source is most advantageous for options toward the beginning of lists so the FILE menu disviays the most used options directories before any others in the display Perlman 1981b a aAA E TI SPEC e pm E ny e po a ida aar Timer wm el em e Ian aan ale LE en Hierarchical Structuring i Because programs are hierarchically organized in the PROGRAM menu and each PROGRAM menu entry is selected with a single mnemonic letter mnemonic strings coding the path through i general to specific workbenches ending with program selection can be memorized For example the i C program verifier can be selected with the string pcv because the p selects the Programming workbench the c selects the C Programming workbench and the v calls the Verifier This name i is easier to reconstruct than the program s real name int so called because it picks up pieces of i 1 fluff in programs This sequence is shown in Figure 3 These path names tend to be short because 3 of the hierarchical structure of the PROGRAM menu usually two or three characters so they are D executed quickly by experts Intermediate menus are not displayed when a command sequence is i typed quickly The hierarchical structuring also speeds novice use because the time it takes people 1 to search through a hierarchy
11. asked for information with prompts specific to each program represented in the PROGRAM menu hierarchy This speeds the process of entering information because it reminds users of what is required For most programs the most likely argument is the name of a file so MENUNIX provides special facilities for speeding the supplying of filenames Files can be specified using regular expressions because MENUNIX filters its commands through the standard UNIX shell sh Bourne 1978 that provides this facility MENUNIX allows users to yank the names of files into its line editor by going into a special file selection mode in which filenames are inserted by pressing their selector keys For example if I wanted to supply the names login menuvar and remind to a program see Figure 2 I could go into file selection mode and type 678 and the filenames would be yanked into the string I was editing Because of these filename supplying facilities filenames are seldom typed and tend to be longer and more meaningful and therefore easier to recognize ml a ns i a i 1 1 Fe ee o 4 7 3 oe Mal cree techies en et ae ae ud C SES Mar Sara ar Subido Ein cosa od cda oC cM M DN iD EE coe aed aE SEN AR ei E aaa TR oe Ute enm nU ee Mr M Gary Perlman ll interface Design Focusing Attention with Workbenches and Directories MENUNIX helps users focus their attention on tasks thereby speeding their completio
12. key that puts the UNIX workbench in the PROGRAM menu From the UNIX workbench the sequence of keys to access any command is unique and is called an absolute command sequence analogous to using absolute path names for specifying UNIX files If commands are not so anchored users may ccmmit mode errors For example if users think they are in the File System workbench but are in the UNIX workbench and want to protect access to their files by typing p they will be surprised to find themselves in the Programming workbench JUsers ignoring feedback can cause what Norman 1981 calls capture errors errors that occur when users act out of force 0f habit and do a common action when an unusual one is required r A 2 0 M 0 com oc A MM MM ET Aha a ERU ERRORI HOUR ce erate ac Sete ne See tee Gary Perlman 13 Interface Design Menu Selection Errors The scheme MENUNIX uses for selecting menu options is based on data on how long it takes and how hard it is to pair selectors with options Perlman 19815 While mnemonic first letter selectors are most desirable because their use results in shorter selection times and fewest errors it is not possible to use them for menus that have optione that change often such as the FILE menu The Berkeley visual command shell vsh uses the sorted letters a t to select from a list of sorted files However this scheme results in what Norman 1981 cal
13. of selecting PROGRAM and FILE MENU entries will be described in following sections The FILE MENU On the right side of the MENUNIX display is the FILE MENU that displays the UNIX file system At its top is the full pathname of the current working directory followed by the page number and number of pages of that directory 3 5 means you are on page three of a total of five Directories typically have more entries than can be displayed on a screen so each directory is divided into pages each containing a manageable sized part At most nine files are displayed at one time and these are selected with the number keys 1 9 You can leaf through the pages of a directory by using the plus and minus keys Typing a plus goes to the next page if there is one and typiug a minus goes to the previous one Trying to go to a puge that is not there causes MENUNIX to wrap around t the first or last page of a directory To select a file you type the number on the left of its name If you type a number without any file beside it this can happen on the last page of a directory MENUNIX will beep at you In general MENUNIX beeps when you type a chart ter that is not acceptable The effect of selecting a fue denends on the type of file selected that can be determined from the information displayed on the right of its nae To the right of a file is displayed its size in characters and its access protection modes The access protection modes contain ten
14. prints the value of a string or variables CTRL r R redisplays the screen 1 E v ati EX ces vd GEL ET 3 Toro arr cayenne te LE PAE E EIE YS ae os dero ce rca Ec EE ES E co See Anm Ra ee Los aco NI ss aas n et S Nl Cary Perlman 4 MENUNIX User Manual Stopping MENUNIX BREAK or DEL causes MENUNIX to ask if you really want to quit You can type a second BREAK or DEL to quit or type a RETURN to return to MENUNIX Redisplaying the Screen If the screen gets messed up for some reason you can redisplay it by typing CTRL r Changing Workbenches A workbench can be entered by typing the letter beside its name You can leave that workbench by popping up to its parent workbench the workbench you were in before entering it with a comma You can pop up to the UNIX workbench by typing a period A special operation is supplied to allow you to take a short diversion from what you are working on For example MENUNIX may inform you that you have new mail and you may want to read it and immediately return to your task You can pop up to the UNIX workbench and have MENUNIX remembe where you were so that it will return after you execute a command by popping up to the UNIX workbench with a colon It also can be used to stop your history list of commands from getting cluttered with unimportant commands because commands executed in this manner are not saved For example you may be programming and notice you have mail and yo
15. programs for novices increasing the speed of command i construction for experts and decreasing the probability and impact of errors Psychological theory and data are referred to in TROU UU TU APR mE pn mer sme Support of design decisions CONTENTS THE DESIGN OF AN INTERFACE TO A PROGRAMMING SYSTEM 1 0 1 1 eene ttnteentttente tene ttntnntn i MENUNIX A Short Introduction cccccsssssssssssssssecsessecsassssncsaseasecucsssensessecsecsasessssusavesaseateaussssequenasasensueanueanennsenes 2 The FILE Menu The PROGRAM Menu The CONI ROL Menu PROVIDING ACCESS ern rette geek utique Ue aeu RR ERU Ug UU cel eve La deceat s al ANAL RANGE CREER eae Ue Displaying Options in Menus Aids Memory P Hierarchical Structuring Facilitates Discovery Providing Documentation ccscssssssssssesesusseesesecsstesesssssnessnteausnssessssess sasesecseessensessatusaeneseescsuessonsenes INCREASING THROUGHPUT seen erntttneenentetntnnens cesseneeneegesssussesecsesessesecsaaeasaneneesenssseess Fixed Location Tabular Formats Speed Menu Search Option Selection Schemes BRETT Hierarchical Structuring j Variables and Macros JM 10 i Entering and Editing Information s 10 E Focusing Attention with Workbenches and Directories eese neeetheetetet ttn ie etnies tnis ntt tet Reducing Wasted Commands by Providing Feedback REDUCING ERRORS
16. specific tasks For example new users who are mainly interested in learning how to use the mail system and edit files can learn exactly those commands of interest through the appropriate workbenches and can easily ignore the others except when they deliberately explore The PROGRAM menu hus proven to be a valuable means of discovering new commands because users can browse through content oriented workbenches 1 j pu ere E Te FORE PCR PTT PP i 1 NIMES C TUBE QE SMETUMAON EUR ee IRIS RAP E esr es vm IIoc lia eee lee KOH n ESCAS TON iqq Gary Perlman 8 Interface Design Controlling workbench size Workbenches are kept at a cognitively manageable size about ten entries by using sub workbenches For example the Progremming workbench contains over fifty programs that are distributed in sub workbenches for programming in C LISP Pascal FORTRAN and for general program development Tools Providing Documentation i Once an option has been found a user may want to read documentation about it before using it MENUNIX uses an operation developed by Bobrow and Winograd 1977 that allows users to r take different perspectives on any program inciuding CONTROL menu commands Ordinarily j selecting a program option results in its execution but users can make MENUNIX adopt the peispective that selecting a program fetches information about it In this manner MENUNIX attempts to provide assi
17. typed in the line editor 1 v sets a variable to a value j i prints the value of a string or prints alf variable values T CTRL r redisplays the screen Making Your Own Menu System impe MAC ees Changing menu makes it possible to customize the PROGRAM MENU hierarchy to your 1 liking when you fire up MENUNIX you can add an argument to the program call that sets menu j This must be the complete pathname o the directory with the files defining the PROGRAM MENU 1 hierarchy To make your own PROGRAM MENU hierarchy you would create a directory with the files UNIX and CONTROL which refer to other files containing workbenches in the directory you i supplied to the call to MENUNIX A good way to begin is to copy all the files from the standard i menu to your preferred menu and then make modifications j ER la alll lhe lila gren ellie RE n PIPER HI i n s pnm nn ape antc sn Av DI ES M ee 1 Los Sh Gee cake ey pecans een ipic pe REMIS I ES ET L a ae o dai a Mm 474 ama a rum eta Ea pre SEAT ISO corre ITT v mo oes E E F E gt Aldak Bitear wai Biedyastics Leberaturv a ro Piping Training Division Williema Aft AR 85724 Con mi Otftce ot Wan reh ni co A0 Center ca 91137 ta ejes Borel Techotea Trabal att souphie 75 Milltegtes TB 1094 Or
18. user interface is one that facilitates program use by increasing the accessibility of computing power and increasing the efficiency of program use by speeding command expression while reducing the probability and impact of errors In other words a user interface should tell its users what commands are available and how to use them safely and efficiently In this paper I discuss some of the psychological issues involved in the design of MENUNIX Perlman 19812 a menu driven interface to the programs of the UNIX operating system MENUNIX is an experimental interface that tries to help people find and execute UNIX programs via the UNIX command line interpreter shell sh Bourne 1978 In MENUNIX often needed information is presented on users CRT terminal screens The goal of MENUNIX is to provide novice users with information about what commands ere available and how they are used while providing experts with an environment for efficiently executing commands In short MENUNIX is an attempt to provide a friendly user interface to UNIX programs for users of all levels of expertise In the rest of this paper I introduce MENUNIX and how it is used and then discuss how it was designed to be friendly referring to psychological theory and data where available Three major sections include discussions of 10 How MENUNIX increases the accessibility of programs and their documentation important for novices 2 How MENUNIX speeds the use of thes
19. vtilies Li Walor sacibel Civiliaa Mvi W vc ties end Troia al Traisieg Commend Code OOA esta PL 32528 e fee Capt Sic ard L Martin VSU Prospecti in Otticer UAS Carl viv 70 pori Bewe BAipbulidieg sad Bey ort Cr et Beve YA 29007 Or Gootqo Moeller val Svbmartae Grutas CH CH HAC Dr Villes Nestsgut ding of j Aephibiest riool eca Wss 9ttice Code 20 gp Conor Ca in yr l Bab Center Liege CA 92197 ottie arch be story Vashington DE 2990 Peyehni Branch Ort ice die Sertlen D Bumeer Broor a olli Altice of Kavat D aye B hany Movel Ptiinaiun YA HT itise nf Kavat ravers fede aA Lov wa mineg Steet Arlington va 22207 Pergennrl amp Training Reseateh Pre tinge AMD witice at M search Arlington YA 2H Payi Pol ogiat ONL Branch Ilice quie daet Cesena tte Pasadena tA Sel iser ot tne Chiel ot Betearch Development amp Studies EL Waehingtnn b EDI vas cPn bs tarih Deve dept arch tab kr fram C Patho M Selestina and Traturta on Fert ance tum beemepace meditoi E maaseda PL Jn Pred uer we tads LAI MANAL Panaaroia PL 32506 bs Bernard Blaland UDRI Masy onasi Sab Concer ban blego CA YIS a De Worth beantan Perels Btecctor Ca fval rein a JL 5308 Br Baa Bastler SY Tah Syntes ing
20. workbench in use The initial workbench is i UNIX workbenches are always displayed enclosed in square brackets UNIX contains the most general classification of UNIX commands so general that it does not contain any programs i but only names of task specific workbenches that contain all and only those commands that are of interest to people working on a specific task For example there is a programming workbench that contains more specific workbenches for C programming FORTRAN LISP Pascal and general program development tools Other high level workbenches are Each line of the PROGRAM MENU consists of a short phrase describing an entry program or workbench that is selected by typing the mnemonic letter on the left of its name Selecting a workbench causes the PROGRAM MENU to change to and display the one selected To get back to the UNIX workbench you can type a period or repeatedly type commas that pop up one workbench at a time Program entries are displayed followed by the parenthesized name of the UNIX program they call How a program executes depends on whether it needs information such as the name of a file If no information is needed the screen clears and the program runs After the program is done MENUNIX will ask you to type a RETURN if a program is expected to produce some output you might want to read before the screen is cleared and the MENUNIX display reappears Calculations Calculators and statistics
21. Bell Laboratories work on the Programmer s Workbench Dolotta Haight amp Mashey 1978 and the Writer s Workbench Macdonald Frase amp Keenan 1980 The highest level PROGRAM menu workbench is called UNIX workhench names are displayed in brackets UNIX contains workbenches that when selected ut users into task specific working environments such as Writing Aids Programming Calculations or Information For example Writing Aids contains all programs for composition editing spelling correction style analysis formatting etc Users can structure their directory systems so that for every workbench of regular use there is a directory that corresponds to it further adding to the concept of a working environment This is shown in Figure l in which the Writing Aids workbench is displayed beside my directory for writing csl perlman papers The name of the current workbench is displayed at the top of the PROGRAM menu Each line of the PROGRAM menu includes a short phrase describing the entry and for program entries the name of the UNIX command that will be called if it is selected When e workbench is selected i n t F r r i L F F TO wes Hr nemen s RUNS Res M REPE rrt rr m oe pee pe PIT eea c NE F O iM Gary Perlman Interface Design FIGURE 1 Working Environment for Writing F 1 E E 1 Writing aide cal perinen papers 1 2 a An
22. ES cae Le CEU E Gary Perlman 7 Interface Design PROVIDING ACCESS In this section I discuss how MENUNIX deals with the problem of how users can learn about Options when hundreds exist Displaying Options in Menus Aids Memory For MENUNIX a menu like in a restaurant is a display of options from which users can make selections These options might be commands files or program parameters The display of options aliows users to recognize a desired option instead of having to recall it This is especially useful because there may be several possible names for an option and users may be able to recognize one of these option names as the one that will accomplish a task but may not be abie to guess the one the programmer chose For example an editor might be called editor or edit or even some related term like compose or modify The purpose of programs with such functional names is clear but figuring out which is the real one is a matter of iuck In a non menu based system recalling the name of an option is not enough the option has to be typed in lt is not always a simple task to recall how a program s name is spelled as programs often acquire unpredictable abbreviations With small menus fast displays and efficient option selection schemes each option can be accompanied by a short phrase describing its function instead of a single word or a cryptic abbreviation Our editors have names like ed ex vi and emacs T
23. Street be Waemington DE In2uB Melaerim th amd M vitoty Nefeicen eii Ln Alesandrla V llle Ur Jet mh Le Yeuna Memory tagn veal telem e hiagtan M ana toxi Ut inha B and Bept af Pagcholegy regie Mellon Univ Plereburgh FA USTED c 74 Chel rea a Be Carty Brive it ay t Bept e Poychology Unive Warten Coventry CYA PAL Dert 1433 t tagl Coophel Canterce ect icol P tire Aves e solio AM Ottie eh Vert ottico 1400 Averralts ter sity ef sity wy Mever p fer Teu Cowneil applied faychelody Volt 19 Choveer Ba Combridge CM JUF ou Valset t T tet y of t University 4 C 94 0 5 jackson Beatty Psychol Celite Aegeles CA 90024 Listeen ft igntioto Office ef Naval fetos bes t T Joha 3 Previ Ot Palo Allo Be amp eorch Cei Of ice Leadon 99 PPU Bes York ne Dayche CO bore 3 Coyote Baad Pale Alte cA Sejuk bre e Wuchenen at of Computer ictonce 4 Catvoretty a Ca 44103 detente teh n a C Victor Busdecaon Mar me Urtvesalty Piana Bette 16 140 e Siete 9t vt wo i te Pat Cerpi er Depi of Paychalegy br Jom B Carrel Peychamotric Lab ef Me Caroli Dovie Wall vite we 2794 c Papel MILL f wiiiiam Asaz De
24. Teat Dinatorote seat Center 1vev Mb due76 o6 Sani st Chief ot Moval Dperattons Washington Mm Jupo Amatyet 6 Evaiustian Creep yal Malt Chal fuel Br Bobert 0 arey tst ath fnetttete for the ol asd social Sciences Rbernnomer Aves athe V i2 aetitute Aves 21193 destilete fot the l ant ectel Pciencet suni Freenne Avenue WA Q1 Ale Ferte Lob Abe Ponce Oblfico at ereritge de Lie Scrences Directorate Wi llima ate Parc Rage Alaa W 20902 Ait Unlverelly Ltbroey AULILSE ersat Morwell A AL teilg bi Math Alivtet a AFABL AFEC APR DA ADS Dt Genevievo Haddad Fevarce Manager Life Vetemees Directorate FII Botting ara DC 15012 Davia B nuote L NDAR ara fao Al Apes iat Aesiatam fnr Mariae terra matters Code wiw atl ice of Naval deetareh aoc he Quiney M aelteaton Ha HII Dr a k lofisehy Xevent ifie Adr Code 99 1 WQ US Marine Cores Wavhingian DC 26080 eaerquerd chlor Pepehoiogicolt ten V S Coaet Guard G P 172 T Washington DE 206 ami vier def dete Techmiral jefertalica Coster star Bide Aleeot cio m aten d for tastatag and sicer t Sectelasy af betent nanpa 1800 Witenes Bled Arlington VA 22209 Dn tr G th ies P Setence Feundalicn Weehington DU 20550 Mateacal dontitete af Education 1208 0848
25. a workbench menu the VALUE field holds the name of the file in menu that contains the definition of the menu program Defines the name of the UNIX program to be executed when the entry is selected If the entry is for a workbench this field is ignored arguments Supplies information to be appended to a UNIX command defined by the program field This information can be regular text including variables which is interpolated and appended or it can be enclosed in curly braces which is replaced by the interpolated response obtained from the user after presenting the braced pattern waitoff Tells MENUNIX to clear the screen and redisplay without user permission after a UNIX program has been executed Without this field MENUNIX asks permission with a prompt The waitoff field has no value qa d Tote o eee eim Y n EI En Ra a Ree a SEU Ue d SECTEUR 3 7 a reae cios ecce bab Ede LEM a e P ame 1 Xue ale ma acm ALERT E UT EEEE E POEET OPE naka rte asco n Reid m aas metal LL Gary Perlman 9 MENUNIX User Manual Defining the CONTROL Workbench The UNIX workbench is defined by a special file in the menu directory menu UNIX Another special file used to define the CONTROL workbench is menu CONTROL The definition for menu CONTROL is just like any other workbench but the commands in CONTROL are available at all parts of the PROGRAM MENU This is because MENUNIX searches menus in a speci
26. alyse style style 1 Causal Inferenc 144 dIMXr xr x 2 c Count vords end lines wc 2 CoputPgeg 112 4NiXr xr x i c Couat words used tokens 3 Diecrinination 48 dX i f d Decode Racode crypt 4 ExptControl 528 aBiXr ur x i F R it a file Sediter 5 Tatf aceDesign 176 qMXr xt x i i t Format text file 6 ManUnix 240 4NEiXr nr x j i h Beading structure headings Nat rtlang 160 dBiXr xr x d 1 Look for werd in dictionary look 8 cwra 112 dWXr zx 1 P Pemuted indexer ptz 9 Personal 112 dBMXr zr x t T lt Reference finder pub j t a Spelling error finder spell i t 8 Spelling corrector correet i t Typo finder type w Werdy sentence finder diction You have new aail Friday November 6 3 4 1 diction MeaUaix design more T un i 1 2 style MeuUnix design more i 3 headings bh ah lh ph MeaUnix design more i 4 correct MeaUaix desiga COMMAND pub probe j j probe subject title design i Adding text quit with ESC select files with p Oe TER re ee aa a aa Note The PROGRAM menu left top displays the Writing Aids workbenc and the FILE menu right top displays my directory for writing csi perlman papers The HISTORY list middle displays recent commands stored in numerical variables 1 4 The FEEDBACK window right middle displays the time and informs users if mail has arrived At the moment of this figure a probe for a reference finding program is being entered into t
27. by being followed by a slash and on some terminals by being displayed more prominently Selecting an executable file a program causes that program to be run after arguments are requested Selecting a plain file calls the editor named by the variable editor on that file or the ex editor if it is net set See the later section on how to set variables The number key 0 is not used to select a file but is reserved for going upwards in the file system Pressing the number key to the left of a directory name goes into the selected directory and the 0 key lets you pcp out of a directory In summary the commands for the FILE MENU are 0 Changes the working directory to the parent directory 1 9 Select the FILE MENU entry beside the number typed This edits files executes programs and changes directories Displays the next page of the working directory Displays the previous page of the working directory eai ail koc a ah d a arth di THp m mmn E OI E PAS E VEE Treme e em R PET mmm er mms The PROGRAM MENU On the top left of the MENUNIX display is the PROGRAM MENU The PROGRAM MENU organizes programs into a hierarchy much as the file system can be used to organize files Entries in the PROGRAM MENU are either programs or collections of programs called workbenches This is analogous to entries in the FILE MENU being files or collections of files called directories At the top of the PROGRAM MENU is the name of the
28. cal periman peyere 0 9 w PuUnH Causal Inf erenc Comput Pgag Diecrim nation Expt Coat rol Iotf aceDesiga WMenUnix Nat Art Lang cuR Pereonal You have new sail Friday November 3 headings hh mh 1h ph MenUnix design more correct MenUnix design COMMAND pub probe lptobe subject title design Adding text quit with ESC select files with T een M eee n uA 09 o M aad Pulido 1 2 144 diliKr xr x 112 qMXr xr x 48 dW 528 diMXIr xr x 176 dEXr xr x 240 dEMXr ur x 160 dBXr xr x 112 dRHXr xvr x 112 dIMXr ur x 341139 M M Ee SEE EE CWC alin addi aliii INC OY ERTI PI REPRE REPRE FERRARI tidie Mite E tinh ri M ap Zl MENTA RR Ceu ipn ru cl TUUM TRI m mr graine menm ape mero emn pem mem a MENUNIX A MENU DRIVEN INTERFACE TO UNIX PROGRAMS USER MANUAL Gary Perlman The UNiX menu system MENUNIX provides a structured environment for executing UNIX commands MENUNIX presents menus from which you can select programs and files displayed on a terminal screen A diagram of the MENUNIX display is shown in the figure at the beginning of this manual The PROGRAM MENU on the left side of the screen lets you select programs and the FILE MENU on the right side lets you select files Each of the menu display cntries can be selected with a single key displayed on the left of each entry The effects
29. can make selections each at a fixed location on the terminal screen The FILE menu displays the files in the current working directory on the right side of the screen The PROGRAM menu displays the programs available for specific tasks on the left Both the FILE and PROGRAM menus are hierarchically structured the former follows the UNIX file structure An example of MENUNIX d display is shown in Figure 1 The FILE Menu UNIX supplies users with a file system in which files are accessed via the directories in which they reside Directories are a special kind of file and there can be sub directories within directories yielding a hierarchical structuring of files MENUNIX presents the file system in the FILE menu The name of the current working directory is displayed at the top of the FILE menu Directories typically have more entries than can be displayed at once so MENUNIX divides a directory into pages of file entries and provides commands to move forward and backward through these Each FILE menu entry includes the f e s name its size its type plain file directory etc and a description of how its access is protected coded in standard UNIX format An example of a FILE menu is shown in Figure 2 Users may directly sclect files or directories by typing the entry number desired The effect of selecting a FILE menu entry depends on the entry s type Selecting a directory results in the FILE menu changing to the selected directo
30. characters interpreted as follows The first character indicates the type of file plain file block type special file character type special le directorv multipiexor type block special file multiplexor type character special file The next nine characters are interpreted as three sets of three bits The first set refers to access permissions of the owner of the file the next three to permissions to others in the same user group and the last three to permissions to all others Within each set the three characters respectively indicate permission to read write or execute the file as a program These permissions are coded as r the file is readable w the fle is writable X aOwarc the file is executable the indicated permission is not granted The owner of the file is coded by capital read write and execute flags The owner of a file sees the first three bits in capital letters the members of the owner s group see the second three bits in 1UNTX is a trademark of Bell Laboratories siia cat ia ade adi E EE OE no OL REED we did s cns pa tle Vettia atime ra Gary Perlman 2 MENUNIX User Manual capital letters and all others see the last set of three bits in capitais In any case the operations one can perform on a file will be in capital letters Selecting a directory causes the working directory to change to that directory Directories are identified by their access modes
31. e ours Salads Vox ha tie eS n Rites co Da zamad 1 l i m at r T w e 2 am y RE te aes as 1 z T a LR il aul CNRC Y WW i PEX PORR unt NS d eee die E P OPEM UID NOR ia 07 T0 TR Rm Gary Perlman 6 Interface Design FIGURE 3 Workbenches Selected by Typing pey a UNIX Calculations d Display Text f Flle System g Games i Information d m Matl j I n Network d p lt Programming i r Reminder Service S Searching Pattern Matching i t Terminal Handler 1 w Writing Aids 1 b Programming a APL apl i c C Programming f FORTRAN LISP m MicroSOL m sol p ire t Tools c C Programming C Compiler cc d Debugger adb e Error handler error i m Make program make p Pretty Printer cb v lt Verify program lint x Cross referencer ctags t F COMMAND lint foptions files options 1 Note The command sequence pev begun in the UNIX workbench s goes through the Programming b and C Programming werkbenches c in which selections cause arrows to point to F the selected option just before the display changes In c the v in pev selects the Verifier in the C Programming workbench and the MENUNIX line editor requests options and files to be verified iu on ek FEAT e aa bay c P OMA M i e a Mosa S Lo dpa E e eo RUE alee i Wu eee uel Eee ae tee e a ts ct ote Salts RENE NM CS watt at R
32. e facilities important for experts 3 How MENUNIX reduces the probability and impact of errors I especially thank Mark Wailen for all his help in programming MENUNIX and Don Norman for his suggestions on interface design and comments on this paper Steve Draper Jim Hollan and Phil Mercurio also added helpful suggestions 1 also thank those at UC Berkeley for providing the curses Arnold 1980 software for the menu displays MENUNIX was developed while was supported by a postgraduate scholarship from the Natural Science and Engineering Research Council of Canada This research was conducted under Contract N00014 79 C 0323 NR 157 437 with the Personnel and Training Research Programs of the Office of Naval Research and was sponsored by the Office of Naval Research and the Air Force Office of Scientific Research Author s address Gary Perlman Department of Psychology C009 University of California San Diego La Jolla California 92093 USA f UNIX is a trademark of Bell Laboratories The version we use is called Berkeley UNIX 4 0 Joy 1981 and is an enhancement of Version 7 UNIX developed at Bell Labs Richie amp Thompson 1974 1978 Kernighan amp Mashey 1981 am WT CT th ai dl el ll tat el abd atl ERR z i j 1 Sih aa TS IIE NEEE REE L lcs Ri cle HN Gary Perlman 2 Interface Design MENUNIX A Short Introduction MENUNIX is a menu based system It always displays two menus from which users
33. eatures of the program are more fully explained TUM SM nme emen ete P mm nmn op m x TN sperms one eye Rcce Wrie o n we 3 i MR pint gt J NN rU t pist Y LE 1 PL d n UNCLASSIFIED a SECURITY CLASSIFICATION OF THIS PAGE When Data Entered HEN MUSCLE Lu M IE Te AMEN cg E j PA E DA MN ee nim inc CLE eR tee re a o eam reris diei on Dd uh cie oni dio Coni S a a cdit dc dile ko E e PELT Are A OEN i mn ese iiia Temm enn a aai Daai a badai iraia i Tuesday November 17 TWO PAPERS IN COGNITIVE ENGINEERING THE DESIGN OF AN INTERFACE TO A PROGRAMMING SYSTEM AND MENUNIX A MENU BASED INTERFACE TO UNIX USER MANUAL Gary Perlman Cognitive Science Laboratory Department of Psychology University of California San Diego ABSTRACT This report consists of two papers on MENUNIX an experimenta interface to the programs and files on the UNIX operating system In the first paper I discuss how the decisions about the design of MENUNIX were made based on my intuitions and user cr nments but also on psvchological theory and data whenever available MENUNIX presents both the programs and files of UNIX in in two menus from which users can make selections with single keypresses The FILE menu presents the UNIX file hierarchy that allows users to organize files into directories by subject e g writing and programming The PROGRAM menu presents UNIX programs in a hierarchy organized into w
34. etting flags To do this MENUNIX has you enter information in a one line editor called Line edit located at the bottom of the screen Line edit allows you to include and delete characters from anywhere inside a line you are editing as well as insert variables in responses When MENUNIX puts you in Line edit it is generally to provide some information for a command it is going to be running MENUNIX automatically starts you in appending text mode everything you type is entered into a buffer When in append mode you can enter text and follow with a RETURN and MENUNIX will receive what you have typed This will be a common use of Line edit hov ver there are times when you will want to change something you have typed or perhaps a variable or recent command and you will want to get into the middle of a line and make changes For this Line edit has cursor mode in which you can move the cursor to any point in the line and make changes Moving the cursor In cursor mode you can move to the right or left with the keys labeled with arrows if your terminal is so equipped An l letter el moves you one character forward as does a space or CTRL D and an h moves you one back as does backspace and Capital letters tend to apply to a whole line rather than just a character An L moves yo to the far right of the line an H to the far left You can move forward or backward a word at a time with w or b respectively Adding new text
35. fic order for the selector character typed First MENUNIX sees if the user has typed any of the numbers 1 9 used to access file entries Then MENUNIX checks CONTROL and finally the current workbench This means that the numbers 1 9 are permanently reserved and that any characters in CONTROL should be carefully selected because they will not be available for any other menus The programs that are used in CONTROL should also be carefully selected because only fifteen entries are allowed The entries should be reserved especially for the commands MENUNIX uses to control the display called internal commands whose names are preceded by a minus The internal commands available are listed below After the letter is its default selector character in parentheses In menu CONTROL the selectors for these internal commands are defined so if you don t like using a selector you can choose your own i 4 E 3 j 1 E 3 1 1 3 i d 4 othe adalat Lh iit tee ote MENUNIX Internal Commands u changes the workbench to UNIX a changes the workbench to UNIX and returns f f amp flips the PROGRAM MENU display to CONTROL i i p changes the workbench to the parent menu 0 0 changes the working directory to the parent directory E i c changes directory displays the next directory page C displays the previous directory page i 40 changes to and from the documentation perspective i s runs a command
36. he line editor bottom p art ee ei T7070 ce oo m e eis Janata red a m9 8 ee eA T a i va c 9 s se a 23 l ate ai ina 4 Interface Design Gary Perlman FIGURE 2 A Page of a FILE Menu csl perlman 1 2 1 bin 320 dRWXr x rox 2 expt 112 dRWXrwxr x 5 menu 624 dRWXr xr x 4 papers 456 dRWXr xr x 5 persondl 208 dRWX i 6 cshrc 992 Shera 7 lispre 1960 RW Tee 8 login 205 eS 9 logout 84 Epp j Note The top of the FILE menu displays the current working directory and its page number number 1 of pages Each entry includes a numerical selector a filename ihe size of the file and its UNIX access protection code FU Jem ipu da a eget Mr E M M ns RENE te oe a inition cases We a iria uas PT la a Ni a c AR V da Gary Perlman 5 Interface Design the PROGRAM menu display changes to that of the new workbench When programs are selected they are executed immediately unless arguments are needed in which case MENUNIX asks for them with descriptive prompts and reads the response from a visual one line editor that allows using variables and edit commands A sequence of PROGRAM menu selections is shown in Figure The PROGRAM menu is easily extended because it reads its workbenches from a set of files that cods each entry using a simple format Each line of a workbench contains the informati
37. he phrase Edit a file gives users a clear indication of the function of the program edit as well as a clue about what argument the program expects a file A method of choosing the most retrievable names for objects has been developed by Baggett 1980 and was used to generate some descriptive phrases for UNIX programs in the PROGRAM menu Hierarchical Structuring Facilitates Discovery Given that a menu with several hundred options is not practical what is the best way to divide options into many smaller menus People tend to organize information into what Miller 1956 called chunks each of which has a capacity for about seven sub chunks Cognitive psychology research in the 1960s showed that the opiimal organization for material to be learned is hierarchical Mandler 1967 1968 1970 MENUNIX follows ihese lessons by organizing programs into a hierarchy in which commands with similar functions are grouped together into workbenches Each workbench contains about ten options all in the semantic category defined by the name of the workbench Programs and workbenches that serve multiple purposes are multiply represented in the PROGRAM menu hierarchy thereby increasing the accessibility of programs Strictly speaking this last feature makes the PROGRAM rnenu not a real hierarchy Users are reminded of old programs and discover new ones because each workbench is a cognitively manageable size Commands can be learned as they are needed for
38. identity by block numbe ee roe re laminan a a OVER ee eT TT men ARE as DD OMM 14734 EDITION OF Nov 68 iS OBSOLETE UNCLASSIFIED JAN 73 S N 0102 L F 014 6601 SECURITY CLASSIFICATION OF THIS PAGE When Data Entered TT RTT emm oe reae E UNCLASSIFIED ee cu MCN A SECURITY CLASSIFICATION OF THIS PAGE When Data Entered ABSTRACT r This report consists of two papers on MENUNIX an experimental interface to the programs and files on the UNIX operating system In the first paper I discuss how the decisions about the design of MENUNIX were made based on my intuitions and user comments but also on psychological theory and data whenever available MENUNIX presents both the programs and files of UNIX in iff two menus from which users can make selections with single keypresses The FILE menu presents the UNIX file hierarchy that allows users to organize files into directories by subject e g writing and programming The PROGRAM menu presents UNIX programs in a hierarchy organized into workbenches according to the tasks for which they are used e g writing and programming much as files can be organized in directories Special facilities are provided for finding out about useful commands using variables to set options to save commands and to avoid typing long strings and for editing strings including recent commands The second paper is a tutorial user manual for MENUNIX in which the f
39. ine A capital X clears the whole line and automatically puts you into append mode Any mistake you have just made can be undone by pressing u which gives you back your edit line as it was before the last change If you have really messed things up you can type U which gives you the line you began editing which is unfortunately often nothing Stopping line edit A RETURN will always send what you have typed to MENUNIX regardless of mode In cursor mode a q can also be used to quit editing If you do not want MENUNIX to icok at what you have typed say to abort a command you can type Q Also if you are really desperate you can type BREAK and MENUNIX will ask you if you want to quit MENUNIX completely Summary of Line Edit Commands append text after the cursor append text after the end of the line back up one word move the cursor back one character move the cursor to the beginning of the line L h go back one character and delete if adding tex move the cursor forward one character move the cursor to the end of the line leave Line Edit and pass back contents leave Line Edit and stop command undo the last change undo all changes forward one word delete the character below the cursor delete the contents of the editor and insert delete from the cursor to the end of the line move the cursor forward one character move the cursor back one character enter or leave file selection mods d ignore the special meaning of the next character s
40. is logarithmic in the number of entries compared to linear time for large sorted displays Perlman 1981b pd tete i 1 Gary Perlman 10 Interface Design Variables and Macros Variables and macros allow users to customize MENUNIX so commonly used strings can be replaced by short ones MENUNIX provides facilities for defining variables before entering MENUNIKX and for setting them while MENUNIX is running Default valued variables MENUNIX provides users with a set of predefined variables such as their home directory their mail spool file and the current working directory These provided variables can b2 used in other variables or in constructing commands 1 E 1 3 j 1 4 TENERA Commonly accessed directories To change directories MENUNIX users can change their working directories to filenames entered in MENUNIX s line editor Since UNIX pathnames can be long variables can be used instead and this greatly speeds the execution of this common command For example this paper is being written in a directory called csl perlman papers menu and I have a variable called pm short for papers menu set to that long name To work on this paper I simply type pm and the FILE menu displays my files for this paper init Rice Commonly used commands MENUNIX allows users to execute commands stored in variables and so allows users to have faster access to commonly used or personal commands In the Berkele
41. itor mistakes their text for commands possib y with bad results Mode errors are minimized in MENUNIX by avoiding modes where possible or by providing users dynamic feedback of the current mode If feedback is not dynamic users may commit errors by believirg old feedback For example if files removed by number are still displayed removing the third file in a list a second time mey really remove the fourth Unique use of symbols The use of modes has been avoided to some degree in MENUNIX and when a mode is entered some feedback is provided though that solution is not ideal as experts tend to ignore predictable feedback Modes were avoided in the choice of selectors for the FILE menu exclusively numbers PROGRAM menu exclusively letters and CONTROL menu exclusively symbols by using the convention tliat no selectors for any menus would overlap Despite this precaution some errors occur when users press a key for one menu that has a similar effect in another menu For example one can pop out of workbenches or directories and users have been observed typing the command for popping workbenches to pop directories and vice versa Norman 1981 calls this a description error formulating the correct intention but forming an insufficiently specific description Norman amp Bobrow 1979 leading to ambiguity in the selection of the correct response Absolute command sequences Modes can also be avoided by always preceding commands by the
42. language Cognitive Science 1977 1 3 46 Bowles K L Beginner s manual for the UCSD Pascal system San Diego California Institute for Information Sciences 1980 Dolotta T A Haight R C amp Mashey J R The programmer s workbench Be System Technical Journal 1978 5 2177 2200 i Horn R E Structured writing and text design In D H Jonassen Ed The technology of text New York Educational Technology Press in press Joy W N UNIX programmer s manual Seventh edition Virtual VAX 11 version Berkeley California Department of Electrical Engineering and Computer Sciences University of California Berkeley 1980 Kernighan B W amp Mashey J R The UNIX programming environment Computer 1981 14 12 22 Macdonald A H Frase L T amp Keenan S A Writer s workbench Computer programs for text editing and assessment Murray Hill New Jersey Bell Laboratories May 9 1980 Bell Tech Memo TM 80 3771 2 49580 Mandler G Organization and memory In K W Spence amp J T Spence Eds The psychology of learning and motivation Advances in research and theory New York Academic Press 1967 Mandier G Association and organization Facts fancies and theories In T R Dixon amp D L Horton Eds Verbal behavior and general behavior theory Englewood Cliffs New Jersey Prentice Hall 1968 Mandler G Words lists and categories An experimentai view of organized memory In J L Cowa
43. ll Laperstertes 400 Pusntata Aves Murray Miti W OI Walter Sckasider feythelogy ity ef dilisete Atea WL biao Js sedet b Techholegy Gra 30 9 vaok Alekende la on ft uma Cesalt ioo cit v Lannie Ifa beleare NNET a Ane tm Schenley Park Pittsburgh Pa 41530 Las ad bela Dre Ware Solin 21 1 Beranek Novese iuc 30 Mewlton t Cambridge HA QIIM Ore F ichar d Snow wept of Peyeholegr Yale Universtiy a Btati s 09510 j 4 P 4 1 1 i 4 vid Us bese eltime Cer TAO Old Cpt laghars va 22402 TT ix wtattas d reh Vayaratety Vatveratty at Uiiihere vr Ik argot fa TMe ity ef 1700 mata M basto Renice Ch buede tr Bohavieral Cochnel LAAS b kiena Af Redondo Beach ES EET Vaivetulig Te eam FUURE CUENTE SNO ET 1700 Beto Vt fea GA voava f whitely votett af calileteta angolos CA YOZA E
44. llowing variables p Shome papers pm p menu pp p personal i 1 Tome mom mene WU err are gt Per e nme Gary Perlman TODO Re tte oS oe Em 22 M Se eer cs 5 MENUNIZ User Manual Examining variables You can find the value of a variable by printing a string that includes them To print the value of a string this is called interpolation the pound sign command is offered in CONTROL Typing results in MENUNIX prompting you for a string at the bottom of the screen If you type in menu MENUNIX will print the name of the directory holding the definition of the PROGRAM MENU hierarchy n the line above This directory is discussed in a later section If you type RETURN when asks you for a string MENUNIX will print all the variable names and values Using variables as commands There are nine variables 1 9 that hold the most recently executed commands 1 is the most recently executed command 2 is the next most recently executed command and so on A few of the most recently executed commands are displayed in the middle of the MENUNIX display You can execute a recently used command by executing the variable set to it Like any variable you can edit these in the one line editor described later Executing Commands By typing the Execute command selector you can enter any command you would type in the shell sh outside MENUNIX All commands constructed in MENUNIX are exec
45. ls activation errors because when a file like paper is selected with 1 the name paper activates the letter p and the competing activations slow correct responses and cause some selection errors Perlman 1981b CONCLUSION An empirical analysis of the successes and failures of MENUNIX has yet to be made partly because of the difficulty in obtaining data for such a complex system under controlled conditions s Though many of the design decisions were made on the basis of psychological theory and data the true test of the usefulness of a program is oniy found empirically Based on watching and getting feedback from a few users I can offer some observations Because of its complexity MENUNIX is imposing at first but usually a ten minute personal introduction starts a new user on the right track This seems to be true for most complex menu oriented systems and it may be that such programs need special programs written just to help new users One unexpected drawback of MENUNIX is thai it is easy to get used to Having a lot of information displayed on a screen is very comforting to users and being prompted for most inputs makes going back to a less interactive system difficult d MENUNIX is a continuing project with which I am studying user interface design issues In i these studies I have tried to address Norman s in press criticisms of the consistency of command names and syntax the functionality of the command names and the frie
46. n Ed Srudies in thought and language Tucson AZ University of Arizona Press 1970 Miller G A The magical number seven ples or minus two Some limits on our capacity for processing information Psychological Review 1356 63 81 97 Norman D A amp Bobrow D Descriptions An intermediate stage of memory retrieval Cognit ve Psychology 1977 11 107 123 Norman D A Categorization of action slips Psychological Review 1981 88 1 15 Norman D A The truth about UNIX he user interface is horrid Datamation in press Perlman G Making mathematical notation more meaningful The Mathematics Teacher in press Perlman G MENUNIX A menu driven interface for UNIX La Jolla California University of California San Diego August 24 1981 Unpublished Cognitive Science Laboratory user manual Periman G Pointing by numbers Putting the finger on keys to response compatibility La Jolla California University of California San Diego August 1981 Cognitive Science Laboratory paper in preparation Richie D M amp Thompson K The UNIX time sharing system Communications of the ACM 1974 17 365 375 Richie D M amp Thompson K The UNIX time sharing system Bell System Technical Journal 1978 7 1905 1929 PN TERT ie acacia ty OM ashen 1 MENUNIX A MENU DRIVEN INTERFACE TO UNIX PROGRAMS USER MANUAL Tr np anon gm e ner Tm Gary Perlman 1 l Cognitive Science Laboratory
47. n and allows short diversions to other tasks By displaying the task specific programs in a workbench the user is reminded of the task at hand and by displaying the files in a directory the subject of the task is present Because recently executed commands are displayed users are reminded of what they have been working on This is shown in Figure 1 1 Diversions to secondary tasks MENUNIX allows short diversions from a working environment during which time it remembers its state and automatically returns to it after program execution For example if users are notified in a feedback window that new mail has arrived and want to read it MENUNIX allows them to hit a diversion key that puts them into v UNIX workbench that allows them to use an absolute command key sequence beginning from the UNIX workbench for example mm goes into the Mail workbench and into the UCSD Message 1 system to access a desired program After execution of this program MENUNIX automatically 1 returns to its pre diversion state reminding users of what they were working on Reducing Wasted Commands by Providing Feedback From an analysis of typical system use with a non menu interface about 1596 of all commands are used to answer questions about the time and date whether any mail has been received what commands have been executed recentiy the directory where a user is working and what options a user has such as the files available Wi
48. ndliness to users of UNIX Though derived from experience with MENUNIX I think the results apply equally well to 6 other systems as the design issues for all programs overlap considerably MENUNIX helps UNIX novices by introducing them to UNIX programs as they need them and by helping them run the programs by providing descriptive prompts for information as it is needed It is also useful to expert UNIX users who prefer an interface that requires few keypresses and provides many reminders That it can accommodate both novices and experts suggests that MENUNIX approximates a friendly user interface and can influence the design of others like it EE EEA PEETA AA mee none n ee ie rH eana e Ee E TEE ENEA i S a s M y 2E feet te nile E aan t Tae ee ae MM o eee Le eee ac x mu Lea x ES 3 Sex Pega Wr V ens QN Me COUR NETTE exem Pm eror mum up mege Gary Perlman 14 Interface Design REFERENCES Arnold K C R C Screen Updating and Cursor Movement Optimization A Library Package Berkeley California Department of Electrical Enginerring and Computer Science University of California Berkeley 1980 Baggett P Comprehension of verbal pictorial instructions Boulder Colorado Department of Psychology University of Colorado Boulder September 9 1980 Office of Naval Research Quarterly Report Bobrow D G amp Winograd T An overview of KRL A knowledge representation
49. nte Nesico stick Maye Co 100 Rete ftreet Banta Menire CA WOR br 3 a wottman theology Unteeratey of Dua Wewirh OF 09241 br tari mune ef Payche ty ef V wa wol 1 Bb Center C vil V e Uept of arched Univeretty of Orepen ty on 97403 Davia Mier te ef Faychel Unsveredry ef Arterna Yeecen AL 6SN br Walter Kimterh Dept at Pevcheiegy University of Celera fewlder CO 80902 Or Kenneth A Kideington vregren Ott icec Allred Shoan Feuh at vn du Mi ah Aves Mew Tert NT Ivin Qc Marcy Lasanen Dept of Parzhology 1423 Vntvetutty of Washington Weett WA Sse br 261 Larkin ef Paychetopy e Mellon Uatverasty P cttbergh PA isi D Aton Le ratag A a D Cento Vnivttolty of Pitt Pittsburgh Pa 15780 Miller wt Beyonce Lebosatory Cio 2825 Minterplece Cirele 1a 7307 Behavioral 1845 Riene Ave De Sepmour Neesachusotto In Artificial letelit AS Tech 1r ture ot Tochtaiopy te bab a sA 93108 tewlia fee ce Ider CO 90909 dr Peter Falaon br Steven Ee Peltteck Dept of Pere halejy Vafverelty af Bea o 918 perteni ef Paprhelogr Valveraity of Gt Bwgemo OR 87403 M Reosey Klo senses Malibu Ca 0768 wa Biter Aestican Imeti 1095 Themes Jafivr Wethingtan BC 20007 Dr benat Zi Roth Be
50. on about the phrase to be presented on the screen For example the following line tells MENUNIX to display the phrase Edit a file next to the selector e selector e display Edit a file For pre gram entries there are codes for the program and arguments to be used and for how the arguments should be requested The following line instructs MENUNIX to use the editor stored in z the user set variable editor variables are accessed with a dollar sign and to request files to be 1 edited from the user as arguments program editor argument file to be edited F For workbench entries there is a code for where the information about that workbench is stored j F Continuing the example the Writing Aids workbench is stored in a file called writing that is included in the UNIX workbench with the line selector w display Writing Aids menu writing Because of this extendibility new programs and workbenches can be introduced in a simple manner The CONTROL Menu l The commands used to contro MENUNIX are held in an invisible but retrievable display i called the CONTROL menu This menu contains commands for changing workbenches and 1 directories setting and examining variables executing commands and obtaining docurnentation l This menu is not continuously displayed because or space limitations because most users learn its contents easily and because it can be retrieved when needed 4 1 i 3 i j Tc mA e o
51. orkbenches according to the tasks for which they are used e g writing and programming much as files can be organized in directories Special facilities are provided for finding out about useful commands using variables to set options to save commands and to avoid typing long strings and for editing strings including recent commands The second paper is a tutorial user manual for MENUNIX in which the features of the program are more fully explained Approved for public release distribution unlimited Copyright C 1981 Gary Perlman pe Ge RU a ler meer THE DESIGN OF AN INTERFACE TO A PROGRAMMING SYSTEM Gary Perlman UTITUR mere men Cognitive Science Laboratory Department of Psychology University of California San Diego ABSTRACT In this paper I discuss the design decisions made in programming MENUNIX an experimental interface to the files and hundreds of programs of the UNIX operating system Both programs and files are presented on the terminal screen in fixed location menus from which users can make selections with single character selectors displayed beside menu entries MENUNIX organizes UNIX programs into a hierarchy in which related programs are grouped together into task oriented workbenches much like the way UNIX allows files to be grouped into directories first give a brief introduction to MENUNIX and then discuss how 1 MENUNIX tries to be friendly to users by increasing the accessibility of
52. played on the right of the selector character and that its selection will cause the display of a menu whose definition is in the directory menu in a file called UNIX An example of a program entry is that for the copy command disp Copy files sel c prog cp args files destination which says that Copy files should be displayed on the right of the selector character c and that its selection will cause the execution of the UNIX cp command c Copy files cp Since there is an argument field MENUNIX knows to append it to the call to cp Anything in the argument field is interpolated and copied unless there is a part of the field enclosed in curly braces MENUNIX uses the convention that anything in curly braces is to be used as a prompt to get a response from the user For each of the braced parts of the argument VALUE field MENUNIX presents that part to the user and replaces it with the interpolated response typed in As a summary each line of a workbench file defines a workbench entry that is either for another workbench defined in an other file or a program that may have arguments that the user may have to supply Each entry is divided into NAME VALUE fields The names of these fields that may be abbreviated to just one character are listed below along with a description of their uses display Defines what is displayed selector Defines the character to be used to select the entry menu Defines that the entry is that of
53. rt af Prychaloge t ate Wicdeliae leesaing Be 939 o Ware B wititoe C A of ca che b Contor rre eraran fa 1921 lancoy Coe pe Vaiveretty vios M Calltas ek Mews 90 Moulton street savr ae OD Dr Lymm Cooper tbc v Prccomargh PA ISH11 De ne P Chavf pie Mejlon Uaiveratry ras FA ISRO Mellon Vajveraity maosi D ty of Pittabutgh fetowes Ines vettity of Pittsburgh Mariean Peytholegice deaociotion 100 17am Or kenneth B Cr t bare ate et Woe OC 10004 a tA 91 Bynes univers nm or ity u Cot J C wa PBirecsotdte 5 Gep Rad 01 Brbeasell Beug e Obon Mb t Lewis ND Betemre WG an elise Mt Wasinta Foct tee are Ber SU Mowlten at Coast Aavence e Hh have 4 utte 00 srarrh ona Fieis 1 Applied Resear ten utit Co Moonen lac 2510 bast west Nighvar jaa Wo Weviten piresi t fac M eli li Ber heb b Newpan t Albe Einesten diterts Casas Tee 209 Raverd Cot Feyehet Mity af Cost aageles CA SOOT4 Buberi Claser ny staberah fare di vae PA Dand Ar Hetvin B Cloch di Beene Bell wi at Gephe Masogenent LH The 1200 Mote S Sa
54. ry and updating its display Selecting a plain file results in the user s preferred editor being called on the file Selecting an sxecutable plain file results in that program being run after program arguments are requested In other words MENUNIX tries to do the sensible operation on selected entries This scheme is adopted from the Berkeley Computer Science Department s visual command shell vsh The PROGRAM Menu Though UNIX implementors suggest organizing files by making content oriented directories one for programming one for writing etc UNIX programs are not clustered by function b t by the installation where they were written Programs are kept in special directories such oin for binary usr bin for user usr ucb for University of California Berkeley and in usr local i where locally developed programs may be kept UNIX directories are delimited by slashes The only programs kept in a meaningfully named directory are games kept in usr games MENUNIX organizes programs into a hierarchy much like the file system can be used to organize files The idea of hierarchies of programs in menus was motivated by the UCSD Pascal Operating System Bowles 1980 Entries in the PROGRAM menu are either programs or collections of programs called workbenches analogous to the distinction in the file structure between plain files and directories that are collections of files The concept of workbenches was motivated by
55. s do not change appreciably over time such as workbenches of programs If more than one program description phrase begins with the same letter synonyms or i rewording can be used to avoid selector clashes For example in the Writing Aids workbench d there are two programs that begin with s spell spelling error finder and style style analysis Spell can oe displayed with Correct spelling and selected with c or style can be displayed with Analyze j style and selected with a This process shows another advantage of using descriptive phrases over i single names programs can easily be renamed to optimize selector choice att arl M Dynamic display selectors Using mnemonic selector letters is not possible with dynamic displays in which the options can be expected to change continually such as a file directory whose entries change daily This is because several options may demand the same selector such as files that begin with the same letter and users would have to attend to the screen while conflicts are resolved It may seem advantageous to use alphabetized letters instead but pairing sorted letters and options produces incompatibility For example to select a file named paper with the letter d is difficult because the name paper activates the letter p that competes with the correct selector In MENUNIX the solution is to use more neutral selectors sorted numerals Using sorted numerals as selectors has some advantage because
56. stance with all commands at all points in the PROGRAM menu hierarchy B n h INCREASING THROUGHPUT To increase throughput memory and perceptual aids can be used io speed the task of specifying requests and variables can be usec to avoid typing often used long strings ARTIS TTA Um TEL TR T WR RE Rp 3 TU n Fixed Location Tabular Formats Speed Menu Search Sein tu es er el a gt To find an cption in one of many menus first the appropriate menu has to be found and then i that menu has to ve searched If menus are displayed at fixed locations on a terminal screen they i will be relatively easy to find Some programs display their menus by appending them to the bottom i of the screen causing the screen to scroll and make it difficult to predict the location of particular menus MENUNIX reserves fixed areas of the screen for PROGRAM and FILE menus and for presenting feedback and for editing and this helps users find displays faster Text presented in tabular formats make use of Gestalt grouping principles of proximity and continuation and is easier to scan Horn 1981 especially if options can be arranged ir some familiar way such as alphabetical i l sorting Perlman 1981b yer comm em aT i Option Selection Schemes Once the command that performs a desired function is known it has to be selected One Scheme for selecting items in a menu is by moving the cursor with key controls light pen mouse etc
57. th a visual display MENUNIX reserves fixed locations of the xd to answer these questions so users do not have to execute commands to ask them see Figure 1 TERES mnm eren ro n HET nme ener WARS diei deter ae ica ni i xd a na Lcd l REDUCING ERRORS Io Wut meme I cm c noH ose Simplicity and Consistency Simplicity of commands refers to how many concepts must be learned to understand how J something works and is desirable for error free use In MENUNIX users execute commands i simply by pressing a key next to the desired command thereby reducing the probability of mistyping commands MENUNIX reduces the concepts users have to deal with by representing sh variables pe and the csh history list and aliases with a single more general class of variables Experienced us rs of UNIX who have become accustomed to separate concepts of aliasing history list and variables find this confusing but there is no evidence for this confusion among users raised on MENUNIX though there is a lack of such a population Consistency between commands is usually necessary for error free use because if commands use similar concepts inconsistently users applying analogies to learn or use commands will make mistakes Perlman in press The syntaxes of commands do not have to be consistent when executed via MENUNIX because it asks users for program arguments with meaningful prompts making argument order relatively unimportant en ale d atit ii il
58. to the location of the desired item and pressing a select key This is fine for novices who depend on menus to find commands but impedes experts who know the commands they want and do not wish to find them in a display and move cursors For an average display even experts take several seconds to find and point to any option Perlman 1981b Ideally the same selection Scheme serves all levels of users so there can be a smooth transition from novice to expert use Any scheme involving pointing will not meet this requirement so single character selectors were chosen for MENUNIX because they can be executed quickly and are easily memorized 2This is not to say that pointing devices are never useful because they are more generally useful than the scheme described here Single character selectors are best suited for this particular application a ae e mee eei x api e pe eii cago ARIS DR a c ML Mcr ee ee Me ee ee cae wilh E E T sata tie tbh teen me Scat ne tabs a aeons Interface Design Gary Perlman 9 Static display selectors A good alternative to pointing is to select options by a letter in a keyword related to its function For example most people easily remember to select the compiler with c and the debugger with d There is no confusion about which compiler or debugger is wanted because of the previous choice of workbenches Using mnemonic selectors is possible with static displays in which the option
59. top adding text 1 i 1 to 0x ccoo USER B re oe M aait al a DA rape Mp cwm Mie sn ERE OTS ol TEE Ee mam Er Tey E amp E BN o P mM EE CE EDU RETE TE EP QNM x a z n E ES LL NR s cde Ami Coat ai se RR aia Eee ey Uer si ioe ee doge Gary Perlman 8 E To IW PERCOM Rec ewe e cs i F f MENUNIX User Manual The Menu Definition Language Just as you have control over the files in your file system you can change the structure of the PROGRAM MENU hierarchy A predefined variable in MENUNIX is menu that holds the name of the directory holding files that define the PROGRAM MENU hierarchy that contains two special files UNIX which defines the UNIX workbench and all subsidiary workbenches and CONTROL defines the CONTROL workbench of commands available at all parts of MENUNIX In menu is a file called UNIX that has lines that define 1 The name of each entry in the UNIX workbench 2 The one character selector for that entry 3 The type of the entry whether the entry is that of a workbench or a program For program entries arguments may be supplied Each part of a workbench entry is defined by a bracketed field of the form NAME VALUE where NAME specifies the name of the field and VALUE specifies its value For example the UNIX workbench has the definition display UNIX selector menu UNIX This definition says that UNIX should be dis
60. u could type mm which would read your mail and return you to your old workbench automatically You can make an early return to the saved workbench by typing a second colon Setting Variables You can set a variable to a value to be used at a later time This is done by typing the character on the left of the set variable command in CONTROL the dollar sign The variable setting command will ask you for a name that must be made entirely of letters and then a l value that can have any content even other variables Variables can be edited using the one line editor described later TOUT rem Urs Henr nan pm TPR HTT Pn n IHR Aer nr mm E y mre mm Preset variables There are some variables that are set when you go into MENUNIX They can be used in your responses to MENUNIX prompts by preceding their names by The predefined variables are user your login name home your login directory dir the current directory mail your mail spool file menu the inenu source directory User defined variables When it starts MENUNIX checks in your home login directory for a file called menuvar from which it will read any variables you may want defined Variables are set by lines in this file of the form NAME VALUE where NAME is any uninterrupted string of upper or lower case letters and VALUE is any text including predefined variables For example you may want to have fast access to directories you often use and define the fo
61. uted vie sh so commands can include pattern matching expressions such as and redirection and piping of inputs and outputs Executing commands with is useful for repeating a command stored as a variable on the history list variables 1 9 As an example suppose that the variable 3 held the command sort foo bar and that you want to save the result of that command in a file in your home directory You could type a and MENUNIX would ask you for a command to execute and you would type in _ 3 gt Shome sorted which would sort foo bar and put the result in the file called sorted in your home login directory Instead of typing 3 gt Shome sorted you can omit the first because MENUNIX checks the first field of all commands and replaces it with the value of the variable by that name if it exists Executing a command with does not update the history variables 1 9 but the variable 0 is always used to construct commands and so can be acc ssed to rerun any command Changing Directory Besides 0 zero which pops you up one directory and selecting directories from the FILE MENU you can change directories with the Change directory command the slash Typing a slash makes MENUNIX prompt you for the desired new directory You can type the full pathname of the directory you want to enter This can include variables as usual You can also type RETURN that has the same effect as typing Shume both return you to your home director
62. y A common use of variables is to alias directory names and because of this the directory changing command allows you to change directory directly to a variable name So if foo is ust lib tmac you can type to change directories and foo to tell MENUNIX where to go the is not needed M Aelio cule Leid diia Elia dhai ul Be PENE E T ee E atime 8 air cs a A aha o oa Ny KN aah T US REM aahi aiiin e MERTEN ST FRET IC Rs Tt e Eta SE RET TIT NF TUI TEPE STERNEN T UTPUTFFUNPUMEUPENT CFTE NEN m E em CST APEE Y PPRITTTUIIU n 27mm capped rapinis c eene DI vaa ca mcer papa p PUER TUTTI pm lt de Gary Perlman 6 MENUNIX User Manual Getting Documentation By typing the Execution Documentation character you change perspectives on the PROGRAM MENU Ordinarily selecting a program causes its execution but by typing a you switch into a mode in which the next PROGRAM MENU program you select will cause MENUNIX to look for documentation on that program even if it is a MENUNIX CONTROL command Once you get documentation on a program MENUNIX automatically puts you back in the execution perspective The is really a toggle for changing perspectives so if you go into the documentation perspective and you want out another changes you back Entering Information MENUNIX s One Line Editor Many commands require you to supply information such as the names of file arguments or option s
63. y UNIX command line interpreter shell csh this command substitution is called f aliasing Wherever a command may be used at the beginning of a line or after command j separators MENUNIX checks for variables and substitutes their values A commonly used alias in MENUNIX is the editor variable that tells which editor is to be used when plain files are selected from the FILE menu PROTEST PD treat ero RN ST EN IH RC ETE Y Uy Ten T nU men bia RE c Pham am n Recently used commands MENUNIX keeps a record of recently executed commands and allows them to be accessed to be edited or re executed with numerical variable names In the f Berkeley command shell a special mechanism called the history list is implemented for this purpose In MENUNIX a few of the most recent of these are displayed on the middle lines of the MENUNIX display as a reminder to users see Figure 1 For users to re execute a stored i command they can type the command number instead of a command and the aliasing mechanism F i substitutes the stored command for the numeral OE ii AP ote aa ERUNT EE adum s Entering and Editing Information MENUNIX allows its users to modify variables and recent commands in a one line editor REP similar to open mode in the Berkeley vi and ex editors This facility allows users to combine C commands or modify ones with minor mistakes without taking the time to reconstruct them While in the line editor users are

Download Pdf Manuals

image

Related Search

Related Contents

Varta 57048301421 battery charger  Note sur les modalités de renouvellement du CA  Operation Manual  Add-On Computer Peripherals (ACP) JD106B-AO network transceiver module  MANUEL DE L`OPÉRATEUR - Multipression LC inc.  Child Friendly Dentistry - NZ Dental & Oral Health Therapists  Samsung NX2000 (20-50 mm) Lietotāja rokasgrāmata  

Copyright © All rights reserved.
Failed to retrieve file