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

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

Fullname:Proceedings of the 1993 ACM Symposium on User Interface and Software Technology
Location:Atlanta, Georgia
Dates:1993-Nov-03 to 1993-Nov-05
Standard No:ISBN 0-89791-628-X; ACM Order Number 429936; ACM DL: Table of Contents hcibib: UIST93
  1. Plenary Speaker
  2. Applications
  3. Animation/Visualization
  4. Visualizing Information
  5. Potpourri
  6. Panel
  7. Virtual Reality
  8. Video, Graphics, and Speech
  9. Plenary Speaker
  10. Constraints
  11. Panel
  12. CSCW and Distributed Applications

Plenary Speaker

From Virtual Reality to Real Virtualities: Designing the Worlds in which We Live BIB --
  Terry Winograd


User Interfaces for Symbolic Computation: A Case Study BIBAKPDF 1-10
  Norbert Kajler
Designing user interfaces for Symbolic Computation tools like Maple, Mathematics, Reduce, etc, implies solving some challenging difficulties, including the display and manipulation of mathematical formulas, efficient and user-friendly manipulation of possibly large expressions, deep extensibility of the user interface, etc. This also implies dealing with some complex communication issues in order to efficiently integrate under a common user interface a set of tools from different origins running across a distributed architecture. This includes transparent management of remote computations, hiding command language variations, and programmability of the whole environment so that one can solve complex problems by sequentially and/or concurrently applying any needed tools. Very few of these problems are addressed by the user interfaces of commercially available packages. To improve user interfaces and integration of Symbolic Computation tools, a prototyping system named CAS/PI has been implemented. Its main characteristics are to be highly flexible and extensible, and to be based on pre-existing software engineering technologies. Using CAS/PI, each of the previously stated problems may be solved in a generic way, allowing further experimentations and optimization.
Keywords: Symbolic computation, Computer algebra, User interface, Software engineering, Tool integration, Software bus, Centaur, CAS/PI
Concept Clustering in a Query Interface to an Image Database BIBAKPDF 11-21
  Jill Kliger; Deborah Swanberg; Ramesh Jain
The VIMSYS project provides environmental scientists with the ability to perform content-based querying over a database of satellite images. This paper describes the end-user query interface which facilitates identification of multiple object types, reduces emphasis on numerical data, and simplifies the use of numerous sets of parameters. To address these issues in a way that can be applied to similar databases, the end-user query interface utilizes abstract query structures called clusters, in addition to frames and links. We describe the requirements of the system, review commonly available query methods, discuss how the VIMSYS interface meets the needs of the audience, present user reaction to the prototype, and summarize other relevant details of VIMSYS.
Keywords: Image databases, User interface design, Content-based querying, Concept clustering
System Components for Embedded Information Retrieval from Multiple Disparate Information Sources BIBAPDF 23-33
  Ramana Rao; Daniel M. Russell; Jock D. Mackinlay
Current information retrieval interfaces only address a small part of the reality of rich interactions amongst user, task, and information sources. We view information gathering as an interactive, iterative activity involving multiple disparate information sources and embedded in the context of broader processes of information use. We have developed two key system components that enable information workspaces that adhere to this reformulation of information retrieval. The first is a design for a user/system interaction model for retrieval from multiple, disparate information sources. The second is a repository modeling system, called Repo, that represents meta-information about different information repositories in a manner that supports system operation as well as provides a direct information resource to the user. To test these ideas, we have utilized Repo and embodied the interaction model in the user interface of a system called Labrador.


Pacers: Time-Elastic Objects BIBAKPDF 35-43
  Steven H. Tang; Mark A. Linton
Current time-based presentation systems are rigid in that they assume the running time of all components of a presentation is constant. Furthermore, most systems offer little or no support for dynamically adapting the presentation quality to the (lack of) available system resources. In this paper, we introduce an object called a Pacer that is "time-elastic" in that it can adjust the quality of its presentation according to the amount of time available. We have implemented a direct manipulation graphical interface using pacers that can automatically degrade presentation quality in a controlled fashion depending on the user's input rate and the speed of the rendering system.
Keywords: Elastic objects, Adaptive presentation, Graphical user interfaces
Animation: From Cartoons to the User Interface BIBAKPDF 45-55
  Bay-Wei Chang; David Ungar
