| Java: A Language Driven by a UI Vision | | BIB | -- | |
| James Gosling | |||
| Efficient Distributed Implementation of Semi-Replicated Synchronous Groupware | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| A Viewer for Postscript Documents | | BIBAK | PDF | 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 | |||
| Adding Imageability Features to Information Displays | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| The VIEP System: Interacting with Collaborative Multimedia | | BIBAK | PDF | 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 | | BIBAK | PDF | 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? | | BIBA | PDF | 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? | |||
| 3-D User Interfaces: When Results Matter | | BIB | -- | |
| Fred Brooks | |||
| The Go-Go Interaction Technique: Non-Linear Mapping for Direct Manipulation in VR | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| Language-Level Support for Exploratory Programming of Distributed Virtual Environments | | BIBAK | PDF | 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 | |||
| Aperture Based Selection for Immersive Virtual Environments | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| XXL: A Dual Approach for Building User Interfaces | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| User Interface Design in the Unreal World: What I Learned at Disney | | BIB | -- | |
| Randy Pausch | |||
| Indigo: A Local Propagation Algorithm for Inequality Constraints | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| A New Direct Manipulation Technique for Aligning Objects in Drawing Programs | | BIBAK | PDF | 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 | |||
| Penumbrae for 3D Interactions | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||
| Simplifying Macro Definition in Programming by Demonstration | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | | BIBAK | PDF | 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 | |||