HCI Bibliography Home | HCI Conferences | UIST Archive | Detailed Records | RefWorks | EndNote | Hide Abstracts
UIST Tables of Contents: 8688899091929394959697989900010203040506

Proceedings of the 1996 ACM Symposium on User Interface Software and Technology

Fullname:Proceedings of the 1996 ACM Symposium on User Interface and Software Technology
Location:Seattle, Washington
Dates:1996-Nov-06 to 1996-Nov-08
Standard No:ISBN 0-89791-798-7; ACM Order Number 429962; ACM DL: Table of Contents hcibib: UIST96
  1. Keynote Speaker
  2. Papers: CSCW and Agents
  3. Papers: Information Visualization (TechNote)
  4. Papers: Information Visualization
  5. Papers: Practice
  6. Panel
  7. Keynote Speaker
  8. Papers: Virtual Reality (TechNote)
  9. Papers: Virtual Reality
  10. Papers: Virtual Reality (TechNote)
  11. Papers: Tools
  12. Banquet Speaker
  13. Papers: Constraints
  14. Papers: Interaction Techniques
  15. Papers: Interaction Techniques (TechNote)
  16. Papers: Programming by Demonstration

Keynote Speaker

Java: A Language Driven by a UI Vision BIB --
  James Gosling

Papers: CSCW and Agents

Efficient Distributed Implementation of Semi-Replicated Synchronous Groupware BIBAKPDF 1-10
  T. C. Nicholas Graham; Tore Urnes; Roy Nejabi
The Model View Controller (MVC) architecture has proven to be an effective way of organizing synchronous groupware applications. Distributed implementations of MVC, however, can suffer from poor performance. This paper demonstrates how optimized semi-replication of MVC architectures can lead to good performance over both local and wide area networks. We present a series of optimizations to network communication based on specific communication properties of groupware. These optimizations have been implemented in the Clock groupware development toolkit, allowing programmers to develop applications directly in the high-level MVC style, with Clock automatically providing optimized performance. Timings of an application developed in Clock show that usable speed was obtained in a highly interactive groupware application running between Toronto and Calgary, with a typical latency of 190 ms per round trip message. The paper discusses the tradeoffs involved in the algorithms, and presents timings to demonstrate the effectiveness of the different approaches. The timings show that when running over a wide area network, the best optimization can achieve a factor 60 speedup over the naive implementation of distributed MVC.
Keywords: Groupware, Groupware toolkits, Performance evaluation
A Mechanism for Supporting Client Migration in a Shared Window System BIBAKPDF 11-20
  Goopeel Chung; Prasun Dewan
Migrating collaborative applications to or near the workstations of active users can offer better performance in many scenarios. We have developed a client migration mechanism for centralized shared window systems that does not require changes to existing application and system software. It is based on logging input at the old site and replaying it at the new site. This approach raises several difficult questions: How should the log size be kept low? How should response time be kept low while migration is in progress? How should applications that depend on the rate at which input is received be accommodated? How should the transition from the replay phase to the play phase be detected at the new site? How should the software at the old and new sites be synchronized? We have developed a series of alternative approaches for answering these questions and implemented them in the XTV [1] shared window system. In this paper, we motivate, describe, illustrate and evaluate these approaches, and outline how they are implemented.
Keywords: Multiuser interface, Collaborative system, Logging, Groupware, Migration, Window system, Replication
Adding a Collaborative Agent to Graphical User Interfaces BIBAKPDF 21-30
  Charles Rich; Candace L. Sidner
We have implemented a collaborative agent toolkit called Collagen and used it to build a software agent that collaborates with the user of a direct-manipulation graphical interface by following the rules and conventions of human discourse. One of the main results is an interaction history that is segmented according to the structure of the agent's and user's goals, without requiring the agent to understand natural language.
Keywords: Agent, Collaboration, Discourse, Window sharing, Direct manipulation, SharedPlan

Papers: Information Visualization (TechNote)

A Viewer for Postscript Documents BIBAKPDF 31-32
  Adam Ginsburg; Joe Marks; Stuart Shieber