User interfaces are often based on static presentations, a model ill suited for conveying change. Consequently, events on the screen frequently startle and confuse users. Cartoon animation, in contrast, is exceedingly successful at engaging its audience; even the most bizarre events are easily comprehended. The Self user interface has served as a testbed for the application of cartoon animation techniques as a means of making the interface easier to understand and more pleasant to use. Attention to timing and transient detail allows Self objects to move solidly. Use of cartoon-style motion blur allows Self objects to move quickly and still maintain their comprehensibility. Self objects arrive and depart smoothly, without sudden materializations and disappearances, and they rise to the front of overlapping objects smoothly through the use of dissolve. Anticipating motion with a small contrary motion and pacing the middle of transitions faster than the endpoints results in smoother and cleared movements. Despite the differences between user interfaces and cartoons -- cartoons are frivolous, passive entertainment and user interfaces are serious, interactive tools -- cartoon animation has much to lend to user interfaces to realize both affective and cognitive benefits.
Keywords: Animation, User interfaces, Cartoons, Motion blur, Self
Animation Support in a User Interface Toolkit: Flexible, Robust and Reusable Abstractions BIBAKPDF 57-67
  Scott E. Hudson; John T. Stasko
Animation can be a very effective mechanism to convey information in visualization and user interface settings. However, integrating animated presentations into user interfaces has typically been a difficult task since, to date, there has been little or no explicit support for animation in window systems or user interface toolkits. This paper describes how the Artkit user interface toolkit has been extended with new animation support abstractions designed to overcome this problem. These abstractions provide a powerful but convenient base for building a range of animations, supporting techniques such as simple motion-blur, "squash and stretch", use of arcing trajectories, anticipation and follow through, and "slow-in / slow-out" transitions. Because these abstractions are provided by the toolkit they are reusable and may be freely mixed with more conventional user interface techniques. In addition, the Artkit implementation of these abstractions is robust in the face of systems (such as the X Window System and Unix) which can be ill-behaved with respect to timing considerations.
Keywords: Object-oriented user interface toolkits, Window systems, Animation techniques, Dynamic interfaces, Motion blur, Real-time scheduling

Visualizing Information

Animating User Interfaces Using Animation Servers BIBAKPDF 69-79
  Krishna Bharat; Piyawadee "Noi" Sukaviriya
Our approach to user interface animation involves simulating the interaction of a user with the interface by synthetically generating the input events that drive the session. The interaction is made explicit by displaying the behavior of input devices audio-visually. Such "animation" is both educational and functional, and has the potential to become a powerful new medium in the graphical user interface domain. We describe the construction of a general purpose tool for animating user interfaces -- the animation server. Clients drive the server with textual scripts that describe the interaction. These may contain constructs for obtaining application context information at runtime and synchronizing with other media servers. We present a few potential applications for animation servers, including a groupware package for loosely coupled collaboration.
Keywords: User interface animation, Animation server, Extensible interfaces, Multimedia, Context-sensitivity, Application state, CSCW
Stretching the Rubber Sheet: A Metophor for Visualizing Large Layouts on Small Screens BIBAKPDF 81-91
  Manojit Sarkar; Scott S. Snibbe; Oren J. Tversky; Steven P. Reiss
We propose the metaphor of rubber sheet stretching for viewing large and complex layouts within small display areas. Imagine the original 2D layout on a rubber sheet. Users can select and enlarge different areas of the sheet by holding and stretching it with a set of special tools called handles. As the user stretches an area, a greater level of detail is displayed there. The technique has some additional desirable features such as areas specified as arbitrary closed polygons, multiple regions of interest, and uniform scaling inside the stretched regions.
Keywords: Information visualization, Graphical visualization, Interface metaphors, Interactive systems
Algorithm Animation using 3D Interactive Graphics BIBAKPDF 93-100
  Marc H. Brown; Marc A. Najork
