Heuristics in Real User Interfaces - CiteSeerX

7 downloads 73756 Views 18KB Size Report
Richard Wolf. School of Computer Science ... Many of the computer programs that millions of people use. every day ... Excel spreadsheets have a feature called auto-sum or smart- .... mechanics of the user interface are extremely predictable.
Heuristics in Real User Interfaces INTERCHI’93 Panel

Brad A. Myers School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 [email protected]

Richard Wolf Lotus Development Corporation One Rogers Street Cambridge, Mass. 02141 [email protected]

Kathy Potosnak Aldus Corporation 411 First Ave. South Seattle, WA 98104 [email protected]

Chris Graham Microsoft Corporation One Microsoft Way Redmond, Washington 98052 [email protected]

ABSTRACT It is the conventional wisdom in user interface design that direct manipulation is best and that interfaces should be predictable. This tends to argue against having a system ‘‘guess’’ or use heuristics or other AI approaches. However, an increasing number of today’s successful software products do use heuristics in their interfaces. The heuristics are used to help guide the user and to perform tasks that would be too difficult to specify by conventional direct manipulation approaches. We believe that user interface designers will increasingly need to consider using heuristic techniques in their interfaces. This panel discusses a number of today’s successful products using heuristics and the important HCI design issues such as feedback. KEYWORDS: Heuristics, Demonstrational Interfaces, Artificial Intelligence, Agents.

DEFINITION ‘‘Heuristics’’ are a problem solving technique in which the most appropriate solution is chosen using rules. Interfaces using heuristics may perform different actions on different data given the same command. A simple example is that the Macintosh moves a file if dragged from one folder to another, unless the folders are on different devices, in which case the file is copied instead. The designers naturally try to make sure that the system will choose the correct solution, but sometimes the system may do the incorrect action. Thus, these systems can be said to guess what the user wants to do in this situation. However, since these are deterministic algorithms, many people object to the term ‘‘guess’’ applied to the computer. However, it may not appear deterministic to users if they cannot tell why the command now operates differently than it did the last time it was invoked. Virtually all Artificial Intelligence (AI) systems use heuristics of one form or another: they try to make an intelligent choice about what the operation should be. Whereas applications that are clearly labeled as ‘‘AI’’ are not particularly popular in today’s marketplace, heuristics are being used in small ways in a large number of programs, and their use is increasing. The range of ‘‘intelligence’’ of these interfaces is enormous, from a single easy-tounderstand rule to a complete rule-based system. This panel will survey a number of real products that use heuristics and discuss the significant design issues that they have in common. (Intelligent user interfaces in general is the topic of a series of workshops [4], the most recent of which was held in Orlando, Florida in January, 1993.)

USE OF HEURISTICS TODAY Many of the computer programs that millions of people use every day are now using heuristics in small ways. Interfaces of the near future will be using heuristics in large ways. For example, Microsoft Word version 4.0 for the Macintosh has a renumber command that looks at the selected text and tries to determine how the paragraphs are numbered. Current versions of the Lotus 1-2-3 and Microsoft Excel spreadsheets have a feature called auto-sum or smartsum that tries to guess the extent of what should be added when you point to a single cell. These spreadsheets also use heuristics to try to generate an appropriate chart when you select a range of cells and request a business graph. Aldus has a new product called IntelliDraw for PCs and Macintoshes that tries to infer constraints among graphical objects. Microsoft has introduced ‘‘wizards’’ in some of their products that in some cases use heuristics to guide users to more efficient ways to execute commands. The next generation of user interfaces will involve gesture and character recognition, speech and natural language recognition, and intelligent agents. All of these involve using heuristic techniques that will sometimes interpret the user’s actions incorrectly. Whereas this panel does not address these new input techniques directly, many of the same issues arise, including feedback, dealing with errors, and allowing the user to feel in control. ISSUES There are important issues that are shared by all interfaces that use heuristics. The panelists discuss how these have been addressed in existing systems. • What are the general advantages of heuristic methods? • They can save the user time since the user does not have to specify all the low-level details. •

They can be easier to learn since the system does part of the work.

• What are the general disadvantages of heuristic methods? • They can perform an incorrect action which might not be noticed by the user. •

The user might not understand why the system did a different action or how to get the desired action to occur.



The users might have the feeling that the system was unpredictable and that they no longer are in control.

• What can be done to overcome these problems? • How can you let the user control the heuristics? For example, can the users control which heuristics are applied? Can they set parameters of the heuristics? Can they enter entirely new heuristics? Does providing this control alleviate the problem of not feeling in control of the system? • What are some examples of systems where heuristic methods been successful and unsuccessful?