We describe a PostScript viewer that provides navigation and annotation functionality similar to that of paper documents using simple unified user-interface techniques.
Keywords: Document viewing, PostScript, Annotation

Papers: Information Visualization

Adding Imageability Features to Information Displays BIBAKPDF 33-39
  Matthew Chalmers; Robert Ingram; Christoph Pfranger
Techniques for improving the imageability of an existing data visualisation are described. The aim is to make the visualisation more easily explored, navigated and remembered. Starting from a rclatively sparse landscape-like representation of a set of objects, we selectively add to the visualisation static features such as clusters, and dynamic features such as view-specific sampling of object detail. Information on past usage is used in this process, making manifest an aspect of interaction which is often neglected. Issues arising from the use of such features in a shared virtual environment are discussed.
Keywords: Visualization, Navigation, Imageability, Information design
FOCUS: The Interactive Table for Product Comparison and Selection BIBAKPDF 41-50
  Michael Spenke; Christian Beilken; Thomas Berlage
FOCUS, the Feature-Oriented Catalog USer interface, is an interactive table viewer for a common kind of table, namely the object-attribute table, also called cases-by-attribute table or relational table. Typical examples of these tables are the Roll Calls in BYTE where the features and test results of a family of hardware or software products are compared. FOCUS supports data exploration by a combination of a focus+context or fisheye technique, a hierarchical outliner for large attribute sets, and a general and easy-to-use dynamic query mechanism where the user simply clicks on desired values found in the table.
   A PC/Windows implementation of FOCUS is publicly available (http://www.gmd.de/fit/projects/focus.html). It is suited for tables with up to a few hundred rows and columns, which are typically stored and maintained by spreadsheet applications. Since we use a simple data format, existing tables can be easily inspected with FOCUS.
   With the rapidly increasing public interest in on-line services like the World Wide Web we expect a growing demand for access to on-line catalogues and databases. FOCUS satisfies this demand, allowing formulation of simple database queries with an interface as easy to use as a Web browser.
Keywords: Dynamic queries, Tables, Spreadsheets, Focus+context technique, Interactive data exploration
3D Magic Lenses BIBAKPDF 51-58
  John Viega; Matthew J. Conway; George Williams; Randy Pausch
This work extends the metaphor of a see-through interface embodied in Magic Lenses to 3D environments. We present two new see-through visualization techniques: flat lenses in 3D and volumetric lenses. We discuss implementation concerns for platforms that have programmer accessible hardware clipping planes and show several examples of each visualization technique. We also examine composition of multiple lenses in 3D environments, which strengthens the flat lens metaphor, but may have no meaningful semantics in the case of volumetric lenses.
Keywords: Magic lenses, Transparent user interfaces, Clipping planes, 3D graphics, Virtual reality

Papers: Practice

The VIEP System: Interacting with Collaborative Multimedia BIBAKPDF 59-66
  Steven L. Rohall; Eric P. Lahtinen
This paper presents a survey of the Visual Information Environment Prototype (VIEP), a system which demonstrates the next generation of Command, Control, Communication, and Intelligence (C3I) systems. In particular, VIEP provides a novel integration of user interaction techniques including wireless input and large-screen output to facilitate the task of collaborating with media such as large images, audio, and video. The prototype has been implemented and demonstrated over both local and wide area networks.
Keywords: CSCW, Collaboration, Multimedia, Wireless interfaces
The "Growing Up" of HyperBraille -- An Office Workspace for Blind People BIBAKPDF 67-73
  Thomas G. Kieninger
Due to of their intuitive usage especially for novice users, graphical user interfaces (GUI) are nowadays a widespread user frontend for almost any kind of application. It is well-known that the advantages to sighted users hide strong drawbacks for the community of blind people. Their special needs are not very well catered for the common software design. The control over GUI applications with their overlapping windows and buttons are no analog to the way blind people "see" their environment as it is for sighted people. Thus, the competitiveness of these people is drastically reduced.
   The basic goal of HyperBraille is to enable blind or visually impaired people to participate as fully competitive members in today's information technology oriented office worlds. We did not aim to create another tool to access graphical user interfaces but rather decided to realize a textscreen-oriented application especially for blind people which integrates tools to retrieve, create and exchange printed as well as electronic documents. Thereby we used the hypertext and formatting features of the Hypertext Markup Language HTML.
   On the other hand we adapted the GUI concept of the pull-down menus to be customized on a Braille display. As for the sighted user, pull-down menus allow the novice user to immediately operate any application like word-processors or WWW-browsers without knowing the various key bindings.
   The development of HyperBraille started three years ago with the construction of a World Wide Web client that allowed easy access to all the documents of the Web [11]. This article will describe the new features of HyperBraille that are mostly driven by user feedback and by the needs for individual configurations of potential users.
Keywords: Blindness, Hypertext, HTML editor, Pattern matcher, Document analysis, World Wide Web


Where is Information Visualization Technology Going? BIBAPDF 75-77
  Mountaz Hascoet-Zizi; Catherine Plaisant; Chris Ahlberg; Matthew Chalmers; Robert Korfhage; Ramana Rao
Over the past few years a lot of different information visualization techniques have been proposed. Being a relatively new and large field, the spectrum of emerging techniques has not clearly been identified.
   Another major consequence of the youthfulness of the field is that very few evaluation have been conducted so far. The aim of the panel will be to address these two points. First, panelist will characterize the spectrum of information visualization technology depending on tasks, users or data. Panelists will further discuss future trends in visualization technology by determining which are the most important features or challenges that information visualization systems should address.
   Second, the discussion will focus on how these systems are to be evaluated: through controlled experiments, system evaluation, long-time studies, verbal protocols, theoretical evaluations, or else?

Keynote Speaker

3-D User Interfaces: When Results Matter BIB --
  Fred Brooks

Papers: Virtual Reality (TechNote)

The Go-Go Interaction Technique: Non-Linear Mapping for Direct Manipulation in VR BIBAKPDF 79-80
  Ivan Poupyrev; Mark Billinghurst; Suzanne Weghorst; Tadao Ichikawa
The Go-Go immersive interaction technique uses the metaphor of interactively growing the user's arm and non-linear mapping for reaching and manipulating distant objects. Unlike others, our technique allows for seamless direct manipulation of both nearby objects and those at a distance.
Keywords: Virtual reality, 3D user interface, User interface metaphor
Head-Tracked Orbital Viewing: An Interaction Technique for Immersive Virtual Environments BIBAKPDF 81-82
  David R. Koller; Mark R. Mine; Scott E. Hudson
An interaction technique for immersive virtual environments called "head-tracked orbital viewing" is described. The user's head orientation is tracked and mapped so as to move the viewpoint of the user about the surface of a virtual sphere surrounding a center of rotation. The technique is useful for object examination tasks in a virtual world, allowing the user to quickly and easily view an object from many perspectives.
Keywords: Virtual environments, Head-tracking, Viewpoint selection, Steering, Interaction metaphors

Papers: Virtual Reality

Language-Level Support for Exploratory Programming of Distributed Virtual Environments BIBAKPDF 83-94
  Blair MacIntyre; Steven Feiner
We describe COTERIE, a toolkit that provides language-level support for building distributed virtual environments. COTERIE is based on the distributed data-object paradigm for distributed shared memory. Any data object in COTERIE can be declared to be a Shared Object that is replicated fully in any process that is interested in it. These Shared Objects support asynchronous data propagation with atomic serializable updates, and asynchronous notification of updates. COTERIE is built in Modula-3 and uses existing Modula-3 packages that support an integrated interpreted language, multithreading, and 3D animation. Unlike other VE toolkits, COTERIE is based on a set of general-purpose parallel and distributed language concepts designed with the needs of virtual environments in mind. We summarize the requirements that we identified for COTERIE, describe its implementation, compare it with other toolkits, and provide examples that show COTERIE's advantages.
Keywords: Distributed virtual environments, Distributed shared memory, Shared-data object model, Virtual reality

Papers: Virtual Reality (TechNote)

Aperture Based Selection for Immersive Virtual Environments BIBAKPDF 95-96
  Andrew Forsberg; Kenneth Herndon; Robert Zeleznik
We present two novel techniques for effectively selecting objects in immersive virtual environments using a single 6 DOF magnetic tracker. These techniques advance the state of the art in that they exploit the participant's visual frame of reference and fully utilize the position and orientation data from the tracker to improve accuracy of the selection task. Preliminary results from pilot usability studies validate our designs. Finally, the two techniques combine to compensate for each other's weaknesses.
Keywords: Interaction, Selection, Immersive virtual environments, Direct-manipulation, 3D widgets
The Lego Interface Toolkit BIBAKPDF 97-98
  Matthew Ayers; Robert Zeleznik
This paper describes a rapid prototyping system for physical interaction devices in immersive virtual environments. Because of the increased complexity of 3D interactive environments and the lack of standard interactive tools, designers are unable to use traditional 2D hardware in 3D virtual environments. As a result, designers must create entirely new interaction devices, a both slow and expensive process. We propose a system which allows hardware designers to experiment with the construction of new 3D interaction devices both quickly and inexpensively.
Keywords: Virtual reality, Hardware, Lego, 3D, Interface, Prototype, Reconfigurable, Snap-together

Papers: Tools

XXL: A Dual Approach for Building User Interfaces BIBAKPDF 99-108
  Eric Lecolinet
This paper presents XXL, a new interactive development system for building user interfaces which is based on the concept of textual and visual equivalence. XXL includes an interactive builder and a "small" C compatible special-purpose language that is both interpretable and compilable. The visual builder is able to establish the reverse correspondence between the dynamic objects that it manipulates and their textual descriptions in the original source code. Interactive modifications performed by using the builder result in incremental modifications of the original text. Lastly, XXL not only allows users to specify the widget part of the interface but can also be used to manage various behaviors and to create distributed interfaces.
Keywords: User interface software, Interface builders, Scripting languages, Textual and visual equivalence, Iterative development, Distributed interfaces
Using the Multi-Layer Model for Building Interactive Graphical Applications BIBAKPDF 109-118
  Jean-Daniel Fekete; Michel Beaudouin-Lafon
This article introduces the Multi-Layer Model, which uses several graphical layers to separate the graphical entities involved in visualization from those involved in feedback and interaction management. We describe its implementation and show how it can take advantage of software and hardware graphic extensions to provide good performance. We also show how it supports multiple input devices and simplifies the description of a wide variety of interaction styles. Finally, we describe our experience in using this model to implement a set of editors for a professional animation system.
Keywords: Toolkits, Multi-layer model, Graphic model, Interaction, Optimizations
Easily Adding Animations to Interfaces Using Constraints BIBAKPDF 119-128
  Brad A. Myers; Robert C. Miller; Rich McDaniel; Alan Ferrency
Adding animation to interfaces is a very difficult task with today's toolkits, even though there are many situations in which it would be useful and effective. The Amulet toolkit contains a new form of animation constraint that allows animations to be added to interfaces extremely easily without changing the logic of the application or the graphical objects themselves. An animation constraint detects changes to the value of the slot to which it is attached, and causes the slot to instead take on a series of values interpolated between the original and new values. The advantage over previous approaches is that animation constraints provide significantly better modularity and reuse. The programmer has independent control over the graphics to be animated, the start and end values of the animation, the path through value space, and the timing of the animation. Animations can be attached to any object, even existing widgets from the toolkit, and any type of value can be animated: scalars, coordinates, fonts, colors, line widths, point lists (for polygons), booleans (for visibility), etc. A library of useful animation constraints is provided in the toolkit, including support for exaggerated, cartoon-style effects such as slow-in-slow-out, anticipation, and followthrough. Because animations can be added to an existing application with only a single extra line of code, we expect that this new mechanism will make it easy for researchers and developers to investigate the use of animations in a wide variety of applications.
Keywords: Animation, Constraints, Toolkits, User interface development environments, Amulet

Banquet Speaker

User Interface Design in the Unreal World: What I Learned at Disney BIB --
  Randy Pausch

Papers: Constraints

Indigo: A Local Propagation Algorithm for Inequality Constraints BIBAKPDF 129-136
  Alan Borning; Richard Anderson; Bjorn Freeman-Benson
Inequality constraints are useful for specifying various aspects of user interfaces, such as constraints that one window is to the left of another, or that an object is contained within a rectangle. However, current local propagation constraint solvers can't handle inequality constraints. We present Indigo, an efficient local propagation algorithm for satisfying acyclic constraint hierarchies, including inequality constraints.
Keywords: Constraints, Inequality constraints, Local propagation
An Empirical Study of Constraint Usage in Graphical Applications BIBAKPDF 137-146
  Bradley T. Vander Zanden; Scott A. Venckus
One-way constraints have been widely incorporated in research toolkits for constructing graphical applications. However, although a number of studies have examined the performance of these toolkits' constraint satisfaction algorithms, there have not been any empirical studies that have examined how programmers use constraints in actual applications. This paper reports the results of a study intended to address these matters. Seven graphical applications were chosen for their diversity and profiling information was gathered about their use of constraints. The data reveal that constraint networks tend to be modular, that is, divided into a number of small, independent sets of constraints rather than one monolithic set of constraints. This finding suggests that constraint satisfaction algorithms should be able to resatisfy constraints rapidly after a change to one or more variables. It also suggests that debugging constraints should not be unduly burdensome on a programmer since the number of constraints that must be examined to find the source of an error is not terribly large. Overall, the results of this study should provide a repository of data that will be useful in directing future research on optimizing constraint solvers and developing effective debugging techniques.
Keywords: One-way constraints, Graphical applications, Optimization, Debugging, Toolkits, Profiling
Ultra-Lightweight Constraints BIBAKPDF 147-155
  Scott E. Hudson; Ian Smith
Constraint systems have been used for some time to implement various components of a user interface. High level support for flexible screen layout has been among the more important uses; layout constraints in a user interface toolkit provide a declarative mechanism for controlling the size and position of objects in an interactive display, along with an efficient update mechanism for maintaining display layouts automatically in the face of dynamic changes. This paper describes a new technique for implementing one-way layout constraints which overcomes a substantial limitation of previous systems. In particular, it allows constraints to be implemented in an extremely small amount of space -- as little as 17 bits per constraint -- and still maintain the level of performance needed for good interactive response. These ultra-lightweight constraints, while not handling all cases, cover most relationships used for layout, and allow conventional constraints to be applied when needed. This paper will consider both a general technique for ultra-lightweight layout constraints and its specific implementation in a new Java-based user interface toolkit.
Keywords: User interface toolkits, User interface layout, One-way constraint systems, Lazy and incremental update, Space optimization, Java

Papers: Interaction Techniques

A New Direct Manipulation Technique for Aligning Objects in Drawing Programs BIBAKPDF 157-164
  Roope Raisamo; Kari-Jouko Raiha
Current drawing programs provide mainly three ways for carrying out object alignment: either by issuing an alignment command, or by using direct positioning with the help of gravity active points, or by making use of constraints. The first technique has limited functionality, and the other two may be mysterious for a novice. We describe here a new direct manipulation tool for alignment. We show that while direct manipulation helps to make the tool intuitive, it has through iterative design evolved into a tool that also offers functionality not found in current commercial products.
Keywords: Drawing programs, Alignment tools, Direct manipulation, Two-handed interaction, Iterative design

Papers: Interaction Techniques (TechNote)

Penumbrae for 3D Interactions BIBAKPDF 165-166
  Yuji Ayatsuka; Satoshi Matsuoka; Jun Rekimoto
We propose a new feedback technique for 3D interaction using penumbrae which the objects cast. Rather than generating a real penumbra, which is computationally expensive, a fast, simplified algorithm is employed, which also is better suited for position feedback purposes. User studies show that 1) compared to orthographic shadow projections, 3D spatial recognition and placement tasks are substantially faster with our penumbrae, and 2) the users feel the feedback to be more natural.
Keywords: 3D interaction feedback, Shadow, Penumbra
Tilting Operations for Small Screen Interfaces BIBAKPDF 167-168
  Jun Rekimoto
