COMPUTING PRACTICES

System Design for Usability Richard A. Demers IBM Information Systems Division

1. Introduction Computers are a major tool for SUMMARY: The factors underlying system design for usabil- increasing productivity. The accept- ity are examined and the role and responsibilities of a usability ability of computers to their users is, committee described. Under the control of a usability com- therefore, of growing importance. mittee, a balance between high levels of system function and Clerks and executives must be at- tracted to a computer system because usability was reached for the IBM System/38. The System/ of the enormous help it provides. 38 command language is presented to illustrate this balance. Martin [8] says, "To be effective, sys- tems will have to be designed from the outside in. The terminal or con- sole operator, instead of being a pe- cations and must be viewed as one of functions, however, can become a ripheral consideration, will become of the prime objectives of new com- barrier to usability unless equal at- the tail that wags the whole dog." puter systems. Ease of programming tention is paid to the quality and Ease of use is critical in making any is thus a prerequisite to increased consistency of their interfaces. tool attractive. usability on the part of clerks and Functions that eliminate con- It is primarily the application operators. cerns about the details of system op- 's responsibility to pro- Our paper examines the factors eration (by automating them) allow vide clerks and executives with usa- affecting system design for usability, users to concentrate on their appli- ble tools, but application program- especially for . This is cation tasks. For example, System/ ming costs have escalated steadily done in terms of our experience in 38 storage management facilities au- over the last 20 years. As a result, it developing IBM System/38. tomatically manage both main mem- is increasingly difficult for a business ory and auxiliary storage as a single to both maintain its existing appli- 2. Functions and Interfaces address space and provide enhanced security and integrity [7, 10]. This is cations and develop new ones. In The Mythical Man-Month, a new function that alleviates many Growing programmer productivity Brooks [2] says, is, therefore, the key to usable appli- storage management and security The purpose of a programming system is to problems with which the application make a computer easy to use. To do this, it Permission to copy without fee all or part of furnishes languages and various facilities that programmer has had to cope. this material is granted provided that the 0ap- are in fact programs invoked and controlled Functions which provide unify- ies are not made or distributed for direct by language features. But these facilities are ing concepts also reduce the number commercial advantage, the ACM copyright bought at a price: The external description notice and the title of the publication and its of a programming system is 10 to 20 times of different interfaces that must be date appear, and notice is given that copying as large as the external description of the learned; e.g., the data management is by permission of the Association for Com- computer itself.... puting Machinery. To copy otherwise, or to facilities of System/38 provide a republish, requires a fee and/or specific per- Easy-to-use is not the same as sim- common interface to all types of fi!es mission. ple-to-use; it is also more than the supported by the system--i.e., data- Key words and phrases: usability, program- mer productivity, command language elimination of hard-to-use. At every base, diskette, tape, display, printers, CR Categories: 3.50, 4.35 step, the designer must actively or card files. This includes external Author's address: R.A. Demers, IBM Infor- search for functions and interfaces data description, program access, f'de mation Systems Division, Rochester, MN reference, and file override facilities 55901. which will enhance the effectiveness © 1981 ACM 0001-0782/81/0800-0494 75¢. of the programmer. A large number [6, 11]. This approach should be con-

