| Boolean Operations of 2-Manifolds through Vertex Neighborhood Classification | | BIB | 1-29 | |
| Martti Mantyla | |||
| An Experimental Evaluation of Computer Graphics Imagery | | BIB | 30-50 | |
| Gary W. Meyer; Holly E. Rushmeier; Michael F. Cohen; Donald P. Greenberg; Kenneth E. Torrance | |||
| Stochastic Sampling in Computer Graphics | | BIB | 51-72 | |
| Robert L. Cook | |||
| Guest Editor's Introduction: Special Issue on User Interface Software | | BIBA | 75-78 | |
| James Foley | |||
| Designing and implementing high-quality graphic user-computer interfaces has been a challenging, labor-intensive process: consequently, many contemporary interactive graphics systems lack the accoutrements required of easy-to-learn, fast-to-use interfaces. There are several reasons for the relative dearth of high-quality user interfaces. First, the computational resources of memory, processor cycles, and high bandwidth between computer and display that such interfaces require have until recently been too expensive. Furthermore, we are only beginning to understand what constitutes a good user interface and the management processes required to create such interfaces. Finally, and central to this special issue, there has been an insufficient software foundation upon which to build the interfaces. Too many wheels have had to be reinvented, so that the people resources remaining after the wheels were created have sufficed to build only bicycles and wagons, rather than motorcycles and cars. User interface software can eliminate the need to build yet another wheel, by providing higher level user interface abstractions for the applications programmer. | |||
| The X Window System | | BIBAK | 79-109 | |
| Robert W. Scheifler; Jim Gettys | |||
| An overview of the X Window System is presented, focusing on the system
substrate and the low-level facilities provided to build applications and to
manage the desktop. The system provides high-performance, high-level,
device-independent graphics. A hierarchy of resizable, overlapping windows
allows a wide variety of application and user interfaces to be built easily.
Network-transparent access to the display provides an important degree of
functional separation, without significantly affecting performance, which is
crucial to building applications for a distributed environment. To a
reasonable extent, desktop management can be custom-tailored to individual
environments, without modifying the base system and typically without affecting
applications. Keywords: Computer-communication networks, Network protocols, Protocol architecture,
Computer-communication networks, Distributed systems, Distributed applications,
Operating systems, Communication management, Network communication, Terminal
management, Models and principles, User/machine systems, Human factors,
Computer graphics, Graphics systems, Distributed/network graphics, Computer
graphics, Graphics utilities, Graphics packages, Software support, Computer
graphics, Methodology and techniques, Device independence, Interaction
techniques, Design, Experimentation, Human factors, Standardization, Virtual
terminals, Window managers, Window systems | |||
| Automating the Design of Graphical Presentations of Relational Information | | BIBAK | 110-141 | |
| Jock Mackinlay | |||
| 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. Keywords: Software engineering, Tools and techniques, User interfaces, Models and
principles, User/machine systems, Human information processing, Information
storage and retrieval, Systems and software, Artificial intelligence,
Applications and expert systems, Computer graphics, Methodology and techniques,
Device independence, Ergonomics, Algorithms, Design, Human factors, Languages,
Theory, Automatic generation, Composition algebra, Effectiveness,
Expressiveness, Graphic design, Information presentation, Presentation tool,
User interface | |||
| An Object-Oriented Approach to Graphical Interfaces | | BIBAK | 142-172 | |
| Paul S. Barth | |||
| An object-oriented system for building graphical interfaces to programs is
discussed. The system, called GROW, facilitates the process of creating
interfaces that are highly interactive (including direct manipulation and
animation), rich in layout structure, and effectively reusable across
applications. These properties are achieved through three techniques:
object-based graphics with taxonomic inheritance, interobject relationships
such as composition and graphical dependency, and separation of the interface
and application. Experience with interfaces for several applications has
provided insights on the effectiveness of these techniques. First,
object-oriented programming yields significant leverage on specializing and
reusing interfaces. Second, layout constraints (such as maintaining the
connectivity of a graph) can be managed with simple data dependencies among the
attributes of the graphical objects. Finally, separating the interface and
application is essential to reusing interface components. This paper describes
the techniques in detail, gives examples of interfaces built with GROW, and
summarizes experiences using GROW with a variety of applications. Keywords: Programming languages, Language classifications, Extensible languages,
Computer graphics, Graphics utilities, Software support, Computer graphics,
Methodology and techniques, Languages, Languages, Graphical constraints,
Graphical interfaces, Object-oriented graphics, Software reusability | |||
| Guest Editor's Introduction: Special Issue on User Interface Software | | BIBA | 176-178 | |
| James Foley | |||
| Designing and implementing high-quality graphic user-computer interfaces has been a challenging, labor-intensive process: consequently, many contemporary interactive graphics systems lack the accoutrements required of easy-to-learn, fast-to-use interfaces. There are several reasons for the relative dearth of high-quality user interfaces. First, the computational resources of memory, processor cycles, and high bandwidth between computer and display that such interfaces require have until recently been too expensive. Furthermore, we are only beginning to understand what constitutes a good user interface and the management processes required to create such interfaces. Finally, and central to this special issue, there has been an insufficient software foundation upon which to build the interfaces. Too many wheels have had to be reinvented, so that the people resources remaining after the wheels were created have sufficed to build only bicycles and wagons, rather than motorcycles and cars. User interface software can eliminate the need to build yet another wheel, by providing higher level user interface abstractions for the applications programmer. | |||
| Supporting Concurrency, Communication, and Synchronization in Human-Computer Interaction -- The Sassafras UIMS | | BIBAK | 179-210 | |
| Ralph D. Hill | |||
| Sassafras is a prototype User Interface Management System (UIMS)
specifically designed to support a wide range of user interface styles. In
particular, it supports the implementation of user interfaces where the user is
free to manipulate multiple input devices and perform several (possibly
related) tasks concurrently. These interfaces can be compactly represented and
efficiently implemented without violating any of the rules of well-structured
programming. Sassafras also supports elaborate run-time communication and
synchronization among the modules that make up the user interface. This is
needed to implement user interfaces that have context-sensitive defaults, and
it simplifies recovery from semantic errors.
Sassafras is based on a new language for specifying the syntax of human-computer dialogues known as Event-Response Language (ERL) and a new run-time structure and communication mechanism for UIMSs known as the Local Event Broadcast Method (LEBM). Both ERL and LEBM are described in detail, and implementation techniques are presented. The effectiveness of Sassafras is demonstrated by describing two interfaces that have been implemented with Sassafras. Keywords: Computer graphics, Methodology and techniques, Languages, Interaction
techniques, Information systems, User/machine systems, Human factors, Software
engineering, Tools and techniques, User interfaces, Human factors, Concurrency,
Message passing, User interface management systems, User interfaces | |||
| Rooms: The Use of Multiple Virtual Workspaces to Reduce Space Contention in a Window-Based Graphical User Interface | | BIBAK | 211-243 | |
| D. Austin, Jr. Henderson; Stuart K. Card | |||
| A key constraint on the effectiveness of window-based human-computer
interfaces is that the display screen is too small for many applications. This
results in "window thrashing," in which the user must expend considerable
effort to keep desired windows visible. Rooms is a window manager that
overcomes small screen size by exploiting the statistics of window access,
dividing the user's workspace into a suite of virtual workspaces with
transitions among them. Mechanisms are described for solving the problems of
navigation and simultaneous access to separated information that arise from
multiple workspaces. Keywords: Operating systems, Storage management, Virtual memory, Models and
principles, User/machine systems, Human factors, Human information processing,
Computer graphics, Methodology and technique, Ergonomics, Interaction
techniques, Design, Human factors, Theory, Bounded locality interval, Desktop,
Locality set, Project views, Resource contention, Rooms, Virtual workspace
windows, Window manager, Working set | |||
| A Survey of Three Dialogue Models | | BIBAK | 244-275 | |
| Mark Green | |||
| A dialogue model is an abstract model that is used to describe the structure
of the dialogue between a user and an interactive computer system. Dialogue
models form the basis of the notations that are used in user interface
management systems (UIMS). In this paper three classes of dialogue models are
investigated. These classes are transition networks, grammars, and events.
Formal definitions of all three models are presented, along with algorithms for
converting the notations into an executable form. It is shown that the event
model has the greatest descriptive power. Efficient algorithms for converting
from the transition diagram and grammar models to the event model are
presented. The implications of these results for the design and implementation
of UIMSs are also discussed. Keywords: Software engineering, Tools and techniques, User interfaces, Computation by
abstract devices, Models of computation, Automata, Computer graphics,
Methodology and techniques, Languages, Algorithms, Design, Human factors,
Theory, Dialogue models, Human-computer interaction, User interface management | |||
| Guest Editor's Introduction: Special Issue on User Interface Software | | BIBA | 279-282 | |
| James Foley | |||
| Designing and implementing high-quality graphic user-computer interfaces has been a challenging, labor-intensive process: consequently, many contemporary interactive graphics systems lack the accoutrements required of easy-to-learn, fast-to-use interfaces. There are several reasons for the relative dearth of high-quality user interfaces. First, the computational resources of memory, processor cycles, and high bandwidth between computer and display that such interfaces require have until recently been too expensive. Furthermore, we are only beginning to understand what constitutes a good user interface and the management processes required to create such interfaces. Finally, and central to this special issue, there has been an insufficient software foundation upon which to build the interfaces. Too many wheels have had to be reinvented, so that the people resources remaining after the wheels were created have sufficed to build only bicycles and wagons, rather than motorcycles and cars. User interface software can eliminate the need to build yet another wheel, by providing higher level user interface abstractions for the applications programmer. | |||
| A Specification Language for Direct-Manipulation User Interfaces | | BIBAK | 283-317 | |
| Robert J. K. Jacob | |||
| 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. Keywords: Software engineering, Tools and techniques, User interfaces, Logics and
meanings of programs, Specifying and verifying and reasoning about programs,
Specification techniques, Models and principles, User/machine systems, Human
factors, Design, Human factors, Languages, Direct manipulation, Specification
language, State transition diagram, User-interface management system (UIMS) | |||
| MIKE: The Menu Interaction Kontrol Environment | | BIBAK | 318-344 | |
| Dan R., Jr. Olsen | |||
| 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. Keywords: Software engineering, Design, Methodologies, Software engineering,
Miscellaneous, Rapid prototyping, Computer graphics, Methodology and
techniques, Interaction techniques, Design, Human factors, Dialogue design
tools, Human-computer interfaces, User interface management systems | |||
| Constraint-Based Tools for Building User Interfaces | | BIBAK | 345-374 | |
| Alan Borning; Robert Duisberg | |||
| A constraint describes a relation that must be maintained. Constraints
provide a useful mechanism to aid in the construction of interactive graphical
user interfaces. They can be used to maintain consistency between data and a
view of the data, to maintain consistency among multiple views, to specify
layout, and to specify relations between events and responses for describing
animations of interactive systems and event-driven simulations.
Object-oriented techniques for constraint representation and satisfaction are
presented, and a range of examples that demonstrate the practical use of static
and temporal constraints for such purposes is presented. These examples
include animations of algorithms and physics simulations, and constructing
user-interface elements such as file browsers, views onto statistical data, and
an interactive monitor or a simulated operating system. Keywords: Software engineering, Tools and techniques, User interfaces, Software
engineering, Miscellaneous, Rapid prototyping, Programming languages, Language
classifications, Nonprocedural languages, Computer graphics, Methodology and
techniques, Languages, Algorithms, Languages, Animation, Consistency of
multiple views, Constraints, Constraint satisfaction, Graphical programming,
Object-oriented programming, Temporal constraints, User-interface management
systems, User interfaces | |||