• What characterizes a situation in which a heuristic method is appropriate for a user interface? • How should the system provide feedback so the user knows what the system is planning to do? • What is the tradeoff between too much feedback (slowing the user down) and the user not knowing what is happening? For example, the smart-sum command in Excel requires the user to click to confirm the range of cells to be summed, but 1-2-3 just executes the command without confirmation. • What is the tradeoff between using conventional direct manipulation and heuristic methods? Any heuristic system can be turned into a direct manipulation system where all of the choices the system chooses from are directly provided to the user. When are there too many choices so that this is inappropriate? If there are only a few choices, is it sometimes still better to let the system guess? • Are there any basic principles that can guide the design of future heuristic interfaces, or do they all need to be ad-hoc and refined through user testing? POSITION STATEMENTS Brad A. Myers I believe that the number of systems using heuristics in user interfaces is about to explode. Each new version of consumer software adds new features and new commands, and therefore becomes increasingly complex. The result is that, even in the best direct manipulation interfaces, users are sometimes not able to find the commands they need to perform their tasks. The use of intelligent interfaces to help guide the user and automate parts of the tasks is increasingly necessary. Even if some aspects of what the computer does are not exactly what the user would want, it is usually good enough, and far better than if the user had not been able to perform the task at all because the conventional interface was too hard to learn or use! One particular style of heuristic interfaces that I believe will be increasingly important is demonstrational interfaces [3]. In these, the user gives examples of the desired operations, and the system generalizes from the examples to create a program. For instance, when designing a new kind of graphical menu, the user will give examples of the strings to be displayed, but the resulting menu will work for any list of strings. Significant research has shown that demonstrational interfaces can be successful, and the benefit substantially outweighs the problems. As always with heuristic techniques, the key user interface issue is feedback to the user. Demonstrational interfaces are surveyed in a recent book [1] and were discussed at a CHI’91 panel [2]. Richard Wolf I believe that heuristics have played an important role in improving user interface design in a number of present day commercial products and I believe the use of heuristics will increase in the near future.

In my opinion, heuristic techniques can actually increase the overall predictability of a user interface. If one examines predictability from a vantage point a bit removed from the immediate mechanics of the user interface, it is apparent that for the majority of users, many higher level tasks are not predictable even though the low level mechanics of the user interface are extremely predictable. For example, modern spreadsheet products allow the user to format a spreadsheet by setting the typeface, point size, cell borders, color, and shading. However, most users do not know how to harness the variety of commands required to produce spreadsheets that are aesthetically pleasing and effective at communicating numerical data. When shown an example of an attractive spreadsheet, many users do not even know how to reproduce it. If they are not shown an example but must begin from scratch, even experienced spreadsheet users typically do not know how to structure their spreadsheets to produce attractive results. The net effect is extremely frustrating for users, who know that they possess a tool that can deliver the results they desire, but do not know how to make it happen. An effective solution to this problem employs heuristics to parse spreadsheet data, determining which rows and columns are labels, partial aggregates (e.g., sub-totals), and final aggregates. This heuristic approach then applies font and cell border attributes to the constituent parts of the spreadsheet according to a set of predetermined formats designed by graphic artists. A similar approach has been applied to graphing spreadsheet data, where many users do not understand how to form the correspondence between their spreadsheet data and the relevant portions of a data chart, such as legend labels, x and y axis labels, and data series. The above examples employ heuristics to accomplish high level tasks that users might not know how to do. Heuristics are also useful as short-cuts for actions that users are capable of accomplishing. Examples include automatic summing of spreadsheet columns and automatic filling of spreadsheet ranges. The obvious downside of employing heuristics is the risk of decreased predictability, but there are other less obvious detrimental side effects. Heuristics introduce additional user testing costs to determine whether the heuristics are sufficiently predictable to users and to tune the heuristic or its presentation. In addition, heuristics also introduce additional documentation and quality assurance costs. Although heuristic techniques do not require that typical users understand the details of the algorithms employed, they must nonetheless be specified in sufficient detail to allow testing and adequate user documentation. Kathy Potosnak When employing heuristics in software applications, the most important consideration is user control. Users should be able to control when the program makes inferences. They should be able to display the effects of the heuristics (e.g., via visual feedback). They should be able to undo the

