John R. Dance, Tamar E. Granor,
Ralph D. Hill, Scott E. Hudson, Jon Meads,
Brad A. Myers, Andrew Schulert
I. Introduction
This group was concerned with the run-time support provided by a UIMS, as opposed to design, analysis, evaluation or other support. In particular, we were concerned with the demands placed on a dialogue manager by user interfaces that require a high level of semantic feedback.
Traditionally, dialogue managers have attempted a strong separation of the seman component and the user interface component. The assumption was that these were relatively independent, and that separating them would lead to the benefits of modular programming; each component could be developed and changed independently of the other, multiple interfaces could be provided to the same application, consistent interface styles could be developed, and so on.
Unfortunately, this has not worked in practice. One important reason is that many user interfaces, especially direct-manipulation interfaces [9,17], require that semantic information be used extensively for controlling feedback, generating default values and error checking and recovery. For example, when using the Apple Macintosh, an icon may be dragged around with the mouse. When it is over other icons that can operate on it, such as the trash can, the operator icons are displayed in reverse video. This requires that semantic feedback (derived from the types of the icons) be provided while the mouse is tracking.
In general, the traditional breakdown of feedback into lexical, syntactic and semantic feedback does not adequately describe the variety of types of feedback currently in use. In fact, feedback is best classified as a continuum based on the amount of application semantic knowledge that is required. Myers [14] gives the example of mouse tracking to illustrate this. From less knowledge required to more knowledge required, the cursor can do the following: (1) directly follow the mouse, (2) follow the mouse, but move more per increment when the mouse is moving faster, (3) echo only at fixed grid points, where the application sets the grid spacing, (4) echo only at legal character positions in a text editor with a fixed width font, (5) echo only at legal character positions in a text editor with a variable width font, and (6) echo only at legal and ``good'' moves in a game (such as Go or chess).
In general, semantic information is needed frequently to support feedback. It is also needed to provide meaningful default values for parameters to commands and to allow error checking and appropriate responses. Clearly, all dialogue managers have had to allow the user interface to change in response to semantic processing. However, because of the previous emphasis on separation of the application and the user interface, the communication between the two components has been too narrow and too slow to support rapid feedback. What is needed is ``fine grain control'' [13] rather than the ``coarse grain control'' provided by most existing dialogue managers. The problem is how to provide this without giving up the advantages that were realized in separating these components in the first place.
4. Research issues
This section discusses research questions that the working group felt were important. These are mostly orthogonal to the issues discussed in the above sections.
4.1 Concurrency
Concurrency is necessary to allow multiple input devices to be operating at the same time. This is different from allowing multiple input devices to be available at the same time, which just means that the user can choose which device to use. Dialogue managers that support multiple concurrent input devices include Sassafras [7], Adagio's Switchboard [20] and Peridot [12].
The advantage of allowing concurrent access to multiple input devices is that it makes some interactions more natural and efficient. Experiments have demonstrated that users can easily and naturally use two hands at the same time and in doing so, will perform some tasks faster, more efficiently and with less learning time than with conventional one-handed interfaces [1]. Examples of this kind of concurrency are (1) setting the position of a graphical object with one hand while controlling its size with the other hand, and (2) selecting words in a document with a mouse while using the other hand to control scrolling using a touch tablet [1]. Although these interfaces can be implemented in systems without concurrency by alternately sampling the two devices, such systems make it more difficult to define a modular run-time structuring of the user interface.
A disadvantage to providing concurrency is the performance penalty that must be paid if there is inadequate operating system support. Also, concurrent programs are significantly more difficult to debug. This is especially true if the application program must also be concurrent and/or deal with the concurrency of the interface.
4.2 Multiprocessing and network issues
An important question is how a UIMS architecture is affected by the need to support distributed applications. For instance, one might identify four levels of interprocess communication, with progressively slower bandwidth: processes sharing address space, processes with disjoint address spaces, processes separated by a local area network and processes separated by a wide area network.
Smooth feedback requires a responsiveness in the order of a tenth of a second. We therefore suspect that the dialogue manager and semantic support component must be connected by a local area network or reside on the same machine. The connection between the semantic support component and application is less critical in many (but not all) applications. However a ``distant'' application must have some way to export semantics to those dialogue manager facilities which are close to the user and able to support direct manipulation.
Predicting the performance requirements of these links, providing user-interface design guidelines for reducing the dependencies on these links and making the most of the available links are important research questions. Also, the capabilities required to export semantics from a ``distant'' application to a dialogue manager supporting direct manipulation remain to be determined.
4.3 Role of object-oriented programming
A very promising model for how dialogue managers should be built is based on object-oriented programming. Systems using this new style include GWUIMS [18] and MacApp [15]. The advantages of this approach are that the inheritance properties of objects makes it easy to provide specialization and slight modifications on existing and supplied interaction techniques as well as higher level structures. Whereas object-oriented programming makes it much easier to program user interfaces, it is still a programming technique, and dialogue managers can do more to help create user interfaces than just providing a programming framework. Therefore, the research in this area is investigating how object-oriented programming fits into dialogue managers, how the objects should be structured to handle user interfaces (for example, the model-view-controller structure of Smalltalk) and how object-oriented programming affects the dialogue manager model.
4.4 Support for evaluation of user interfaces
Clearly, the run-time part of the dialogue manager should be saving information that the post-processors can evaluate the interface. This information might also be used to enable UNDO and REDO facilities and macro construction.
The real challenge is not to record this information, but instead to aid in its evaluation. The manual process of reviewing and evaluating recorded user sessions can be quite tedious and time consuming. The dialogue manager could help by adding semantic information to the recorded session, such as what tasks or application commands were being invoked by the lexical actions recorded. This would allow the user-interface evaluator to quickly look at a cross section of users performing a particular task and concentrate on trouble spots in the interface. The dialogue manager might also keep basic statistics on the number of times facilities such as Help, Cancel or Undo were invoked before, during and after particular tasks or commands. This could provide a rough guide to quickly isolating trouble spots in the interface.
4.5 Support for sequencing
Direct-manipulation interfaces tend to have much less syntax and fewer ordering constraints than textual interfaces. However, there are still some situations where sequencing is important and necessary. For example, often one menu selection will cause a different menu to appear. It would be useful to have a tool to help with this kind of ordering.
Typically, transition diagrams have been used in this area. But they do not handle concurrency and seem inappropriate for interfaces where semantics plays a big part in determining what comes next. Hill's event-driven system [7] and GUIDE [3] are other approaches, but more work needs to be done.
6. References
[1] Buxton, W. and Myers B.A. A study in two-handed input. In Proceedings CHI'86 Conference on Human Factors in Computing Systems (Boston, April 1317, 1986), ACM, New York, 321326.
[2] Status report of the Graphics Standards Planning Committee. Computer Graphics 13, 3, (August 1979), entire issue.
[3] Granor, T.E. A User Interface Management System Generator. Technical Report MSCIS8642, GRAPHICS LAB 12, Computer Science Dept., University of Pennsylvania, 1986.
[4] Green, M. Report on dialogue specification tools. In User Interface Management Systems, Pfaff, G.E., ed., Springer-Verlag, 1985, 920.
[5] Green, M. The University of Alberta user interface management system, Proceedings of SIGGRAPH'85 (San Francisco, Calif., July 2226, 1985). In Computer Graphics 19, 3 (July 1985), 205213.
[6] Hayes, P.J. and Szekely, P.A. Graceful interaction through the COUSIN command interface. International Journal of Man-Machine Studies 19, 3, (September 1983), 285305.
[7] Hill, R.D. Supporting concurrency, communication and synchronization in human-computer interaction — the Sassafras UIMS. To appear in ACM Transactions on Graphics, 1987.
[8] Hudson, S.E. A User Interface Management System Which Supports Direct Manipulation. PhD thesis, University of Colorado, Boulder, Colorado, August 1986.
[9] Hutchins, E.L., Hollan, J.D. and Norman, D.A. Direct manipulation interfaces. In User centered system design, Norman, D.A. and Draper, S.W. (eds.), Lawrence Erlbaum Associates, Hillsdale, NJ, 1986, 87124.
[10] Lantz, K.A. et al. Reference models, window systems, and concurrency. In this issue, Computer Graphics 21, 2 (April 1987).
[11] Lipscomb, J., Pique, M., Brooks, F.P., and Wright, W.V. The GRIP75 man-machine interface [videotape]. SIGGRAPH Video Review 4. (1981), ACM, New York.
[12] Myers, B.A. and Buxton, W. Creating Highly Interactive and Graphical User Interfaces by Demonstration, Proceedings of SIGGRAPH'86 (Dallas, Texas, August 1822, 1986). In Computer Graphics 20, 4 (August 1986), 249258.
[13] Myers, B.A. Creating dynamic interaction techniques by demonstration. To appear in Proceedings of CHI+GI'87 (Toronto, April 59, 1987), ACM, New York.
[14] Myers, B.A. The issue of feedback. In preparation.
[15] Schmucker, K.J. MacApp: An Application Framework, Byte, (August 1986), 189192.
[16] Schulert, A.J., Rogers, G.T. and Hamilton, J.A. ADM—A dialog manager. In Proceedings CHI'85 Human Factors in Computing Systems (San Francisco, April 1418, 1985), ACM, New York, 177183.
[17] Shneiderman, B. Direct manipulation: a step beyond programming languages, IEEE Computer 16, 8 (1983), 5769.
[18] Sibert, J.L., Hurley, W.D. and Bleser, T.W. An Object-Oriented User Interface Management System, Proceedings of SIGGRAPH'86 (Dallas, Texas, August 1822, 1986). In Computer Graphics 20, 4 (August 1986), 259268.
[19] Sisson, N. Dialogue Management Reference Model. SIGCHI Bulletin 18, 2, (October 1986), 3435.
[20] Tanner, P.P., MacKay, S.A., Stewart, D.A. and Wein, M. A Multitasking Switchboard Approach to User Interface Management, Proceedings of SIGGRAPH'86 (Dallas, Texas, August 1822, 1986). In Computer Graphics 20, 4 (August 1986), 241248.