494 Communications August 1981 of Volume 24 the ACM Number 8 trasted with add-on access methods which each have unique interfaces and peculiarities. Other examples of Work Station unifying concepts in the System/38 Operator / are object and library management s ~ functions [10l and a generalized mes- ,,/ sage handler [4]. / There still remain, however, a large number of functions and inter- faces for debugging and other pro- / Application / gramming tasks which must be / Programmer learned. Erhman [5] points out that I programmer productivity is bound Hardware by the programmer's need to know ! a large number of artificial, machine- oriented languages such as:

--algorithmic "processing logic" t statement flow; roQ~a'~# t --external data description and con- ! ! version; CPF I i t --internal data typing and structur- f I % ing; % I % I --JCL or its equivalent; / System Service %% I --linkage editor or loader; / Operator Personnel I --absolute binary machine language / for reading dumps; --symbolic assembler language; Fig. 1. A Layered View of System/38 Functions and Interfaces. Each layer of function --debug and diagnostic system; provides interfaces for the next highest layer to use. Users are viewed as the outermost --utilities; layer. Different interfaces are provided for each user role. --text editor; --command procedures; --text formatter; --plain English. viewed as a significant barrier to us- tots, and service personnel) were in- Even this large set is not complete. ability. It is therefore obvious that cluded in the specifications .of Sys- Many of these functions produce special emphasis must be placed on tem/38 so designers could contin- output listings, displays, and mes- usability or the functional richness ually check their designs against the sages that the programmer must in- of a system will intimidate its users. needs of specific users. These de- terpret just to ascertain whether or scriptions included a listing of the not the requested function was per- 3. Subsets by User Role business responsibilities, of the tech- formed. If it was not, the program- Experiments by Carlise [3] on nical and administrative duties, and mer must know which procedures to Man Computer Interaction (MCI) of the qualifications and skills of the follow in order to correct the prob- demonstrated "that interface com- various types of users. Based on this, lem. It should come as no surprise plexity can be matched to user char- the system's functional capabilities then that a programmer's productiv- acteristics to improve MCI problem could be subset and its interfaces ity is dependent on an ability to learn solving effectiveness." It is impera- tailored to specific user roles. and retain this enormous mass of tive that system designers have a Figure I illustrates this subsetting data. thorough understanding of the var- of system interfaces. There is some The System/38 command lan- ious user roles--this in addition tO degree of overlap between user roles: guage illustrates the vast number of an appreciation of their functional Some users may cover more than one functions within today's systems. needs. A powerful but complex pro- user role (depending on the size and There are over 260 different Control gramming or command language complexity of the installation) and, Program Facilities (CPF) and utility which takes months to learn may be over time, a user may change roles. commands; user-defined commands appropriate for a professional pro- This subsetting by role cannot, there- can be created to extend this. The grammer, but it is not suitable for a fore, be rigid. Instead, it must be Command Language Reference data entry clerk or an executive. user-tailorable so as to meet the manual [12] is over 1,000 pages long. Descriptions of user roles (e.g., needs of the users' own organization. This large a command set can be clerks, programmers, system opera- Only the set of functions needed to

495 Communications August 1981 of Volume 24 the ACM Number 8 COMPUTING also blinds them to the interrelation- (CPF), the System/38 operating sys- ships between the components. Such tem. The committee had sufficient PRACTICES a problem becomes even more severe authority so that very few usability when major system functions, such issues needed to be brought to the as compilers and utilities, are devel- attention of management. It was do his/her job should be available to oped as separate products or in sep- possible for committee members to each user. If, over time, this set arate locations. Only when a signifi- work hand in hand with developers, changes to meet different business cant number of internal IBM loca- monitoring the development process needs, interfaces to the new function tions began to use System/38 did this on a daily basis, investigating and should be easy to learn. The consis- type of problem become obvious. Be- answering a myriad of little ques- tency of old and new interfaces fa- cause of the emphasis placed on tions, and refining usability stan- cilitates this learning process. other aspects of system usability, dards. CPF developers began to The System/38 command lan- however, correcting this problem did check with the usability committee guage is subset by user role through not require major redesign of either whenever a design change which command authorizations and by functions or interfaces. would affect a was menus tailored to user roles. The contemplated. 5. The Usability Committee ability of the system to route a user The usability committee had re- to a particular application at sign-on Usability cannot be accom- sponsibility for: is also a means for controlling the plished by adding "ease-of-use" in- range of functions a user can per- terfaces. Usability must be designed (1) Placing usability require- form. For example, an application into the system from the very begin- ments on system components; work- programmer can be routed to the ning, and it must be as integral a part ing with component designers to de- programmer's menu at sign-on (Fig- of the development process as per- termine the types of interfaces ure 2). This menu provides a simpli- formance, reliability, and service- needed by each class of user. fied interface to commands com- ability. For System/38, this was ac- (2) Specifying interface objec- monly used by programmers and al- complished by a usability committee tives based on known human factors lows other commands to be entered. within the development group. such as consistency, responsiveness, A similar menu is available for the The System/38 usability commit- flexibility, helpfulness, and simplic- system operator and menus can also tee initially had two members, a hu- ity. Although it may be attractive to be provided for application users. man factors engineer and an experi- combine functions, this leads to the 4. Integration of Interfaces enced programmer. The primary fo- development of baroque interfaces cus of the committee was the usabil- which are ultimately much harder to The usability of a system is also ity of tlae Control Program Facilities learn and use. affected by the degree of integration of its various interfaces; i.e., the de- gree to which the commands, .display screens, outputs, and messages can be used together in performing user jobs. For example, displays that sim- ply present information are of little use if reasonable operations cannot be performed while the information 2. Change source/definition srcmbr, type, (text for DFU & QRY) 3. Create object object name, type, pgm for CMD, (text) ~iiii~i!ii~ii~iiiiiii!ii!iii!iiiiiiii~iiiiii!i~iiiiiii~iii~iiiiiiiiiii~i~i~iiiiiii~iii~i~iiiiiii~i~ is being displayed. A display of the 4. Call program program name ~iiiiliiiii~iiiii~iiiii~ii~!i~ii~iii~ii~iii!i!iiiiiiiiiii~iiiiii!!i~iiiiiiiii~!iiiii~i~iiii~i~iiiiiiiii~iii 5. Execute command command spool files on an output queue, for 6. Submit job (job name), (command) example, should accept requests to 7. Display submitted jobs 8. Display source srcmbr, type display, cancel, or hold the files. Re- iiiiii!i~!iiii!ii!iiii quiring the programmer to go to an- Types: CL, CLP, CMD, DFU, DSPF, LF, PRTF, QRY, RPG, TXT other display to enter a command is Option: Parm: Type: Parm 2: annoying, inefficient, and likely to Command: ~!~i!~iiiiiiiii~!i!!ii!~ii~iii~iii~ii~iii~iii~iii~ii~iiii~i!iiii~iiiiiiii!ii~iii!~i~iiiiiii~iii!!i~ introduce errors. ~!ii~ii~!ii~iiii~i~iii~!!~i~ii!i~iiiii~i~iii~iii~iii~iii~ii!iiiiii!ii~iiiii~iiiiiiiii~ii!iii~ii~iii!!!ii~ Text: This level of interface integration Src file: Src lib: *L BL Obj lib: Jobd: QBATCH is perhaps the most difficult aspect CF3 - Command entry CF4 - Prompt (3 & 5 only) CF6 - DSPMSG of system usability to achieve. Typi- cally, large systems are developed as a set of semi-independent compo- nents. This allows designers and de- Fig. 2. Programmer Menu. velopers to focus on a smaller, more manageable set of functions, but it

496 Communications August 1981 of Volume 24 the ACM Number 8 (3) Developing usability stan- The question to be asked, of from 260 commands to 60 verbs. Of dards that ensure the consistency of course, is how usability problems can these, only about 20 verbs are com- both syntax and semantics through- be anticipated and solved at an ear- monly and frequently used by any out the various interfaces of the sys- lier stage of development. Perhaps a one user. tem including: focus on usability by a system-wide Similarly, the names of the ob- --The design of commands such usability committee will suffice for jects and pseudo-objects operated on that their syntax and semantics fol- future systems. This approach has by the verbs are also formed by con- low consistent rules. been adopted for the follow-on de- catenating standard abbreviations. --The design of displays such velopment of System/38. The usa- As in the case of the verbs, this that the placement and quantity of bility committee is now chaired by a method serves to reduce the apparent information to be displayed and the systems architect and membership of command set size to operations on use of function keys in conjunction the committee has been further ex- 70 types of objects and pseudo-ob- with the displays define consistent panded to include representatives jects, of which, again, only about 20 system behavior [9]. from planning, systems assurance, are commonly used by any one user. --The messages displayed to publications, and market require- Although the command set itself is users (including both their content ments. Full participation by the de- large, learning new commands is fa- and usage) and the replies to such velopment groups remains a critical cilitated by the consistent naming messages. They must be concise and factor. patterns of the command set. clearly state problems in a tele- Although the scheme of concate- 6. The System/38 Command graphic style. (A second level of mes- nating abbreviations has resulted in Language sage text that provides more detail, a few strange-looking command on-line problem determination, and The System/38 command lan- and key word names (such as corrective information should also be guage is the primary interface to DCLDTAARA for Declare Data available to work station users.) functions of the System/38 Control Area and DSPSYSSTS for Display --Output listings from compilers Program Facilities (CPF), system System Status), the patterns of ab- and other products; the types of list- utilities, compilers, and user pro- breviations have proven easy to learn ings to be produced, the placement grams [1]. Commands are provided and decipher. Since most verb and of error messages, and identifying for functions performed by the sys- object abbreviations are three char- information. tem operator, the security officer, acters long, the eye quickly becomes (4) Serving as a focal point for service personnel, and programmers; used to splitting command names the discussion of usability problems. on small systems, however, it is the into three-character groups. For ex- programmer who fulfills many of ample, DSPSYSSTS. is read as DSP (5) Monitoring component de- these roles. The System/38 com- velopment teams to ensure that the SYS STS. Single character abbrevi- mand language is presented here to ations are permitted when the abbre- final product is a single, coherent illustrate what can be achieved when system in the eyes of the user. viated word is frequently used in the usability is emphasized throughout command language and occurs at the (6) Enforcing usability standards the development process. end of a command name--as in throughout the system. System/38 commands have been CPYF (Copy File). designed to be simple and easy-to- The alternative scheme of using The importance of the usability learn. All commands have the same variable abbreviations (keying in committee being an integral part of syntax: only enough characters of the key the development group cannot be label: command-name parameter-list word to uniquely identify it) for com- overemphasized. To us, it quickly mands and key words was rejected became apparent that the usability Each command is used to request a for the following reasons: of the languages and utilities should single operation on a specific type of also be considered by the usability object. Command names, which are (1) Command names should committee, but these components constructed by concatenating abbre- not change as the command set were already being developed by a viations for verbs and objects, reflect • changes. For instance, a short form different part of the development or- this orientation. For example, of the FIND command might be ganization. Although the committee DSPMSG is the name of the Display FIN to differentiate it from the worked directly with these devel- Messages command. The abbrevia- FIX command, but the addition of opers, many more issues than is de- tion DSP is used consistently the FINISH command in a later sirable were brought to management throughout the command set for the release would force a programmer to for resolution. Eventually, however, verb DISPLAY, as in DSPMSG correct all of the CL source that used the committee was expanded to in- (Display Message), DSPLOG (Dis- FIN. Restricting new commands to clude programmers from the lan- play Log), and DSPOBJD (Display longer abbreviations (FINISH guages and utilities development Object Description). This effectively would be abbreviated FINI) seemed groups. reduces the size of the command set confusing.

497 Communications August 1981 of Volume 24 the ACM Number 8 COMPUTING Every parameter has a key word that tional form supports more efficient can be used optionally. key entry. For example, to copy file PRACTICES (3) Mixed-Frequently used pa- JOE to file BILL, rameters are specified first, position- CPYF JOE BIL ally, followed by other parameters in key word form: can be specified rather than the key (2) Uniqueness only within a word notation Parm-1 Parm-2 K5(Parm-5) ... single command's key words intro- CPYF FROMFILE(JOE) TOFILE duces a variability that fosters con- A strict one-to-one position to (BILL). fusion. An acceptable abbreviation key word mapping was used rather for a key word in one command is than the VM/370 CMS [14] or OS/ For commands that are used in- not an acceptable abbreviation for 370 TSO [13] schemes in which re- frequently, either the key word or that same key word in another com- quired values are expressed position- mixed form can be used as an aid to mand. ally, followed by optional values in proper specification. Key words, like (3) Variable abbreviations are key word form. Since most com- command names, are constructed of less self-documenting in CL listings mands have only a few parameters abbreviations which are used con- because abbreviations differ from which are commonly used, the posi- sistently throughout the command one programmer to another. This makes maintenance more diffficult. Each of the 39 CPF display com- mands has special parameters de- pending on the object being dis- played. This allows the parameter Command Entry list for any DSPxxx command to be Display short and still permits the user to Press Prompt Key think of a generic function (e.g., dis- No Command Name play). Carlisle [3] determined that Enter this approach to command design is Command Command easier to learn and remember than Grouping Press Prompt Key Menu complex commands which operate Partial Command on different types of objects with varying parameter requirements. Invalid I Command With complex commands, the user Syntax Command Syntax I Check Selection of a command is forced to learn Menu which subsets of key words are valid, and which are not. Providing many simple, single-function commands prevents that confusion. For those operations which are independent of differences in the object, a powerful, Parameter -\ but still compact set of generic com- Prompt mands was implemented: Rename Display(s) ) Object ,(RNMOBJ); Move Object / (MOVOBJ); Save Object (SA- - nwi Immand Validity, I •VOBJ); etc. Command Check Invalid I Command The parameter list of a command Validity can be specified in one of three CommandValid I Command Check forms. I Valid (1) Positional-Parameter values Command are specified in a predetermined po- sitional order: isplays,Menus~ -\ r Program ] ! Parm- 1 Parm-2... /•rompts / // (2) Key word-Parameter values Exit Function "-r .... I are specified with a descriptive key word in any order: Fig. 3. Flow of Command Entry Displays. K2(Parm-2) Kl(Parm-l) ...

498 Communications August 1981 of Volume 24 the ACM Number 8 set. Since most parameters have de- fault values defined by the system, only those parameters that require a unique value need to be specified.

This further reduces the amount of COMMAND ENTRY DISPLAY keying required to enter a command. : : dsplib qgpl : : crtlib lib(red) For those cases in which a com- : : crtfile Command CRTFI LE.*LIBL not found. mand with complex parameter spec- Error found on command. ifications is to be used repetitively, a : : CRTPF FILE (TRYIT.RAD) SRCMBR(FIRST) RCDLEN(92) Command canceled user-defmed command can be cre- : : crtmsgq msgq (mailbox.red) : : sndmsg 'try the mailbox' mailbox ated to defme a command name with Message queue MAILBOX not found in Library *LIBL fewer characters or to prespecify the Error occurred when sending message : : dsplibl parameters. For example, to display : : RPLLIBL LIBL (OGPL QRPG QIDU QTEMP RAD) : sndmsg 'try the }nailbox again' mailbox the inquiry messages (those that re- : dspmsg msgq(mailbox) quire a reply) on the system operator : clrlib lib(red) : dltlib lib(red) message queue, the generalized Dis- Library RAD not deleted because library on * LIBL. play Message command provided by : signoff CPF requires the following to be CF3 - Duplicate CF4 - Prompt CF7 - Display all messages keyed in: DSPMSG QSYSOPR *INQ or Fig. 4. Command Entry Display. DSPMSG MSGQ(QSYSOPR) MSGTYPE(,INQ). For this same function, a user can mand language can never anticipate the system to select the proper com- create a personal command, such as all user needs exactly. mand and to provide the proper pa- DOI (for Display Operator Inquiry Commands can be interpretively rameter. Figure 3 illustrates the flow Messages) in which all parameters executed as requests in a batch job of the command entry displays. Note are defaulted. Thus, generalized stream or as requests entered that command execution occurs only CPF commands can be tailored to through the work station. When after a syntactically valid command meet specific user needs as they are commands are entered by a work has been entered and all parameter identified. The designers of acom- station user, help is available from values validated. Figure 4 illustrates the Command Entry Display which is a rolling screen display of com- mands entered and the resulting messages. The work station operator can scroll through commands previ- ously entered and duplicate (by pressing a function key) any com- COMMAND GROUPING MENU mand into the input area. Select one of the following: 1. All Commands If the operator is not sure which 2. Object and Library 3. Data Base command to use, it is possible to 4. Device Management press a work station function key to 5. Programming 6. Program Debug obtain the Command Grouping 7. Message Handling Menu (Figure 5). This menu allows 8. Utilities (If Installed) 9. Input/Output Spooling the user to select the appropriate 10. System and Job Control 11. Subsystem and Class functional area. A Command Selec- 12. Configuration tion Menu (Figure 6) is then shown 13. Security 14. Save/Restore with both abbreviated and descrip- 15. Command Definition 16. Service tive command names. The work sta- tion operator then selects a command Option: Partial command name: CF1 - Return by keying in its name. (The com- mand name must be keyed in rather than a selection number because this reinforces the process of learning command names and system con- Fig. 5. Command Grouping Menu. cepts.) A command prompt (Figure 7) is then shown, permi'tting entry of

499 Communications August 1981 of Volume 24 the ACM Number 8 COMPUTING PRACTICES

l= Ob ect and Library Commands Menu Select .... f the following: 0 biect RNMOBJ - Rename Ob ect command parameters on a fill-in- MOVOBJ - Move Ob ect the-blanks type of display. ALCOBJ -- Allocate Ob ect D LCOBJ - Deallocate Object Commands can also be compiled i!iiiiiiiiiiiiI DSPOBJD - DisplayObjectDescription into a command language (CL) pro- ~iliiii!i!iiii iiiiiiiiil;ii:il Library gram. The System/38 Source Entry iiiiiiiii;iiiI CRTLIB - Create Library ilililiiiiiiiiiii! DLTLIB - Delete Library Utility can be used to enter a CL ii!i:iiiiiiiiii!ii! CLRLIB - Clear Library program into a source file for com- iiiiiiii!iiiiiiiil DSPLIB - Display Library iiiiii!iiiiiiill RPLLIBL - Replace Library List pilation. Command selection and iiii~iiiiiii!ii~ DSPLIBL -- Display Library List prompting facilities, along with com- :iliiiiiiiiiiiiiliiiiii mand validation, are available to the programmer as each command is en- tered. CL programs offer added value to the command set: Addi- tional commands are provided to support structured programming, Fig. 6. Typical Command Selection Menu. operations on local variables, sophis- ticated error handling, and interac- tion with a work station. These facil- ities support the construction of languages is one significant way package. For IBM System/38, a us- menus and other application control of increasing programmer productiv- ability committee established inter- programs. Since CL programs can ity. face objectives and designed stan- also be called by high-level language dards for commands, displays, mes- programs, such as RPG III, powerful 7. Conclusions sages, and output listings. The com- control program facilities are also A objective of today's com- mittee worked with and monitored available to the high-level language puter system is to enhance program- the efforts of the development teams programmer. This integration of the mer productivity by providing a high on a daily basis to ensure conformity command language with high-level level of function in an easy-to-use to these standards. As shown by its command language, the resulting consistency and unity of design within System/38 allow it to achieve the necessary balance between func- tion and usability. It is this balance {hat enhances programmer produc- tivity and facilitates the creation of Display Object Description (DSPOBJD) Prompt usable computer applications. Enter the following: Object--generic* or full name: OBJ R Library name: *USRLIBL Object type: OBJTYPE R Acknowledgments + for more Display detail (*BASIC *FULL) DETAIL *BASIC The author gratefully acknowl- Output (* or *LIST) OUTPUT edges the contributions made by his colleagues at IBM, especially J.H. Botterill, D.E. Peterson, and R.R. Tracy who have been members of the System/38 usability committee.

iii~il;ii!~i/illI References 1. Botterill, J.H., and Evans, W.O. The rule-driven in System/38. IBM System~38 Technical Developments, IBM Order No. G580-0237-1, Mechanicsburg, Pa., 1978, pp. 83-86. Fig. 7. Typical Command Prompt. Describes the implementation approach and rationale for the System/38 command language.

5OO Communications August 1981 of Volume 24 the ACM Number 8 2. Brooks, Jr., F.P. The Mythical Man- 6. Fess, R.O., and Benson, F.E. File 10. Pinnow, K.W., Ranweiller, J.G., and Month: Essays on Software Engineering. processing in System/38. IBM System~38 Miller, J.F. System/38 object-oriented Addison-Wesley, Reading Mass., 1975. Technical Developments, IBM Order No. architecture. IBM System~38 Technical Provides insights on the development of G580-0237-1, Mechanicsburg, Pa., 1978, pp. Developments, IBM Order No. G580-0237-1, large-scale computer systems. 91-93. Focuses on System/38 Mechanicsburg, Pa., 1978, pp. 55-58. file processing, including opening files, Discusses the concepts behind, purpose and 3. Carlisle, J.H. Man-computer interactive binding files to programs, and characteristics of System/38 machine objects. problem solving relationships between user file independence. I1. Truxal, C.D., and Ridenour, S.R. File characteristics and interface complexity. and data definition facilities in System/38. Ph.D., Yale Univ., New Haven, Conn., 1974, 7. French, R.E., Collins, R.W., and Leon, IBM System~38 Technical Developments, p. 126. Discusses studies which explored the L.W. System/38 machine storage IBM Order No. G580-0237-1, relationship between user characteristics and management. IBM System~38 Technical Mechanicsburg, Pa., 1978, pp. 87-90. interface complexity. Developments, IBM Order No. G580-0237-1, Describes System/38 files and the Mechanicsburg, Pa., 1978, pp. 63-66. Studies advantages of system-wide use of a central 4. Demers, R.A. The generalized message the management of primary and secondary data description facility. storage in System/38. handler in System/38. IBM System~38 12. IBM System~38 Control Program Facility Technical Developments, IBM Order No. 8. Martin, J. Design of Man-Computer Reference Manual--Control Language. IBM G580-0237-1, Mechanicsburg, Pa., 1978, pp. Dialogues. Prentice-Hall, Englewood Cliffs, Order No. SC21-7731-2, Mechanicsburg, Pa., 97-99. Discusses the System/38 message N.J., 1973. Discusses various forms of user 1980. handler as a system-wide facility for interfaces. defining, sending, and receiving messages. 13. OS/VS2 TSO Command Language 9. Peterson, D.E. Screen design guidelines. Reference. IBM Order No. GC28-0646, 5. Ehrman, J.R. Tile new tower of Babel. Small Systs. World 6, 8 (Feb. 1979), 19-21. Mechanicsburg, Pa., 1980. Datamation 26, 3 (March 1980), 157-160. The guidelines presented in this article were 14. VM/370 Command Language Guidefor Describes barriers to programmer derived from the System/38 screen design General Users. IBM Order No. GC20-1804, productivity. standards. Mechanicsburg, Pa., 1975.

501 Communications August 1981 of Volume 24 the ACM Number 8