This paper describes a variety of 3D interactive graphics techniques for visualizing programs. The third dimension provides an extra degree of freedom for conveying information, much as color adds to black-and-white images, animation adds to static images, and sound adds to silent animations. The examples in this paper illustrate three fundamental uses of 3D: for providing additional information about objects that are intrinsically two-dimensional, for uniting multiple views, and for capturing a history of execution. The application of dynamic three-dimensional graphics to program visualization is largely unexplored.
Keywords: Algorithm animation, Program visualization, Information visualization, 3D graphics
The Document Lens BIBAKPDF 101-108
  George G. Robertson; Jock D. Mackinlay
This paper describes a general visualization technique based on a common strategy for understanding paper documents when their structure is not known, which is to lay the pages of a document in a rectangular array on a large table where the overall structure and distinguishing features can be seen. Given such a presentation, the user wants to quickly view parts of the presentation in detail while remaining in context. A fisheye view or a magnifying lens might be used for this, but they fail to adequately show the global context. The Document Lens is a 3D visualization for large rectangular presentations that allows the user to quickly focus on a part of a presentation while continuously remaining in context. The user grabs a rectangular lens and pulls it around to focus on the desired area at the desired magnification. The presentation outside the lens is stretched to provide a continuous display of the global context. This stretching is efficiently implemented with affine transformations, allowing text documents to be viewed as a whole with an interactive visualization.
Keywords: User interface design issues, Interface metaphors, Graphic presentations, Screen layout, 3D interaction techniques


A Graphics Toolkit Based on Differential Constraints BIBAKPDF 109-120
  Michael Gleicher
This paper describes Bramble, a toolkit for constructing graphical editing applications. The primary focus of Bramble is improve support for graphical manipulation by employing differential constraint techniques. A constraint engine capable of managing non-linear equations maps interactive controls and constraints to object parameters. This allows objects to provide mathematical outputs that are easily composed, rather than exposing their internal structure or requiring special purpose interaction techniques. The model of interaction used with the differential approach has a continuous notion of time, which provides the continuous motion required for graphical manipulation. Bramble provides a LISP-like extension language and support for other application features such as windows and buttons. The paper concludes with examples of interaction techniques defined in Bramble and applications built with Bramble.
Keywords: Toolkits, Graphical editors, Constraints, Interaction techniques
Recognizing Multistroke Geometric Shapes: An Experimental Evaluation BIBAKPDF 121-128
  Ajay Apte; Van Vo; Takayuki Dan Kimura
A fast, simple algorithm for recognizing hand drawn geometric shapes is presented and evaluated. The algorithm recognizes (without regard to size) rectangles, ellipses, circles, diamonds, triangles, and lines. Each shape may consist of multiple strokes as long as they are entered without pauses. A pen-based graphic diagram editor employing this algorithm was developed on GO's PenPoint operating system. The editor will be part of a pen-based notebook system for teaching math to school children. The recognition algorithm was evaluated by ten subjects drawing a total of 200 shapes. It achieved a recognition rate of up to 98%.
Keywords: Shape recognition, Pen user interface
Model-Based User Interface Design by Example and by Interview BIBAKPDF 129-137
  Martin R. Frank; James D. Foley
Model-based user interface design is centered around a description of application objects and operations at a level of abstraction higher than that of code. A good model can be used to support multiple interfaces, help separate interface and application, describe input sequencing in a simple way, check consistency and completeness of the interface, evaluate the interface's speed-of-use, generate context-specific help and assist in designing the interface. However, designers rarely use computer-supported application modelling today and prefer less formal approaches such as story boards of user interface prototypes. One reason is that available tools often use cryptic languages for the model specification. Another reason is that these tools force the designers to specify the application model before they can start working on the visual interface, which is their main area of expertise. We present the Interactive User Interface Design Environment (Interactive UIDE), a novel framework for concurrent development of the application model and the user interface which combines story-boarding and model-based interface design. We also present Albert, an intelligent component within this framework, which is able to infer an application model from a user interface and from an interview process with the designer.
Keywords: User interface management systems, Model-based user interface design


From Research Prototypes to Usable, Useful Systems: Lessons Learned in the Trenches BIBAKPDF 139-143
  Gurminder Singh; Mark Linton; Brad A. Myers; Marti Szczur