effects of the heuristics. In many cases users should be given control over programmatic inferencing by setting parameters within which the heuristics operate. In particular cases it is also desirable for users to be able to query the inference mechanism or knowledge base to get an explanation of the system’s behavior. One drawback to the use of heuristics is that when the software ‘‘guesses’’ incorrectly users can be frustrated. Making the guesses visible to the user, allowing actions to be undone, and letting users set the parameters of the automatic inference can reduce this disadvantage. In some cases, it is necessary to show the user what the effect will be in advance of the rules being applied. User control was a primary consideration in the design of Aldus IntelliDraw, a constraint-based drawing product for PCs and Macintoshes. IntelliDraw uses heuristics in many ways to give users greater precision and flexibility in aligning, distributing, constraining, and connecting objects. An auto-align feature allows the user to visually see the alignments that the system guesses while dragging an object in the proximity of other objects. Another command, ‘‘Keep Aligned,’’ can be used to make an alignment choice permanent. Users can ‘‘Match’’ the width, height, size (both height and width), and angle of objects to constrain the attributes of the selected objects. The ‘‘Suggest Alignment’’ command lets the user choose from among the potential alignments that the software detects for the selected objects. Distributing objects is done in a dialog box with proxy objects showing the results of various distribution choices before the command is applied to the objects the user has drawn. Since IntelliDraw has multiple levels of Undo as well as multiple levels of Redo, the negative effects of wrong guesses on the part of the software are minimized. Other features of the product that allow the user to maintain control while the software assists with heuristics include the ability to make suggested alignments temporary or permanent, visual examples of the effects of the alignment and distribution choices, and control over the proximity variable that activates the rulebase. The most complex functions are accessible via a ‘‘Show Links’’ window. From here the user can change the directionality of constraints, the effects of copying and deleting an object on its associated links, and many other attributes. The value of heuristics in this drawing product is that they streamline some of the processes that users normally create workarounds to achieve. For example, many designers learn to use a surrogate object (e.g., a line segment) as a guideline for aligning a set of objects and afterwards they delete the guideline object. IntelliDraw allows a user to align objects with each other without an intervening step of creating a guideline. Such alignment is faster since it operates on all of the selected objects at once, whereas without heuristics, the user must align each object to the guideline separately. Another benefit is that users are no longer constrained by the precision of the display device, since the constraints are based on attributes of the objects

rather than locations on the screen display. Finally, the use of heuristics in IntelliDraw extends the functionality of guides. For example, almost any object, including a single point, can be used for alignment of other objects.

formed well with these features, and liked them. Furthermore, after these features were released, they were acclaimed by users and reviewers as major additions to worksheet usability.

Other Aldus products that employ heuristics are TrapWise, an automated trapping product, and FreeHand, an illustration package. Trapping is a technique used to ensure that colors which should abut in a multi-color print job do not have gaps between them due to misalignment on the printing press or paper distortion during the printing process. Trapwise allows users to set the trapping parameters of various zones on the page and automatically creates the traps based on heuristics. Automatic trapping allows users to produce much more complex artwork that can be printed with higher quality than was possible with more traditional trapping methods. FreeHand uses heuristics in its AutoSpread function, which is a partial trapping solution. During the design of both products, the ability of users to control the application of the heuristics was a primary consideration. In the case of TrapWise, the user control issue guided a good deal of the user interface design. With FreeHand, customer input was used to determine the default setting (i.e., activated or deactivated) of the AutoSpread function.

When used correctly, heuristics can greatly simplify and yet increase the power of the user interface by interpreting the current context to allow a single user action to cause a result that would otherwise have required more effort to perform using more elementary actions.

Chris Graham Microsoft Excel includes features based on heuristics including AutoSum, AutoFill and AutoFormat. AutoSum is implemented as a toolbar button. When pressed with a range selected it automatically determines what numbers in the range the user would want summed and inserts sum formulas. AutoFill automatically fills a single or multi-cell selection into an extension of the selection as a series based on a complex set of rules. The rules handle single or multiple cell selections that contain a wide range of data types such as numbers, dates, strings and mixtures of these data types. AutoFormat automatically applies a user-chosen table style to a selected worksheet range by heuristically determining and formatting components such as titles, subtotals and totals based on an analysis of the table. These features were introduced as part of the ongoing effort to enhance the usability of Microsoft Excel. This might seem to contradict the common wisdom that heuristics in user interface design detract from usability because they make the interface less predictable. However, extensive usability testing prior to release confirmed that users per-

Successful use of a heuristic requires that: 1. A majority of users would predict the same result of an action performed in a given context. 2. An algorithm can be developed which interprets the context and produces the result most users expect. 3. In cases where the algorithm does not do what a user requires, it should still give a result that is interpreted as reasonable, and the result must not be harmful. 4. It should be undoable. 5. The user can discover ways to override the default behavior when necessary. Usability testing shows the heuristics in Excel to be predictable, i.e., they do what users expect them to do. Therefore heuristics aren’t bad. But they are a very powerful user interface tool that takes a lot of skill to design well. REFERENCES 1. Allen Cypher, Daniel C. Halbert, David Kurlander, Henry Lieberman, David Maulsby, Brad A. Myers and Alan Turransky (Ed.) Watch What I Do: Programming by Demonstration. MIT Press, Cambridge, MA, 1993. 2. Brad A. Myers, Allen Cypher, David Maulsby, David C. Smith, and Ben Shneiderman. Demonstrational Interfaces: Coming Soon? Human Factors in Computing Systems, Proceedings SIGCHI’91, New Orleans, LA, April, 1991, pp. 393-396. 3. Brad A. Myers. "Demonstrational Interfaces: A Step Beyond Direct Manipulation". IEEE Computer 25, 8 (August 1992), 61-73. 4. Joseph W. Sullivan and Sherman W. Tyler (Ed.) Intelligent User Interfaces. ACM Press, New York, 1991.

Suggest Documents