This TechNote introduces new interaction techniques for small screen devices such as palmtop computers or handheld electric devices, including pagers and cellular phones. Our proposed method uses the tilt of the device itself as input. Using both tilt and buttons, it is possible to build several interaction techniques ranging from menus and scroll bars, to more complicated examples such as a map browsing system and a 3D object viewer. During operation, only one hand is required to both hold and control the device. This feature is especially useful for field workers.
Keywords: Small screen interfaces, Interaction techniques, Palmtop computers
Local Tools: An Alternative to Tool Palettes BIBAKPDF 169-170
  Benjamin B. Bederson; James D. Hollan; Allison Druin; Jason Stewart; David Rogers; David Proft
We describe local tools, a general interaction technique that replaces traditional tool palettes. A collection of tools sit on the worksurface along with the data. Each tool can be picked up (where it replaces the cursor), used, and then put down anywhere on the worksurface. There is a toolbox for organizing the tools. These local tools were implemented in Pad++ as part of KidPad, an application for children.
Keywords: Interactive user interfaces, Multiscale zoomable interfaces, Information visualization, Information physics, Local tools
The Cage: Efficient Construction in 3D using a Cubic Adaptive Grid BIBAKPDF 171-172
  Patrick Baudisch
The Cage is an easy to use 3D grid. Built into a 3D modeler, it provides a visualized reference coordinate system that helps the user to orient himself in 3D space, and that supports efficient alignment and snapping methods. It can be adapted with a single mouse click to any new viewing situation and reference system. The Cage was implemented in C++ under Open Inventor on Silicon Graphics workstations. It was tested as a part of a 3D authoring tool for virtual TV studios.
Keywords: Cage, Grid, Snapping, 3D modelling