A significant amount of innovation from research labs and universities is wasted; it is never applied in systems that the actual users can or want to use. The process of going from a novel concept to a usable, useful system is poorly understood by most researchers. The purpose of this panel is to address how research done in research labs and universities can be converted into systems that the end users would use. Each of the panelists has built at least one substantial system which is currently being used by a large community of real users (other than the team that built the system). Based on their experience, they will make recommendations that, if followed early enough in the project, would make the conversion to usable systems faster and easier.
Keywords: Technology transfer, Innovation, Prototyping, Commercialization, Standards, Product development, Usability

Virtual Reality

Windows on the World: 2D Windows for 3D Augmented Reality BIBAKPDF 145-155
  Steven Feiner; Blair MacIntyre; Marcus Haupt; Eliot Solomon
We describe the design and implementation of a prototype heads-up window system intended for use in a 3D environment. Our system includes a see-through head-mounted display that runs a full X server whose image is overlaid on the user's view of the physical world. The user's head is tracked so that the display indexes into a large X bitmap, effectively placing the user inside a display space that is mapped onto part of a surrounding virtual sphere. By tracking the user's body, and interpreting head motion relative to it, we create a portable information surround that envelopes the user as they move about.
   We support three kinds of windows implemented on top of the X server: windows fixed to the head-mounted display, windows fixed to the information surround, and windows fixed to locations and objects in the 3D world. Objects can also be tracked, allowing windows to move with them. To demonstrate the utility of this model, we describe a small hypermedia system that allows links to be made between windows and windows to be attached to objects. Thus, our hypermedia system can forge links between any combination of physical objects and virtual windows.
Keywords: Augmented reality, Virtual reality, Virtual worlds, Head-mounted displays, Portable computers, Mobile computing, Window systems, X11, Hypertext/hypermedia
A Toolset for Navigation in Virtual Environments BIBAKPDF 157-165
  Rudy P. Darken; John L. Sibert
Maintaining knowledge of current position and orientation is frequently a problem for people in virtual environments. In this paper we present a toolset of techniques based on principles of navigation derived from real world analogs. We include a discussion of human and avian navigation behaviors and show how knowledge about them were used to design our tools. We also summarize an informal study we performed to determine how our tools influenced the subjects' navigation behavior. We conclude that principles extracted from real world navigation aids such as maps can be seen to apply in virtual environments.
Keywords: Navigation, Orientation, Virtual worlds, Cognitive maps
VB2: An Architecture for Interaction in Synthetic Worlds BIBAKPDF 167-178
  Enrico Gobbetti; Jean-Francis Balaguer; Daniel Thalmann
This paper describes the VB2 architecture for the construction of three-dimensional interactive applications. The system's state and behavior are uniformly represented as a network of interrelated objects. Dynamic components are modeled by active variables, while multi-way relations are modeled by hierarchical constraints. Daemons are used to sequence between system states in reaction to changes in variable values. The constraint network is efficiently maintained by an incremental constraint solver based on an enhancement of SkyBlue. Multiple devices are used to interact with the synthetic world through the use of various interaction paradigms, including immersive environments with visual and audio feedback. Interaction techniques range from direct manipulation, to gestural input and three-dimensional virtual tools. Adaptive pattern recognition is used to increase input device expressiveness by enhancing sensor data with classification information. Virtual tools, which are encapsulations of visual appearance and behavior, present a selective view of manipulated models' information and offer an interaction metaphor to control it. Since virtual tools are first class objects, they can be assembled into more complex tools, much in the same way that simple tools are built on top of a modeling hierarchy. The architecture is currently being used to build a virtual reality animation system.
Keywords: User interface design, 3D interaction, 3D virtual tools, Gestural input, Virtual reality, Object-oriented graphics, Hierarchical constraints

Video, Graphics, and Speech

Video Widgets and Video Actors BIBAKPDF 179-185
  Simon Gibbs; Christian Breiteneder; Vicki de Mey; Michael Papathomas
Video widgets are user-interface components rendered with video information. The implementation and several usage examples of a family of video widgets, called video actors, are presented. Video actors rely on two capabilities of digital video: non-linear access, and the layering of video information. Non-linear access allows video frames to be displayed in arbitrary order without loss of continuity, layering allows two or more video streams to be spatially composed. Both capabilities are now becoming available to user-interface designers.
Keywords: Digital video, Video layering, Video widgets, Media components
SpeechSkimmer: Interactively Skimming Recorded Speech BIBAKPDF 187-196
  Barry Arons
