TL;DR: A.A. Norman, Cognitive Engineering, Psychological Issues in Support of Multiple Activities, and D.W. diSessa, Notes on the Future of Programming: Breaking the Utility Barrier.
Abstract: Contents: S.W. Draper, D.A. Norman, C. Lewis, Introduction. Part I:User Centered System Design. K. Hooper, Architectural Design: An Analogy. L.J. Bannon, Issues in Design: Some Notes. D.A. Norman, Cognitive Engineering. Part II:The Interface Experience. B.K. Laurel, Interface as Mimesis. E.L. Hutchins, J.D. Hollan, D.A. NormanDirect Manipulation Interfaces. A.A. diSessa, Notes on the Future of Programming: Breaking the Utility Barrier. Part III:Users' Understandings. M.S. Riley, User Understanding. C. Lewis, Understanding What's Happening in System Interactions. D. Owen, Naive Theories of Computation. A.A. diSessa, Models of Computation. W. Mark, Knowledge-Based Interface Design. Part IV:User Activities. A. Cypher, The Structure of Users' Activities. Y. Miyata, D.A. Norman, Psychological Issues in Support of Multiple Activities. R. Reichman, Communication Paradigms for a Window System. Part V:Toward a Pragmatics of Human-Machine Communication. W. Buxton, There's More to Interaction Than Meets the Eye: Some Issues in Manual Input. S.W. Draper, Display Managers as the Basis for User-Machine Communication. Part VI:Information Flow. D. Owen, Answers First, Then Questions. C.E. O'Malley, Helping Users Help Themselves. L.J. Bannon, Helping Users Help Each Other. C. Lewis, D.A. Norman, Designing for Error. L.J. Bannon, Computer-Mediated Communication. Part VII:The Context of Computing. J.S. Brown, From Cognitive to Social Ergonomics and Beyond.
TL;DR: APT as discussed by the authors is an application-independent presentation tool that automatically designs effective graphical presentations (such as bar charts, scatter plots, and connected graphs) of relational information, based on the view that graphical presentations are sentences of graphical languages.
Abstract: The goal of the research described in this paper is to develop an application-independent presentation tool that automatically designs effective graphical presentations (such as bar charts, scatter plots, and connected graphs) of relational information. Two problems are raised by this goal: The codification of graphic design criteria in a form that can be used by the presentation tool, and the generation of a wide variety of designs so that the presentation tool can accommodate a wide variety of information. The approach described in this paper is based on the view that graphical presentations are sentences of graphical languages. The graphic design issues are codified as expressiveness and effectiveness criteria for graphical languages. Expressiveness criteria determine whether a graphical language can express the desired information. Effectiveness criteria determine whether a graphical language exploits the capabilities of the output medium and the human visual system. A wide variety of designs can be systematically generated by using a composition algebra that composes a small set of primitive graphical languages. Artificial intelligence techniques are used to implement a prototype presentation tool called APT (A Presentation Tool), which is based on the composition algebra and the graphic design criteria.
TL;DR: In this article, a user interface is represented on the display screen in the form of metaphoric objects called icons, with which the user can interact by changing the input focus to a designated object by visually pointed to it via the input means, which thereafter permits manipulation of the designated object or interaction with data input/output relative to the designated objects.
Abstract: A multiprocessor system comprises concurrent display of video data reflecting the operation of two processors in discrete portions of a single display screen with a user interface adapted for interaction with both processors. One processor controls the entire display while allocating a portion of the display screen for the use of the other processor which processor emulates a target processor system, for example, the IBM PC. A user interface is represented on the display screen in the form of metaphoric objects, called icons, with which the user can interact by changing the input focus to a designated object by visually pointed to it via the input means, which thereafter permits manipulation of the designated object or interaction with data input/output relative to the designated object. This input means is also used to initially change the input focus to either the allocated emulating processor screen portion or to the remaining portion of the central processor display screen prior to interaction with the metaphoric objects in a selected screen portion, the change of the input focus causing subsequent user input via the input means to be directed to the selected screen portion until interrupted by a change in focus input to the other of the screen portions by the user via the input means. An icon may be a representation of a virtual object, such as a virtual floppy disk, that is accessible in either the host system world or in the emulating processor world even through the virtual floppy disk may have a filing system alien to the host system world.
TL;DR: This paper introduces a specification technique for direct-manipulation interfaces, in which each locus of dialogue is described as a separate object with a single-thread state diagram, which can be suspended and resumed, but retains state.
Abstract: A direct-manipulation user interface presents a set of visual representations on a display and a repertoire of manipulations that can be performed on any of them. Such representations might include screen buttons, scroll bars, spreadsheet cells, or flowchart boxes. Interaction techniques of this kind were first seen in interactive graphics systems; they are now proving effective in user interfaces for applications that are not inherently graphical. Although they are often easy to learn and use, these interfaces are also typically difficult to specify and program clearly.Examination of direct-manipulation interfaces reveals that they have a coroutine-like structure and, despite their surface appearance, a peculiar, highly moded dialogue. This paper introduces a specification technique for direct-manipulation interfaces based on these observations. In it, each locus of dialogue is described as a separate object with a single-thread state diagram, which can be suspended and resumed, but retains state. The objects are then combined to define the overall user interface as a set of coroutines, rather than inappropriately as a single highly regular state transition diagram. An inheritance mechanism for the interaction objects is provided to avoid repetitiveness in the specifications. A prototype implementation of a user-interface management system based on this approach is described, and example specifications are given.
TL;DR: The paper attempts to provide a more systematic treatment of icon interfaces than has hitherto been made, and to create a classification which it is hoped will be of use to the dialogue designer.
Abstract: This paper is concerned with the use of icons in human-computer interaction (HCI). Icons are pictographic representations of data or processes within a computer system, which have been used to replace commands and menus as the means by which the computer supports a dialogue with the end-user. They have been applied principally to graphics-based interfaces to operating systems, networks and document-processing software. The paper attempts to provide a more systematic treatment of icon interfaces than has hitherto been made, and to create a classification which it is hoped will be of use to the dialogue designer. The characteristics, advantages and disadvantages of icon-based dialogues are described. Metaphors, design alternatives, display structures and implementation factors are discussed, and there is a summary of some icon design guidelines drawn from a variety of sources. Some mention is also made of attempts by researchers to measure the effectiveness of icon designs empirically.
TL;DR: In this paper, a menu item selection is performed in a personal computer system through the use of a mouse device which has means to allow the user to call up onto the display a header block which performs the function of the menu bar and to erase the header block from the screen when menu operations are not required.
Abstract: Menu item selection is performed in a personal computer system through the use of a mouse device which has means to allow the user to call up onto the display a header block which performs the function of the menu bar and to erase the header block from the screen when menu operations are not required. Multiple menu items can be selected during the same menu session by using a pair of mouse buttons to generate a sequence of selection commands which are utilized by unique system software to accumulate plural item selections without terminating the menu operation.
TL;DR: A User Interface Management System (UIMS) called MIKE that does not use the syntactic specifications found in most UIMSs is described, and it is shown how active pictures can be created by adding action expressions to the viewports of MIKE's windowing system.
Abstract: A User Interface Management System (UIMS) called MIKE that does not use the syntactic specifications found in most UIMSs is described. Instead, MIKE provides a default syntax that is automatically generated from the definition of the semantic commands that the interaction is to support. The default syntax is refined using an interface editor that allows modification of the presentation of the interface. It is shown how active pictures can be created by adding action expressions to the viewports of MIKE's windowing system. The implications of MIKE's command-based dialogue description are discussed in terms of extensible interfaces, device and dialogue-style independence, and system support functions.
TL;DR: The SNAP system as discussed by the authors provides interactive, graphics-based access to Schemas of the IFO database model, supporting the varied activities of schema design, schema browsing, and the specification of selection-type queries.
Abstract: The SNAP system provides interactive, graphics-based access to Schemas of the IFO database model, supporting the varied activities of schema design, schema browsing, and the specification of selection-type queries. The system uses a novel representation for Schemas and includes a variety of abstraction mechanisms which encourage users to design and view Schemas in a modular fashion. It also supports numerous capabilities for the simultaneous display of large amounts of information about the underlying schema, queries being specified, and answers to those queries. A prototype of the system which demonstrates the basic features of the user interface has been implemented.
TL;DR: User software engineering (USE) is a methodology supported by automated tools for the systematic development of interactive information systems The USE methodology gives particular attention to effective user involvement in the early stages of the software development process, concentrating on external design and the use of rapidly created and modified prototypes of the user interface as discussed by the authors.
Abstract: User software engineering (USE) is a methodology, supported by automated tools, for the systematic development of interactive information systems The USE methodology gives particular attention to effective user involvement in the early stages of the software development process, concentrating on external design and the use of rapidly created and modified prototypes of the user interface The USE methodology is supported by an integrated set of graphically based tools The USE methodology and the tools that support it are described
TL;DR: An image reviewing station for a picture archiving and communication system (PACS), having two functions of user interface and display of an image wherein base memory, image processor, and display memory architecture is used as mentioned in this paper.
Abstract: An image reviewing station for a picture archiving and communication system (PACS), having two functions of user interface and display of an image wherein base memory, image processor, and display memory architecture is used. The digitized image data at any size from any different modalities is stored in base memory in an original format, and read-out signals are processed appropriately in the image processor responsive to the command signals input by the user. The processed image data is then stored in a display memory before being supplied to a display via a digital-to-analog converter for the display. It provides the user with extensive, concise and easy interactive image manipulation and processing capabilities.
TL;DR: A description of the implementation of the GWUIMS is followed by a discussion of the future application of knowledge representation techniques and the evolution towards an intelligent assistant for the user interface designer.
Abstract: The George Washington User Interface Management System (GWUIMS) has been designed as a test bed for comparing user interface models, as a tool for rapidly prototyping highly interactive graphic user interfaces, and as a vehicle for investigating the applicability of knowledge-based technology to user interface design. The GWUIMS was designed and implemented using the object-oriented programming paradigm and consists of a variety of object classes representing different levels of abstraction, Responsibility for lexical, syntactic, and semantic levels of both input parsing and feedback are distributed throughout these classes. We include a description of the GWUIMS and a brief scenario to demonstrate its capabilities. A description of the implementation is followed by a discussion of the future application of knowledge representation techniques and the evolution towards an intelligent assistant for the user interface designer.
TL;DR: An object-oriented architecture for a computer-based, real-time, multimedia conferencing system that divides the system into five functional areas: a multimedia shared workspace, a user interface, conference management, communications, and an information base.
Abstract: We present an object-oriented architecture for a computer-based, real-time, multimedia conferencing system. This architecture divides the system into five functional areas: a multimedia shared workspace, a user interface, conference management, communications, and an information base. The structure and operation of the first four areas are modeled with object-based concepts that address design requirements identified during the development of a proof-of-concept prototype, that preceded the architecture specification.The shared workspace, the most important component, is thoroughly discussed; the other components support its realization. The modeling of workspace entities emphasizes their aggregation into composed entities and the homogeneous handling of several data media. The user interface manages uniformly the man-machine interaction for both local and remote user actions. Conference management deals with session establishment, participation, and control of multiple media floors. The communication functions replicate user actions over workspace objects in all hosts participating in a conference, matching traffic types with transmission services in the process.
TL;DR: An operational specification language is introduced that combines pattern driven input/output actions with simple relational operations and is embedded in a running example that illustrates the usefulness of the approach.
Abstract: We are building an application generation environment to provide user friendly means for rapid development of interactive information systems. The environment consists of two closely integrated subsystems: one for specifying the functionality of an application and the other for defining its user interfaces. This paper concentrates on the former and introduces an operational specification language that combines pattern driven input/output actions with simple relational operations. The description of the main concepts of the language is embedded in a running example that illustrates the usefulness of the approach.
TL;DR: In this article, the authors present knowledge supporting development of flexible design guidelines for user interface software, but does not justify imposition of standards, since effective application of guidelines will require a process of translation into system-specific design rules, and/or future incorporation into computer-based design algorithms.
Abstract: There are significant differences between designing hardware and software for the user interface to computer–based information systems. Formal standards may improve hardware design but may prove ineffective for aiding software design. Our present knowledge supports development of flexible design guidelines for user interface software, but does not justify imposition of standards. Effective application of guidelines will require a process of translation into system–specific design rules, and/or future incorporation into computer–based design algorithms.
TL;DR: To specify the evolution of structures and views by discrete time increments, as in animation, requires a extension to current constraint languages to allow expression of specifications of temporal behavior.
Abstract: Algorithm animation has an acknowledged and growing role in computer aided algorithm design, as well as in documentation and technology transfer, since the medium of interactive graphics is a broader, richer channel than text by which to communicate information Since an animation constitutes the interface between a user and an algorithm, a kit that facilitates the construction of such has all the basic elements of a User Interface Management System Constraint languages are useful in constructing such an interface construction kit, whereby consistency is maintained among the elements of a structure and among those of a view of that structure presented to the user But constraints specify only static state in current implementations To specify the evolution of structures and views by discrete time increments, as in animation, requires a extension to current constraint languages to allow expression of specifications of temporal behavior
TL;DR: A theory of the “cognitive layout” of information presented in multiple windows or screens is developed and it is hypothesized that the particular layout adopted by a user will drastically affect the user's understanding and expectation of events at the human-computer interface and could either greatly facilitate or frustrate the interaction.
Abstract: In order to make computers easier to use and more versatile many system designers are exploring the use of multiple windows on a single screen and multiple coordinated screens in a single work station displaying linked or related information. The designers of such systems attempt to take into account the characteristics of the human user and the structure of the tasks to be performed. Central to this design issue is the way in which the user views and cognitively processes information presented in the windows or in multiple screens. This paper develops a theory of the “cognitive layout” of information presented in multiple windows or screens. It is assumed that users adopt a cognitive representation or layout of the type of information to be presented and the relationships among the windows or screens and the information they contain. A number of cognitive layouts are derived from theories in cognitive psychology and are discussed in terms of the intent of the software driving the system and congruence with the cognitive processing of the information. It is hypothesized that the particular layout adopted by a user will drastically affect the user's understanding and expectation of events at the human-computer interface and could either greatly facilitate or frustrate the interaction. Ways of ensuring the former and avoiding the latter are discussed in terms of implementations on existing multiple-window and multiple-screen systems.
TL;DR: In this article, the authors use a model of distributed computation and measurement to implement a program monitoring system for programs running on the Berkeley UNIX 4.2BSD operating system, which describes the activities of the processes within a distributed program in terms of computation and communication.
Abstract: Writing and debugging distributed programs can be difficult. When a program is working, it can be difficult to achieve reasonable execution performance. A major cause of these difficulties is a lack of tools for the programmer. We use a model of distributed computation and measurement to implement a program monitoring system for programs running on the Berkeley UNIX 4.2BSD operating system. The model of distributed computation describes the activities of the processes within a distributed program in terms of computation (internal events) and communication (external events). The measurement model focuses on external events and separates the detection of external events, event record selection and data analysis. The implementation of the measurement tools involved changes to the Berkeley UNIX kernel, and the addition of daemon processes to allow the monitoring activity to take place across machine boundaries. A user interface has also been implemented.
TL;DR: In this article, a knowledge base processor is called by an application program to access knowledge base and to govern the execution or interpretation of knowledge base to find the values of selected objects or expressions defined in the knowledge base.
Abstract: A knowledge base processor is callable by an application program to access a knowledge base and to govern the execution or interpretation of the knowledge base to find the values of selected objects or expressions defined in the knowledge base. The application program is written in a conventional computer language which specifies control by the ordering of program steps. The application program provides a user interface for input/output and provides top level control for calling the knowledge base processor to find values for goal expressions. During its search for the values of goal expressions, the knowledge base processor calls the application program to determine values of expressions which are not concluded by the knowledge base, and to signal important events during the execution of the knowledge base. Preferably the knowledge base processor and the application program each include a library of subroutines which are linked-loaded to provide a complete knowledge system for a specific application or task. Therefore, the knowledge base processor provides the esential functions for symbolic reasoning, and establishes a framework for building the knowledge system which permits application program developers to exploit the best available conventional data processing capabilities. The application programmer is free to exercise his or her knowledge and skill regarding the use of conventional programming languages and their support facilities such as utility libraries, optimizing compliers and user interfaces.
TL;DR: The Sapphire window manager supports many important features, including flexible window refreshing, fullfunctionality subwindows, and optimized raster-op, that are not supported in most comparable systems.
TL;DR: It is argued that question-asking protocols shed light on what problems users experience in what context, what instructional information they come to need, what features of the system are harder to lean, and how users may come to understand or misunderstand the system.
Abstract: To make computer systems easier to use, we are in need of behavioral data which enable us to pinpoint what specific needs and problems users may have Recently, the “thinking-aloud protocol” method was adopted as a technique for studying user behaviours in interactive computer systems In the present paper, the “question-asking protocol” method is proposed as a viable alternative to the thinking-aloud method where the application of the latter is difficult or even inappropriate It is argued that question-asking protocols shed light on (1) what problems users experience in what context, (2) what instructional information they come to need, (3) what features of the system are harder to lean, and (4) how users may come to understand or misunderstand the system
TL;DR: The further development of a widely used package of DNA and protein sequence analysis programs for microcomputers is described, which now provides a screen oriented user interface, and an enhanced working environment with powerful formatting, disk access, and memory management tools.
Abstract: We describe the further development of a widely used package of DNA and protein sequence analysis programs for microcomputers (1,2,3). The package now provides a screen oriented user interface, and an enhanced working environment with powerful formatting, disk access, and memory management tools. The new GenBank floppy disk database is supported transparently to the user and a similar version of the NBRF protein database is provided. The programs can use sequence file annotation to automatically annotate printouts and translate or extract specified regions from sequences by name. The sequence comparison programs can now perform a 5000 X 5000 bp analysis in 12 minutes on an IBM PC. A program to locate potential protein coding regions in nucleic acids, a digitizer interface, and other additions are also described.
TL;DR: Peridot, a new User Interface Management System, addresses the problem of handling the mouse and other input devices by allowing the user interface designer to demonstrate how the input devices should be handled by giving an example of the interface in action.
Abstract: When creating highly-interactive, Direct Manipulation interfaces, one of the most difficult design and implementation tasks is handling the mouse and other input devices. Peridot, a new User Interface Management System, addresses this problem by allowing the user interface designer to demonstrate how the input devices should be handled by giving an example of the interface in action. The designer uses sample values for parameters, and the system automatically infers the general operation and creates the code. After an interaction is specified, it can immediately be executed and edited. This promotes extremely rapid prototyping since it is very easy to design, implement and modify mouse-based interfaces. Peridot also supports additional input devices such as touch tablets, as well as multiple input devices operating in parallel (such as one in each hand) in a natural, easy to specify manner. This is implemented using active values, which are like variables except that the objects that depend on active values are updated immediately whenever they change. Active values are a straightforward and efficient mechanism for implementing dynamic interactions.
TL;DR: This report looks at expert systems and the man–machine interface and considers the best ways of making use of the knowledge once it is in an expert system and cognitive aspects of the user interface.
Abstract: This is a two part report. It looks at expert systems and the man–machine interface (mmi). We use the term mmi in a fairly broad sense. Specifically, we interpret the ‘man’ half of the interaction in two very different ways. Firstly, we look at man in terms of the ‘expert’ and consider the problem of how to get his or her knowledge into an expert system. Part One of the report therefore looks at what is currently happening in the area of knowledge acquisition in Britain and asks whether it really is the major bottleneck in the production of expert systems.
Secondly, we look at man in terms of the ‘user’ and consider the best ways of making use of the knowledge once it is in an expert system. Part two of the report looks at cognitive aspects of the user interface, including dialogue control, explanation facilities, user models, natural language processing and the effects of new technology. It also considers the very important question of evaluation. Again we are concerned with what is actually happening in these areas in Britain today.
TL;DR: The relationship of these models to the type of user testing done and the strategies used for generating ideas is discussed, especially with respect to the implications for developing tools to support design.
Abstract: Twenty-two designers were interviewed about their design of interactive systems. They were asked to select a recent project having a significant user interface component, and were probed about the general design process involved, how the design of the user interface fit into that process, and their personal strategies for exploring ideas. Analysis of their responses pointed to two models of the design process. The relationship of these models to the type of user testing done and the strategies used for generating ideas is discussed, especially with respect to the implications for developing tools to support design.
TL;DR: SODOS (Software Documentation Support) as discussed by the authors is an object-oriented environment that supports the definition and manipulation of documents used in developing software and allows traceability through each phase of the life cycle.
Abstract: A description is given of a computerized environment, SODOS (Software Documentation Support), which supports the definition and manipulation of documents used in developing software. An object-oriented environment is used as a basis for the SODOS interface. SODOS is built around a software life-cycle model that structures all access to the documents stored in the environment. This model supports software documentation independently of any fixed methodology that the developers may be using. The main advantage of the system is that it permits traceability through each phase of the life cycle, thus facilitating the test and maintenance phases. The effort involved in learning and using SODOS is simplified by a sophisticated, user-friendly interface.
TL;DR: The hope for this panel is to increase designers' awareness of issues pertarning to the interface of systems used by physically handicapped indrviduals, and to help designers better understand the impact of how their decisions will inhibit or facilitate the use of their systems by handicapped users.
Abstract: The use of computers in the workplace has increased our opportunity to open new avenues of employment for handicapped people. However, the full potential of this opportunity is far from being realized. In fact, as Lawrence Scadden points out, some design decisions aimed at improving the interface for the non-disabled user are making those same systems less accessible to those that are handicapped. (" Direct Manipulation " interfaces, for example, present real problems of access for the visually impaired, compared to more traditional keyboard-based interaction.) Our hope for this panel is to increase designers' awareness of issues pertarning to the interface of systems used by physically handicapped indrviduals. We have four main objectives: Director Trace R &D Centre Waisman Center 1500 Highland Avenue Madison Wisconsin 1. To present a basic taxonomy of motor, sensory, and cognitive disabilities and how they affect performance. 2. To familiarize designers with what special interfacing devices are available to the handicapped user, and where these devices and information about them are available. 3. To present the case for a standard interface (hardware and software) for alternative devices on future computers, and to inform the CHI community about efforts in this direction being undertaken by the Department of Education. 4. To help designers better understand the impact of how their decisions will inhibit or facilitate the use of their systems by handicapped users. Within the context of the panel, it is clear that these issues can only be addressed at a very general level The best that we can hope for is to raise the general level of awareness of the issues, and provide pointers to more detailed sources There are two marn sections to the remainder of this written presentation First, we present some Introductory statements of position. Second, we provrde pointers to sources of additional literature and technologies. Innovations in interface technology have advanced to the level where even the most severely physically disabled person can now operate a computer. A few years ago, rehabilitation professionals were asking, " How could a disabled person control a computer? " , and " What could they do once they achieved control? ". Today, a multitude of specialized input systems enable disabled persons to access computers, and they can potentially engage in the same activities as everyone else and a few special applications such as augmentative communication. Now the key question is, " How can someone who …
TL;DR: Multiple design issues in creating successful menu selection systems include the primary issue of semantic organization and the host of secondary issues such as response time and display rates, shortcuts for frequent users, titles, phrasing of menu items, graphic layout, and selection mechanisms.
TL;DR: This paper describes a language called ALGAE, which allows the specification of multi-threaded, event driven dialogs, and describes a system for specifying a dialog control component in this language.
Abstract: The complexity and high development costs of user interfaces has led to research into the design of User Interface Management Systems (UIMSs). At the heart of a UIMS is a facility for specifying a dialog control component, which processes user actions and coordinates program responses. This paper describes a language called ALGAE, which allows the specification of multi-threaded, event driven dialogs.
TL;DR: The premise is that the authors can develop the interface to the point that it understands the user well enough to interpret his requests and commands, and illustrates the architecture for such an intelligent interface.
Abstract: IF PLANNING and decision aids are to meet expectations as force multipliers on the battlefield, something must be done to analyze, summarize, aggregate, and display their data in a manner which is consistent with the goal structure and cognitive characteristics of each individual user. Without this type of preprocessing, voluminous data will rapidly overload the processing ability of the human half of the human-machine system. It then becomes likely that an increasingly intelligent generation of support tools will be abandoned in favor of a less informed "seat of the pants" approach to meeting highly dynamic mission objectives. The range of variability of probable users of coordinated integrated battlefield databases is great. Not only do users exist with significantly different functional requirements (such as the commander, G-2, and G-3), but each user may require a different view of the data depending on his skills, experience, mental acuity (considering such factors as fatigue and morale), and accustomed problem-solving style. To these parameters must be added the influence of context; different classes of situation interact with user characteristics to yield variations in optimum data selection, prioritization, level of detail and resolution, "chunking," figure-ground relations, alarm thresholds, envelopes constraining exception processing, descriptive characterization of uncertainties, and choice of metaphor. Halpin [1], [2] and others [3] have proposed the creation of general purpose intelligent interfaces or intelligent assistants to facilitate the dialog between the user and complex systems. Fig. 1 illustrates the architecture for such an intelligent interface. Interposed between the user and the application software in a system, the intelligent interface consists of models or representations of the user, of the user's goals and tasks, and of the world (goal/task context) as well as the software to update those models dynamically and use the models to control information flow to and from the user. The premise is that we can develop the interface to the point that it understands the user well enough to interpret his requests and commands,
TL;DR: A Switchboard model of user input management is presented which takes advantage of opportunities afforded by a multitasking multiprocessor programming environment and provides powerful tools for implementing parallel forms of input.
Abstract: A Switchboard model of user input management is presented which takes advantage of opportunities afforded by a multitasking multiprocessor programming environment. This model further separates application programming from the programming of the interaction dialogues as compared with conventional user interface management systems. It also provides powerful tools for implementing parallel forms of input, is suitable for managing interaction in window-based systems, and is very flexible.The paper describes this Switchboard model and its implementation on top of the Harmony operating system, as well as discussing some of the graphics support needed for the model.