Papers: Programming by Demonstration

Simplifying Macro Definition in Programming by Demonstration BIBAKPDF 173-182
  Atsushi Sugiura; Yoshiyuki Koseki
In order to automate repetitive tasks performed in computer applications, users are required to acquire special skills for writing macros or programs. Programming by demonstration (PBD), a method of converting a user demonstration into an executable code, is one possible solution to this problem. However, many PBD systems require users to spend much time and care in macro definition. This paper describes a PBD system, DemoOffice, which employs two techniques, action slicing and macro auto-definition, to simplify macro definition significantly. The system is able to detect user actions which might be expected to be performed again in the future and to automatically convert those actions into a macro, for which no further definition is required.
Keywords: Demonstrational interface, Programming by demonstration, Macro by example
Ambiguous Intentions: A Paper-Like Interface for Creative Design BIBAKPDF 183-192
  Mark D. Gross; Ellen Yi-Luen Do
Interfaces for conceptual and creative design should recognize and interpret drawings. They should also capture users' intended ambiguity, vagueness, and imprecision and convey these qualities visually and through interactive behavior. Freehand drawing can provide this information and it is a natural input mode for design. We describe a pen-based interface that acquires information about ambiguity and precision from freehand input, represents it internally, and echoes it to users visually and through constraint based edit behavior.
Keywords: Pen based systems, Drawing, Design environments, Ambiguity and imprecision, Graphical techniques
Inductive Groups BIBAKPDF 193-199
  Dan R., Jr. Olsen; Xinyu Deng
The notion of inductive groups is presented as a mechanism for manipulating sets of related objects. The interactive behavior of such groups is discussed along with extensible algorithms for discovering inductive relationships in general. An application using these techniques is shown.
Keywords: User interface software, Inductive groups, Interaction by demonstration