################################################ # # # ## ## ###### ####### ## ## ## ## ## # # ## ## ## ## ## ### ## ## ## ## # # ## ## ## ## #### ## ## ## ## # # ## ## ###### ###### ## ## ## ## ### # # ## ## ## ## ## #### ## ## ## # # ## ## ## ## ## ## ### ## ## ## # # ####### ###### ####### ## ## ## ## ## # # # ################################################ The following paper was originally presented at the Third Annual Tcl/Tk Workshop Toronto, Ontario, Canada, July 1995 sponsored by Unisys, Inc. and USENIX Association It was published by USENIX Association in the 1995 Tcl/Tk Workshop Proceedings. For more information about USENIX Association contact: 1. Phone: 510 528-8649 2. FAX: 510 548-5738 3. Email: office@usenix.org 4. WWW URL: https://www.usenix.org ^L PLUG-IN: Using Tcl/Tk for Plan-Based User Guidance Frank Lonczewski Institut fuer Informatik Technische Universitaet Muenchen D-80290 Muenchen, Germany lonczews@informatik.tu-muenchen.de https://www2.informatik.tu-muenchen.de/persons/lonczews/fralo.html Abstract PLUG-IN (PLan-Based User Guidance for Intelligent Navigation) is a user guidance component supporting the user of interactive applications. It generates dynamical on-line help pages and animation sequences on the fly. On the dynamical help pages textual help for the user is displayed whereas the animation sequences are used to show how the user can interact with the application. In our presentation we demonstrate the given user support by looking at the user interface of an ISDN telephone application and discuss the underlying Tcl/Tk concepts of PLUG-IN. Keywords: Intelligent User Interfaces, User Guidance, Model-Based Interface Design, On-line Help Systems 1 Introduction In the project "Generierung intelligenter Bedienoberflaechen" (GIB) [this work is supported by Siemens Corporate Research and Development, Department of Systems Ergonomics and Interaction (ZFE ST SN 51), Munich, Germany.] we investigate how the time-consuming development process for the construction of user interfaces can be reduced by generating it automatically out of a declarative description (model) of the properties of an interactive application. Some advantages of this model-based approach [Fol91, Sze92, Jan93, Suk93, Bod93, Bal93, Sch94] are: -- by using alternative layout rules formulated on basis of a styleguide [OSF91, SUN89], different user interfaces can be generated without modifying the description of the application -- the styleguide-confirmity of the set of user interfaces that can be generated is ensured -- with a layout-independent description of the tasks that the user can solve with the interactive application, a user guidance component can be generated automatically by analyzing the model and the tasks of the application 2 Plan-Based User Guidance The user guidance component supports the user while working with the application by determining the current tasks of the user. If a task is recognized, a way is searched to solve it, and if such a way can be found, the user guidance component can help the user by: -- generating dynamical textual on-line help that describes how the given task can be accomplished -- generating an animation sequence that simulates the necessary user interactions to accomplish the given task PLUG-IN is a user guidance component that is based on the above described method. It uses Tcl/Tk concepts to: -- visualize a set of State Transition Diagrams (STDs) describing the states of the application and the actions the user can perform in the different states (denoted by directed arcs). As an example a STD for the ISDN telephone application is shown in figure 1 [figure 1] -- communicate with the interactive application. By using the "send"-mechanism of Tcl/Tk it is possible for PLUG-IN to obtain information about the current state of the application and the used interaction objects of the application's user interface -- generate the dynamical on-line help pages and animation sequences -- simulate the generated animation sequences on the user interface. For this purpose the extended Tcl/Tk interpreter AniSh (Animation Shell) is used. With the set of AniSh-specific commands it is possible to simulate and visualize user interactions in a graphical windowing environment like the X Window System. In contrast to other approaches to user guidance [Feh93, Mor94, Thi94], PLUG-IN generates dynamical on-line help pages based on the STDs in HTML-format that can be inspected with a WWW browser like tkWWW or NCSA Mosaic. Each dynamical on-line help page is typically divided into four regions and contains: -- information about the current state of the application from the user's point of view -- information about the set of possible actions the user can perform in the current state -- for each of the possible actions: information about the necessary user interactions to perform the action. If the user selects the button with the light bulb icon beneath the displayed text (see example below), PLUG-IN simulates the described interactions on the user interface with an animation sequence and generates a new on-line help page afterwards. -- information about further documentation material, e.g. references to a hypertext version of the user manual of the application As all operations the user can perform on the original user interface can also be triggered through the WWW browser, it can be regarded as an alternative user interface of the application. In contrast to the original user interface the goal of the WWW-based user interface is to guide the user during the work with the application. The information displayed helps the user to accomplish a given task. Furthermore, the user can learn how to interact with the original user interface through the means of the simulation capabilities of PLUG-IN. 3 An Example: Guiding the User of an ISDN Telephone Application In our presentation we look at the user interface of an ISDN telephone application (see left side of figure 2) [Sie92] generated with our model-based BOSS-system [Sch94]. [figure2] Depending on the current state of the application (in figure 1 this is the highlighted state "NoConnection" of the STD), PLUG-IN generates different on-line help pages. The generated on-line help page corresponding to the current state of the ISDN phone shown in figure 1 is displayed on the right side of figure 2. If the user selects the light bulb icon on the page, the described user interactions are simulated on the user interface. In this example PLUG-IN first changes the shape of the mouse pointer to provide visual feedback for the user, then moves the mouse pointer to the handset button on the user interface and finally selects the button by simulating a click with the left mouse button. In the demonstration we will show how the user solves a complex task (e.g. establishes a conference while using the phone) with the dynamic support provided by PLUG-IN. References [Bal93] H. Balzert: "Der JANUS-Dialogexperte: Vom Fachkonzept zur Dialogstruktur", in Softwaretechnik 93, 13(3), 1993 [Bod93] F. Bodard, A. Hennebert, J.M. Leheureux, I. Sacre & J. Vanderdonckt: "Architecture Elements for Highly-Interactive Business-Oriented Applications", in EWHCI 93 Proceedings, eds: L. Bass, J. Gornostaev & C. Unger, Springer LNCS 753 [Feh93] T. Fehrle, K. Kloeckner, V. Schoelles, F. Berger, M. Thies & W. Wahlster: "PLUS - Plan-based User Support", DFKI-Report RR-93-15, 1993 [Fol91] J. Foley, W. Kim, S. Kovacevic & K. Murray: "UIDE - An intelligent User Interface Design Environment", in Intelligent User Interfaces, Addison-Wesley, 1991, pp. 339-384 [Jan93] C. Janssen, A. Weisbecker & J. Ziegler: "Generating User Interfaces from Data Models and Dialogue Net Specifications", in ACM Interchi 93 Proceedings, ACM, 1993, pp. 418-423 [Mor94] R. Moriyon: "Automatic Generation of Help from Interface Design Models", in ACM CHI 94 Proceedings, ACM, 1994 [OSF91] Open Software Foundation: "OSF/Motif Style Guide Release 1.1", Prentice-Hall, 1991 [Sch94] S. Schreiber: "The BOSS-System: Coupling Visual Programming with Model-Based Interface Design", in Proceedings Eurographics Workshop Design, Specification, Verification of Interactive Systems, F. Paterno, editor, Eurographics Association, 1994 [Sie92] Siemens AG: "Telefon Bedienungsanleitung Hicom Standard 300", Muenchen, 1992 [Suk93] P. Sukaviriya, J. Foley & T. Griffith: "A Second Generation User Interface Design Environment: The Model and the Runtime Architecture", in ACM Interchi 93 Proceedings, ACM, 1993, pp. 375-382 [SUN89] Sun Microsystems Inc.: "Open Look, Graphical User Interface, Application Style Guidelines", Addison-Wesley, Reading, 1989 [Sze92] P. Szekely, P. Luo & R. Neches: "Faciliating the Exploration of Interface Design Alternatives: The HUMANOID Model of Interface Design", in ACM CHI 92 Proceedings, ACM, 1992, pp. 507-515 [Thi94] M. Thies: "Planbasierte Hilfeverfahren fuer direktmanipulative Systeme", Infix, DISKI 67, Universitaet Stuttgart, 1994