![]() |
![]() |
|
Etude and the Folklore of User Interface DesignLaboratory for Computer Science Originally published in Proceedings of the SIGPLAN SIGOA Symposium on Text Manipulation (Portland, Oregon, June 8-10, 1981), SIGPLAN Notices, 16 (6), June 1981, pp. 34-43. Included here with permission. Copyright © 1981 by ACM, Inc. 1. IntroductionResearch in user interface design is like the weather -- everybody talks about it, but nobody does anything about it. While this isn't strictly true. the great majority of guidelines for user interface design that one is likely to come across are based on the experience or gut feelings of a particular designer. These are better than nothing, but they are made less useful since 1) a particular recommendation could be based on factors unique to the designer's own system, 2) the population for whom the particular system is intended is either not described in detail or is not a generalizable sample of computer users, 3) designers' gut feelings are notoriously inaccurate sources for human factors guidelines. Thus the main body of recommendations available to the designer of a new system is more in the category of folklore than of readily accepted engineering principles. So long as one recognizes these limitations, it is still very helpful to consider the recommendations one finds in the literature when designing a new system. Some of these are based on experimental evidence, while others are repeated often enough and with so little opposition that their utility is better than average. In this paper, I will show how these principles have been applied in designing the Etude text processing system. After summarizing the major ideas behind the design of Etude, I will focus on several specific areas of user interface design, comparing Etude's approach with the appropriate recommendations from the folklore. I will conclude by briefly describing a forthcoming experiment which is intended to determine if adherence to the folklore has in fact produced a system that is easy to use. 2. EtudeThe Etude interactive editor and formatter is the first component of an integrated office work station being developed by the Office Automation Group of the MIT Laboratory for Computer Science. It is intended to run on a small, powerful computer system with a high-resolution bit-map display. The interactive nature of the system means that the user can create, edit, and format a document at a terminal and see the results immediately displayed on a full page, high resolution display screen. Other tools, such as an image processing system, a database management system, and an electronic mail system, will be incorporated in an integrated manner so that the user will not be conscious of having to switch between systems in order to perform the necessary tasks. The design goals of Etude, as described in the specifications [15], are as follows:
The latter three goals emphasize that the primary design goals are ease of learning and ease of use. While in many systems these two goals may appear to be at odds with each other, Etude provides optional features that make the system easy for the novice to learn without frustrating the expert. For example. while menus may be provided at any point by pressing the menu key, the use of a menu is never required for any operation -- alternatives may be specified directly by the experienced operator. Expressing the commands in a natural way and incorporating a large amount of knowledge into the system results in the use of higher level formatting commands than those found in most formatting systems. Letters can be written by specifying a return address, address, salutation, body, closing, and notations. These high level objects are referred to as the components of a document and vary over different document types. Type face, margins, spacing, and indentation are all handled automatically by the system, relieving the user from the burden of creating detailed specifications. These benefits apply both to novices and experienced users. Another major consideration in the design of Etude is the so-called "anxiety factor" [11]:
Etude attempts to alleviate this anxiety in several ways, most notably by providing an undo key which will reverse the effects of any previous operation or sequence of operations. Also provided are a cancel key, which stops the current operation, and a help key that can be used at any time. The design of Etude began in 1979, after a large number of text editing and formatting systems were surveyed. Features from these systems which appeared useful in meeting our goals were incorporated into Etude [14]. Three important examples are:
After a prototype version was completed early in 1980, Etude was thoroughly reviewed in terms of its compliance to the user interface guidelines found in the folklore. As a result, we changed several features and are reworking the system implementation for greater efficiency. I will now examine how the current version of Etude measures up to the collected wisdom in the design folklore. Relevant features will be introduced as required. Hammer et al. [11] have described the system in more detail. 3. Command StructureEtude's basic command structure follows verb-modifier-object form. The most commonly used verbs, modifiers, and objects are placed on special keys. Verbs include commands such as go-to, erase, begin, copy, and change. Modifiers include next, previous, start-of, end-of, and positive integers. Objects include "low-level" ones such as character, sentence. line, and paragraph, typefaces such as bold and italic, and the document components described in the previous section. Commands are formed through combinations such as erase sentence, go-to end-of next paragraph, begin address, and change previous 3 line(s) (to) quotation. Characters shown in parentheses are provided by Etude when echoing the command in a special command line. This prompting is similar to the use of "noise words" in TENEX [41]. This choice of command structure is becoming more popular in computer systems, especially in the area of word processing. The premise behind this approach is that it is easier for a user to perform complex functions by combining relatively small sets of primitive objects into commands than by having to remember and choose from a much larger set of separate commands. These primitives combine to form English phrases, with system prompts providing the necessary function words (e.g., prepositions and articles [39]). This is intended to present the user with an easy to use natural syntax while avoiding the "user fooling" problems associated with "natural language" systems [33]. As Bennett [2] comments:
An experiment performed at the University of Massachusetts at Amherst provides supporting evidence for this strategy [21]:
There is no special "insert mode" in Etude. Text is inserted at the current cursor position (located between characters) as it is typed. This avoids the oft-encountered mode switching problem, mentioned by Newman and Sproull [29]:
4. AbbreviationsIn Etude, the most frequently used verbs, modifiers, and objects are located on special keys. Less frequently used objects can either be selected from a menu or typed in during the command. When typing in an object name, only the number of letters that are needed to identify the object need to be typed. Etude will complete the object name in the command window whenever the name can be recognized. Often, the user need only type the first letter of the object name. This abbreviation scheme has several advantages [30]:
It also follows a recommendation of Kennedy [17]:
This kind of an abbreviation facility is similar to one that Walther provided experimental subjects as part of a flexible interface [43]. His experiment attempted to show the influence of a flexible interface on user satisfaction, taking into account the influence of user experience and terminal type (CRT or teletypewriter). In general, his results were inconclusive, as correlations usually depended on all three variables, not just flexibility. Results also differed depending on the criterion used to measure satisfaction (performance time, different types of user attitudes, or a measure of anxiety). However, the one clear result in his study was that users found the more flexible system to be "friendlier," independent of the other two variables:
The ability to use menus, full names, or abbreviated names is one way of meeting the goal that features for the novice not encumber the expert. It is akin to a scheme recommended by Shneiderman [38]:
More in line with this recommendation is the abbreviation mechanism. Make abbreviation can be used to reduce any combination of commands and text to a short abbreviation. Some of these may be stored on soft keys. Otherwise, pressing abbreviation signals that the following sequence of characters (terminated by go ahead) should be expanded. This follows a recommendation of Nickerson and Pew [30]:
5. Preventing and Correcting MistakesThe idea that an easy to use system should be forgiving is becoming a generally accepted principle in user interface design. It would seem to be self-evident that a system should allow a user to correct mistakes, but it is not clear what mechanism or combination of mechanisms is best for making error correction a simple task. In Etude, there are four mechanisms directly related to error prevention and correction: the use of confirmation, the ability to edit a command before it is completed, the cancel key, and the undo key. 5.1. ConfirmationCommands such as erase and copy require confirmation from the user before being executed. For example, as the user specifies the region to be erased, the region is displayed in reverse video; the user can then press go ahead to confirm that this region is to be erased, or press cancel if the action is mistaken. This follows a recommendation of Engel and Granda [8]:
It also corresponds to an idea of Rohlfs' [36]:
Confirmation is also used -- and abused -- in data entry interfaces. The same cautions that are recommended in that area by Gaines and Facey [9] need to be considered in text processing applications as well:
In editing, it has long been recognized that "dangerous" commands should be confirmed [8]:
In Etude, confirmation is required for all commands which cause major changes in a document. Erasing small portions of text (such as a single line or sentence) does not require confirmation. While there are many methods of highlighting a region, using reverse video is attention-grabbing without being annoying (a fault associated with excessive use of blinking). Engel and Granda [8] comment further:
5.2. Editing of CommandsAs commands are given to Etude, they are echoed in the command line. These commands may be edited by using a subset of the editing commands, such as the back-space and back-word keys. The use of back-space is similar to one of Walther's flexibility options [43] that were previously discussed in the section on abbreviations. Engel and Granda [8] advocate an extensive command editing facility:
While the advantages in being able to correct errors that one can catch before they do any harm are evident, care should be taken that the command editing facility does not cause confusion with the command syntax. This is especially applicable to commands that require cursor movement. 5.3. CancelThe cancel key is used to abort an operation that is currently being specified or is in progress. This contrasts with the undo key, described below, which is used to reverse the effects of an already completed operation. The design folklore contains several references to the idea of a "reset" key which is similar to the cancel operation. These recommendations are based on the desirability of giving the user an easy to understand control over the system. Gaines and Facey [9] state this clearly:
Gilb and Weinberg [10] elaborate:
Hansen [12] also brings in an issue of keyboard design with his recommendation:
5.4. UndoThe notion of an undo function is another idea that is gaining wide acceptance. Many different levels of functionality have been implemented in various systems, ranging from the relatively simple capabilities in Bravo [20] to the far-ranging abilities in INTERLISP [41]. Etude provides an undo key that can reverse the result of the immediately preceding operation or sequence of operations. The undo operation is probably the single most important factor in relieving a user's anxiety and alleviating the feeling of "walking a tightrope while wearing a blindfold" [10]:
User training for Etude emphasizes the presence of the undo key and encourages experimentation. When demonstrating the prototype system, we are often asked "What if..." questions; the undo key gives us the ability to say "Well, let's try it and see what happens; we can always undo it if it isn't right." A system that encourages experimentation is one major step closer to being more natural to use. According to Jones [16], this step is of greater importance than that taken by attempting "natural language" interfaces due to the basic nature of the experimental strategy:
Any system dealing with tasks as complex as the interactive editing and formatting of documents is going to find the ability to experiment to be a useful capability, no matter how simple the user interface appears to be. And regardless of the complexity or simplicity of the task, people are going to make mistakes [3]:
There are several questions involved in the implementation of an undo mechanism for which we have neither experimental data nor folklore to guide us. How far back should a user be allowed to undo something? Restricting undo to the immediately preceding operation seems too strict, but an unlimited undo also poses problems. Besides complicating the means of specifying which operations should be undone, does it make sense to undo an isolated operation performed many minutes ago when the current context may be completely different? Etude resolves these problems by allowing a user to undo an arbitrary length sequence of the immediately preceding operations. The user interface presents a list of the preceding operations as a menu and asks the user to specify how far back the undo should go. Since undo performs the inverse of the original operation and any operation can be undone, the user can subsequently undo part or all of the effects of a given undo command. This mechanism completely satisfies the goals given by Davies and Yates [7]:
6. On-line AssistanceAnother function that is becoming commonly accepted as desirable for nearly any system is that of on-line assistance, typically offered by way of a help function. This usually allows the user to refer to information about the system while he is on-line, rather than forcing the user to refer to manuals or other forms of off-line documentation which would interfere with the conversational nature of the interactive system. Exactly how much information is provided and how it can be selected is a matter that differs considerably from system to system. Related to a help facility is a menu facility, which lists the available options at the particular time. Etude provides both help and menu keys. On-line assistance can serve several functions. It can be used to provide a tutorial for the new user, as mentioned by Kennedy [17]:
More typically, on-line assistance can help the user who has lost his place in an operation or who forgets what he should do next. This can be of use to all categories of users, though as Martin [25] suggests, such a facility is most typically associated with novices and casual users:
The importance of this type of assistance for casual users, especially discretionary users such as managers, is described by Bennett [3]:
Besides explaining what can be done, on-line assistance can tell a user what he has already done. Etude's help key will inform the user of the last few operations that have been performed as well as explaining the available options. Information about earlier operations can be retrieved using the query-in-depth method described below. Hayes, Ball and Reddy [13] recommend this type of facility:
Both novices and experienced users will forget details of system usage or be unaware of all the possibilities within a large number of choices. In Etude, this can especially occur when selecting the class of a component. In this case, menus can be the easiest way to provide assistance, as Hansen observes [12]:
Hansen appears to believe that menus should always be used: note the use of "selection not entry" as opposed to "selection or entry." However, unless the menus are as easy and quick to use as direct entry, their forced use may encumber experienced operators. The required use of menus also violates the Hansen's own principle of display inertia:
If help and menu facilities are adopted, how can they best be implemented? One criteria should be the suitability of the mechanism to a broad range of users. A user might require anything from the briefest reminder of what can be done to the most detailed explanation of a given situation. One way to achieve this goal is to use the query-in-depth method proposed by Gaines and Facey [9]:
An example of using query-in-depth is a help facility that is invoked by a question mark. The first time a question mark is typed, a short piece of information is provided. Repetition of the question mark results in successively more detailed explanations, until the most detailed level (perhaps advising where to get human assistance) is reached. To facilitate query-in-depth, Etude treats help and menu in much the same way: information provided in response to help is structured like a menu, but with more verbose description included. In either case, the user can then move around the menu to select an item. Pressing help will provide more detailed information about this particular item. Some other guidelines for menu implementation may also be useful. For example, menus in many of today's systems make the user specify items in the menu by number. This is not necessarily the easiest way to do things, especially if the system is designed so that menus are strictly optional. In this case, the following recommendation by Hansen [12] is especially applicable:
In Etude, for example, the user can type in the name of an item whether or not he has seen a menu. If he uses a menu, then he may also choose an item by using cursor movement commands to move within the menu (the currently selected item in the menu is always displayed in reverse video; when the menu first comes up. the first item is chosen by default as the "currently selected item"). Only currently permissible items should be displayed in menus; items that might be relevant at other times in similar situations should not be included. Such information generally does not help the user, and in fact may degrade his performance since the extra information increases the length of the menu and consequently increases the time the user needs to find the correct item [1]. One application of this principle in the Etude prototype occurs when a user has typed the first few characters of a name and then asks for a menu; only the items starting with the characters already typed are displayed. Menus that obscure the portion of text that the user was working on violate the principle of display inertia and may cause the user to fear that his work has been lost. In Etude, menus are positioned so as never to obscure the text surrounding the current cursor position. 7. Feedback and Error MessagesDuring Etude's implementation, constant attention was paid to providing immediate feedback to the user. Every keystroke that the user types causes some response on the screen. The following Gaines and Facey principle [9] was strictly adhered to:
When commands are completed. a form of closure has been reached [27]. Sometimes, in complex commands, the results of the command cannot he displayed immediately. However, any command echoed in the command line (which includes all actions except for text insertion and the use of "arrow" keys for cursor movement) displays an "[ok]" before the command is executed to acknowledge that the user has finished specifying the command. This is in accordance with a guideline suggested by Rouse [37]:
Etude follows many of Rohlfs' [36] guidelines for the design of error messages and their presentation to the user, such as always putting error messages in the same place on the screen and avoiding numeric codes, unknown abbreviations, and computer terminology. Messages and prompts are kept straight and to the point. They are never cute and folksy, a fault which Engel and Granda warn of [8]:
8. Response TimeAs the reader may have noticed, efficiency in terms of speed and space requirements was not high on the list of Etude's design goals. In building the prototype, we were much more concerned with getting the system to function correctly than with getting it to function efficiently. However, response time is involved in several human factors considerations for a user interface. The relationship is not simply "faster is better," but involves considerations of thresholds of acceptability, response time variability, and pacing of the user. The prototype version did not meet requirements in this area. Major changes in the new implementation should alleviate this problem. No interactive system is easy to use if it is too slow to keep up its end of the interaction. Robert Miller's oft-cited paper on response time requirements [27] proposes a 2 second figure as a general rule for many types of interaction. Much faster responses are needed for things such as echoing typed input (instantaneous, <.1 second), and slower responses are acceptable, if not desirable, at points where a major closure has been achieved. However, Miller mentions that there is a clear break in acceptability at the 15 second point:
Miller and several other authors hypothesized that variability of response time was perhaps of more importance than absolute response time, assuming that the latter was within tolerable limits. Experimental validation of this hypothesis was later provided by Lawrence Miller [26]:
It has also been theorized that response times that are too fast push the user too hard and induce additional stress in trying to keep up with the machine. Others mention that too-rapid interruptions with error messages are both impolite and unproductive. Among those concerned with excessively fast response times is Kennedy [17]:
9. Hardware ConsiderationsWhile most of this paper has discussed matters that primarily concern the software design of the system, it is important to consider factors regarding the display, the workstation, keyboard layout. and provisions for alternative input and control devices. Cakir, Hart and Stewart's comprehensive report on visual display terminals and their workstations [5] includes extensive design checklists. The selection and design of input and control devices for Etude is a lively discussion topic within the design group. Since we are just starting to consider issues of keyboard design in detail, specific implementations of recommendations cannot be listed. However, one simple change to the operation of the standard keyboard that has been incorporated into Etude and many commercial word processors can save the user time and effort [18]:
There is a danger in relying too heavily on a special keyboard due to the constantly changing nature of most computer systems. Martin [25] warns of this problem:
Etude tries to circumvent some of these restrictions by emphasizing that only the most common special functions are found on the keyboard, thus eliminating the need for ever-expanding keyboards, and by using soft keys. However, the problem of identifying the most commonly used keys still remains. The problem is not as critical in Etude as in commercial systems since we have a large amount of liberty in redefining keys as design and development progresses. The question of using alternate input and control devices such as "mice," light pens, tablets, and touch keyboards seems more an issue of theology than of practical guidelines at this stage. Card et al. [6] report an experiment where the mouse was shown to be preferable to two different types of keyboard mechanisms and one type of joystick. approaching theoretically optimum performance for a pointing device (with the exception of use with single character targets). However, one should note that only one type of joystick (rate-controlled isometric) was tested, and that the arrow keys on the tested system were very slow compared to those provided in Etude and most commercially available CRT's. Engel and Granda [8] generally recommend using joysticks. The principle advantages cited for keyboard-oriented approaches such as those found in the Etude prototype are 1) the intended users of the system are more familiar with keyboards than with the alternative devices, 2) the user does not have to move one of his hands from the keyboard to position the cursor, and 3) the added problems with extra equipment are avoided. These problems include placement of the extra equipment at the workstation and potential for breakage and theft. Etude's approach to this problematical area is to provide for one or more pointing devices, without constraining the choice of specific devices. The arrow keys currently serve as a pointing device, but the system architecture allows for other devices such as a mouse or a joystick to be added at a later date. 10. MiscellaneousMany recommendations to be found in the folklore of user interface design are not easily categorized. Some of these can be related directly to certain features of Etude. Others are more general but worthy of mention. 10.1. Log KeepingThe same mechanism which facilitates help and undo is also used to keep a system log, a facility recommended by Gaines and Facey [9]:
Hansen [12] also emphasizes the utility of a log:
10.2. Beyond CommandsThomas [42] has described the need to permit metacomments about the current dialogue in a systematic way within the computer system:
Similarly, Mann [23] claims that current systems are hard to use because their vocabulary is limited nearly entirely to commands, whereas humans state goals, give examples, describe, clarify, hypothesize, use analogies, and make comparisons in addition to using commands. Elevating command usage from a minor portion of dialogue, as it is in natural language, to the dominant portion makes the new type of dialogue unnatural for people to learn and use. Etude has some ad hoc metacomment facilities. Help, menu, and cancel either influence the direction of the dialogue and/or provide information about the state of one or both conversers. The confirmation facility provides a primitive mechanism for determining the pace of the interaction. In addition, the suggestion for logging facilities given by Hansen [12] and the INTERRUPT key suggested by Martin [25] are examples of metacomment facilities. Integrating these various functions as well as methods for customizing and controlling the pace of the dialogue into a general mechanism would be a challenging task, but one that could pay off handsomely in increased ease of use. 10.3. SimplicityShneiderman [38] presents a desiderata of simplicity, though he gives no means for quantifying his goals:
In the same vein, Gaines and Facey [9] issue a plea for consistency which echoes throughout the folklore:
Engel and Granda [8] give a specific example of what not to do:
Consistency and predictability are closely related issues, as Pew and Rollins [32] observe:
By combining primitives to form more complex commands, Etude attempts to meet these goals of consistency and simplicity. We believe that these gains will be especially noticeable when additional functions are integrated with the editor and formatter. 10.4. Social IssuesAs a final guideline, it is most important to consider the impact of the system being designed on the people who use it. Margulies [24] reminds us that measures other than efficiency are also important when evaluating computer systems:
11. Future WorkThroughout this paper I have mentioned that a designer trying to produce a good user interface has to rely more on folklore that on sound engineering principles. To avoid falling into the category of those who talk about the problem without doing anything about it, I will soon perform an experimental evaluation of the Etude system. In this paper I have shown that Etude adheres to a large amount of the folklore regarding user interface design. I have not shown that Etude is in fact an easy to use system, nor has the term "ease of use" been defined. In my experiment, secretaries without any computer experience will be recruited as subjects and taught to use Etude. The following criteria, based on the work of Miller [28], will be used to measure ease of use:
If Etude is indeed easy to use, there will be some further experimental validation for the guidelines contained in the folklore. If it is not easy to use, there should be enough information present for the reader to decide whether the fault rests with some of the guidelines or with their implementation in Etude. This study should add to the slowly growing body of literature that is making research in user interface design less like the weather and more like sound engineering. References
Copyright © 1981 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org. This is a digitized copy derived from an ACM copyrighted work. ACM did not prepare this copy and does not guarantee that is it an accurate copy of the author's original work. Home - Music - Software - MusicXML - Events - eConcertBand - Search - Store - About Us - Publications |
||