Skimming or browsing audio recordings is much more difficult than visually scanning a document because of the temporal nature of audio. By exploiting properties of spontaneous speech it is possible to automatically select and present salient audio segments in a time-efficient manner. Techniques for segmenting recordings and a prototype user interface for skimming speech are described. The system developed incorporates time-compressed speech and pause removal to reduce the time needed to listen to speech recordings. This paper presents a multi-level approach to auditory skimming, along with user interface techniques for interacting with the audio and providing feedback. Several time compression algorithms and an adaptive speech detection technique are also summarized.
Keywords: Speech skimming, Browsing, Speech user interfaces, Interactive listening, Time compression, Speech detection, Speech as data, Non-speech audio
Skeletal Strokes BIBAKPDF 197-206
  S. C. Hsu; I. H. H. Lee; N. E. Wiseman
A skeletal stroke is a kind of general brush stroke for changing the shape of pictures as if by bending, shearing, twisting, while conservating the aspect ratio of selected features on the picture. It is neither a simple warping nor texture mapping technique, but a new method for controlling the deformation of a picture. A deformation model of a coordinate system has been proposed taking into account cases of discontinuous or extreme bending. Complicated pictures can be built up hierarchically by defining higher order strokes and recursive strokes. It is therefore a powerful general drawing tool and extended image transformation instrument. The use of skeletal strokes as a replacement for affine transformations in IFS coding has been explored. A novel general anchoring mechanism is proposed, which allows arbitrary control of any point in the picture. This control flexibility is particularly desirable in computer animation and digital typography. As a result, virtual '2-D models' of cartoon characters as well as pseudo 3-D objects can be created and manipulated with ease.
Keywords: Virtual device interfaces, Skeletal strokes, User interaction, Picture transformation, Animation, Fractals, Digital typography

Plenary Speaker

CyberSpace in the New Millennium BIB --
  Bruce "Tog" Tognazzini


Converting an Existing User Interface to Use Constraints BIBAKPDF 207-215
  Bjorn N. Freeman-Benson
Constraints have long been championed as a tool for user interface construction. However, while certain constraint systems have established a user community, constraint-based user interfaces have not yet been widely adopted. The premise of this paper is that a major stumbling block to their pervasive use has been the emphasis on designing new interface toolkits rather than augmenting existing ones. The thesis of the work described in this paper is that it is possible, and practical, to convert an existing user interface written in an imperative programming language into a similar user interface implemented with constraints. This thesis is proved by example: the conversion of HotDraw into CoolDraw.
Keywords: User interface toolkits, Constraints, Conversion, HotDraw, CoolDraw, Direct manipulation
A Spreadsheet Based on Constraints BIBAKPDF 217-224
  Marc Stadelmann
Constraints allow the user to declare relationships among objects and let the system maintain and satisfy these relationships. This paper is concerned with the design of a spreadsheet based on constraints. Instead of formulas, we let the user enter numerical constraints, such as >, < and = over the real values in the cells of the spreadsheet. Recalculating the spreadsheet then means (1) checking whether the given cell-values satisfy all constraints and (2) finding values for cells that satisfy the constraints.
   After a brief presentation of the advantages of a constraint-based spreadsheet, we describe the design of its user-interface. The concept of constraints over cells is extended to constraints over vectors and matrices of cells. We introduce a language for constraints over vectors and matrices of a two-dimensional spreadsheet and define several operations on these vectors.
   The described new spreadsheet has been implemented and we provide a brief overview of this effort before discussing future work and giving some concluding remarks.
Keywords: Spreadsheets, User-interface, Constraints, Constraint satisfaction, Vectors, Matrices, APL
The Rendezvous Constraint Maintenance System BIBAKPDF 225-234
  Ralph D. Hill
The Rendezvous language and architecture are designed to build computer-supported cooperative work applications that support simultaneous work at a distance. The language includes a feature-rich constraint maintenance system. The features in the constraint system were selected based on feedback from user-interface developers using earlier versions of the Rendezvous language. Three important features in the constraint system are: indirectly referenced source and target variables, tolerance of side-effects, and special handling of uninitialized variables to simplify initialization. Application requirements that motivate these features and implementation techniques are described. The Rendezvous constraint system is faster, on some benchmarks, than other constraint systems currently being used for interface construction.
Keywords: Constraint maintenance, User interface management systems, CSCW, Synchronous groupware


Platform Independent User Interface Builders: Where Are We Headed? BIBAPDF 235-236
  Richard Chimera; Jeff Barr; Martin Brunecky; Randy Pausch; Alain Rappaport
This panel addresses one of the hottest topics in user interfaces in the 90's, that of building user interfaces that are platform independent. The possible topic space is quite voluminous, the scope of this panel is to discuss pure user interface issues and to leave business issues and most of the non-UI issues for another forum.
   Platform independence means that a user interface can be specified and created using a particular combination of hardware, operating system, and windowing environment; that single specification can then be recompiled without intervention (ideally) to run on an entirely heterogeneous combination/platform. This is a remarkable feat even considering alone the differences among windowing environments (Motif, Windows, Macintosh), operating systems (various Unix, DOS, Macintosh), or hardware (Sun, HP, DEC, IBM PC/compatible, Macintosh).
   Platform independent user interface builders can deliver increased productivity in a number of ways:
  • Learn one system for N platforms and implement only one set of source code
       for N platforms.
  • One set of source code makes maintenance simpler.
  • Reusability of objects and templates across platforms, which also may benefit
       consistency across platforms. Five years ago there was no viable system that supplied such platform independence. Today there are several dozen tools that provide to varying degrees support for platform independent user interfaces. There is also a surprisingly wide range of architectures these tools incorporate to deliver platform independence.
  • CSCW and Distributed Applications

    Window Real-Objects: A Distributed Shared Memory for Distributed Implementation of GUI Applications BIBAKPDF 237-247
      Noboru Koshizuka; Ken Sakamura
    This paper proposes a distributed shared memory, Window Real-Object (WRO), which facilitates the construction of GUI applications with a set of cooperating parallel units running on multiple machines. To support unit cooperation, the WRO provides a shared data structure storing interaction objects displayed in a window among multiple machines. It also provides an event mechanism called abstract events to support control transfer among these units. Abstract events are generated when the shared data structure is updated, and invoke the units sharing the WRO.
       Both the function and mechanism of the WRO are tailored for GUI applications. The WRO provides spatial addressing to the data structure, which is implemented efficiently using an R-tree. It also adopts a full-replication algorithm as a shared-memory coherence scheme. Consequently, the WRO can be implemented with adequate performance on a usual workstation environment.
    Keywords: Graphical user interface, Window system, Distributed shared memory, Parallel programming, Multi-user interface, BTRON
    A Framework for Shared Applications with a Replicated Architecture BIBAKPDF 249-257
      Thomas Berlage; Andreas Genau
    The interaction history of a document can be modelled as a tree of command objects. This model not only supports recovery (undo/redo), but is also suitable for cooperation between distributed users working on a common document. Various coupling modes can be supported. Switching between modes is supported by regarding different versions of a document as different branches of the history. Branches can then be merged using a selective redo mechanism. Synchronous cooperation is supported by replicating the document state and exchanging command objects. Optimistic concurrency control can be applied, because conflicting actions can later be undone automatically.
    Keywords: User interface management system, Application framework, Computer-supported cooperative work, Command objects, Selective undo and redo, History tree
    A Marking Based Interface for Collaborative Writing BIBAPDF 259-266
      Gary Hardock; Gordon Kurtenbach; William Buxton
    We describe a system to support a particular model of document creation. In this model, the document flows from the primary author to one or more collaborators. They annotate it, then return it to the author who makes the final changes. Annotations are made using conventional marks, typically using a stylus. The intent is to match the flow and mark-up of paper documents observed in the everyday world. The system is very much modeled on Wang Freestyle (Perkins, Watt, Workman and Ehrlich, 1989; Francik and Akagi, 1989; & Levine and Ehrlich, in press). Our contribution is to incorporate mark recognition into the system and to explore some novel navigation tools that are enabled by the higher-level data structures that we use. The system is described and the results of initial user-testing are reported.