Keywords
UIST2.0 Archive - 20 years of UIST
Back
Back to keywords index

toolkit

graphical toolkit

In Proceedings of UIST 1994
Article Picture

Extending a graphical toolkit for two-handed interaction (p. 195-204)

Abstract plus

Multimodal interaction combines input from multiple sensors such as pointing devices or speech recognition systems, in order to achieve more fluid and natural interaction. Two-handed interaction has been used recently to enrich graphical interaction. Building applications that use such combined interaction requires new software techniques and frameworks. Using additional devices means that user interface toolkits must be more flexible with regard to input devices and event types. The possibility of parallel interactions must also be taken into account, with consequences on the structure of toolkits. Finally, frameworks must be provided for the combination of events and status of several devices. This paper reports on the extensions we made to the direct manipulation interface toolkit Whizz in order to experiment two-handed interaction. These extensions range from structural adaptations of the toolkit to new techniques for specifying the time-dependent fusion of events.

groupware toolkit

In Proceedings of UIST 1995
Article Picture

High-latency, low-bandwidth windowing in the Jupiter collaboration system (p. 111-120)

In Proceedings of UIST 1996
Article Picture

Efficient distributed implementation of semi-replicated synchronous groupware (p. 1-10)

gui toolkit

In Proceedings of UIST 2003
Article Picture

A molecular architecture for creating advanced GUIs (p. 135-144)

Abstract plus

This paper presents a new GUI architecture for creating advanced interfaces. This model is based on a limited set of general principles that improve flexibility and provide capabilities for implementing information visualization techniques such as magic lenses, transparent tools or semantic zooming. This architecture also makes it possible to create multiple views and application-sharing systems (by sharing views on multiple computer screens) in a simple and uniform way and to handle bimanual interaction and multiple pointers. An experimental toolkit called Ubit was implemented to test the feasibility of this approach. It is based on a pseudo-declarative C++ API that tries to simplify GUI programming by providing a higher level of abstraction.

In Proceedings of UIST 2004
Article Picture

The MaggLite post-WIMP toolkit: draw it, connect it and run it (p. 257-266)

Abstract plus

This article presents MaggLite, a toolkit and sketch-based interface builder allowing fast and interactive design of post-WIMP user interfaces. MaggLite improves design of advanced UIs thanks to its novel mixed-graph architecture that dynamically combines scene-graphs with interaction-graphs. Scene-graphs provide mechanisms to describe and produce rich graphical effects, whereas interaction-graphs allow expressive and fine-grained description of advanced interaction techniques and behaviors such as multiple pointers management, toolglasses, bimanual interaction, gesture, and speech recognition. Both graphs can be built interactively by sketching the UI and specifying the interaction using a dataflow visual language. Communication between the two graphs is managed at runtime by components we call Interaction Access Points. While developers can extend the toolkit by refining built-in generic mechanisms, UI designers can quickly and interactively design, prototype and test advanced user interfaces by applying the MaggLite principle: "draw it, connect it and run it".

object-oriented user interface toolkit

In Proceedings of UIST 1993
Article Picture

Animation support in a user interface toolkit: flexible, robust, and reusable abstractions (p. 57-67)

toolkit

In Proceedings of UIST 1993
Article Picture

A graphics toolkit based on differential constraints (p. 109-120)

In Proceedings of UIST 1996
Article Picture

Using the multi-layer model for building interactive graphical applications (p. 109-118)

In Proceedings of UIST 1996
Article Picture

Easily adding animations to interfaces using constraints (p. 119-128)

In Proceedings of UIST 1999
Article Picture

A tool for creating predictive performance models from user interface demonstrations (p. 93-102)

Abstract plus

A central goal of many user interface development tools has been to make the construction of high quality interfaces easy enough that iterative design approaches could be a practical reality. In the last 15 years significant advances in this regard have been achieved. However, the evaluation portion of the iterative design process has received relatively little support from tools. Even though advances have also been made in usability evaluation methods, nearly all evaluation is still done “by hand,” making it more expensive and difficult than it might be. This paper considers a partial implementation of the CRITIQUE usability evaluation tool that is being developed to help remedy this situation by automating a number of evaluation tasks. This paper will consider techniques used by the system to produce predictive models (keystroke level models and simplified GOMS models) from demonstrations of sample tasks in a fraction of the time needed by conventional handcrafting methods. A preliminary comparison of automatically generated models with models created by an expert modeler show them to produce very similar predictions (within 2%). Further, because they are automated, these models promise to be less subject to human error and less affected by the skill of the modeler.

In Proceedings of UIST 2000
Article Picture

SATIN: a toolkit for informal ink-based applications (p. 63-72)

In Proceedings of UIST 2000
Article Picture

Providing visually rich resizable images for user interface components (p. 227-235)

In Proceedings of UIST 2003
Article Picture

GADGET: a toolkit for optimization-based approaches to interface and display generation (p. 125-134)

Abstract plus

Recent work is beginning to reveal the potential of numerical optimization as an approach to generating interfaces and displays. Optimization-based approaches can often allow a mix of independent goals and constraints to be blended in ways that would be difficult to describe algorithmically. While optimization-based techniques appear to offer several potential advantages, further research in this area is hampered by the lack of appropriate tools. This paper presents GADGET, an experimental toolkit to support optimization for interface and display generation. GADGET provides convenient abstractions of many optimization concepts. GADGET also provides mechanisms to help programmers quickly create optimizations, including an efficient lazy evaluation framework, a powerful and configurable optimization structure, and a library of reusable components. Together these facilities provide an appropriate tool to enable exploration of a new class of interface and display generation techniques.

In Proceedings of UIST 2004
Article Picture

A toolkit for managing user attention in peripheral displays (p. 247-256)

Abstract plus

Traditionally, computer interfaces have been confined to conventional displays and focused activities. However, as displays become embedded throughout our environment and daily lives, increasing numbers of them must operate on the periphery of our attention. Peripheral displays can allow a person to be aware of information while she is attending to some other primary task or activity. We present the Peripheral Displays Toolkit (PTK), a toolkit that provides structured support for managing user attention in the development of peripheral displays. Our goal is to enable designers to explore different approaches to managing user attention. The PTK supports three issues specific to conveying information on the periphery of human attention. These issues are abstraction of raw input, rules for assigning notification levels to input, and transitions for updating a display when input arrives. Our contribution is the investigation of issues specific to attention in peripheral display design and a toolkit that encapsulates support for these issues. We describe our toolkit architecture and present five sample peripheral displays demonstrating our toolkit's capabilities.

In Proceedings of UIST 2005
Article Picture

Citrus: a language and toolkit for simplifying the creation of structured editors for code and data (p. 3-12)

Abstract plus

Direct-manipulation editors for structured data are increasingly common. While such editors can greatly simplify the creation of structured data, there are few tools to simplify the creation of the editors themselves. This paper presents Citrus, a new programming language and user interface toolkit designed for this purpose. Citrus offers language-level support for constraints, restrictions and change notifications on primitive and aggregate data, mechanisms for automatically creating, removing, and reusing views as data changes, a library of widgets, layouts and behaviors for defining interactive views, and two comprehensive interactive editors as an interface to the language and toolkit itself. Together, these features support the creation of editors for a large class of data and code.

In Proceedings of UIST 2006
Article Picture

Reflective physical prototyping through integrated design, test, and analysis (p. 299-308)

Abstract plus

Prototyping is the pivotal activity that structures innovation, collaboration, and creativity in design. Prototypes embody design hypotheses and enable designers to test them. Framin design as a thinking-by-doing activity foregrounds iteration as a central concern. This paper presents d.tools, a toolkit that embodies an iterative-design-centered approach to prototyping information appliances. This work offers contributions in three areas. First, d.tools introduces a statechart-based visual design tool that provides a low threshold for early-stage prototyping, extensible through code for higher-fidelity prototypes. Second, our research introduces three important types of hardware extensibility - at the hardware-to-PC interface, the intra-hardware communication level, and the circuit level. Third, d.tools integrates design, test, and analysis of information appliances. We have evaluated d.tools through three studies: a laboratory study with thirteen participants; rebuilding prototypes of existing and emerging devices; and by observing seven student teams who built prototypes with d.tools.

In Proceedings of UIST 2006
Article Picture

SwingStates: adding state machines to the swing toolkit (p. 319-322)

Abstract plus

This article describes SwingStates, a library that adds state machines to the Java Swing user interface toolkit. Unlike traditional approaches, which use callbacks or listeners to define interaction, state machines provide a powerful control structure and localize all of the interaction code in one place. SwingStates takes advantage of Java's inner classes, providing programmers with a natural syntax and making it easier to follow and debug the resulting code. SwingStates tightly integrates state machines, the Java language and the Swing toolkit. It reduces the potential for an explosion of states by allowing multiple state machines to work together. We show how to use SwingStates to add new interaction techniques to existing Swing widgets, to program a powerful new Canvas widget and to control high-level dialogues.

ui toolkit

In Proceedings of UIST 1992
Article Picture

Programming time in multimedia user interfaces (p. 125-134)

Abstract plus

The new media types used in advance user interfaces and interactive systems introduce time as a significant variable. This paper addresses the architectural support and programming tools that should be provided to the programmer to manage the time dependencies. The approach considers that the basic models and programming paradigms adopted in the manipulation and management of time should be isomorphic with the spatial models used in existing graphical user interfaces.

The paper describes the architectural principles of a toolkit designed to support the construction of user interfaces with temporal characteristics. The Ttoolkit is an extension of an existing graphical user interface toolkit, the Xt toolkit. Its design is presented and a sample application is described.

user interface toolkit

In Proceedings of UIST 1992
Article Picture

Frameworks for interactive, extensible, information-intensive applications (p. 33-41)

Abstract plus

We describe a set of application frameworks designed especially to support information-intensive applications in complex domains, where the visual organization of an application's information is critical. Our frameworks, called visual formalisms, provide the semantic structures and editing operations, as well as the visual layout algorithms, needed to create a complete application. Examples of visual formalisms include tables, panels, graphs, and outlines. They are designed to be extended both by programmers, through subclassing, and by end users, through an integrated extension language.

In Proceedings of UIST 1992
Article Picture

Progress in building user interface toolkits: the world according to XIT (p. 181-190)

Abstract plus

User interface toolkits and higher-level tools built on top of them play an ever increasing part in developing graphical user interfaces. This paper describes the XIT system, a user interface development tool for the X Window System, based on Common Lisp, comprising user interface toolkits as well as high-level interactive tools organized into a layered architecture. We especially focus on the object-oriented design of the lower-level toolkits and show how advanced features for describing automatic screen layout, visual feedback, application links, complex interaction, and dialog control, usually not included in traditional user interface toolkits, are integrated.

In Proceedings of UIST 1993
Article Picture

Converting an existing user interface to use constraints (p. 207-215)

In Proceedings of UIST 1994
Article Picture

An architecture for an extensible 3D interface toolkit (p. 59-67)

Abstract plus

This paper presents the architecture for an extensible toolkit used in construction and rapid prototyping of three dimensional interfaces, interactive illustrations, and three dimensional widgets. The toolkit provides methods for the direct manipulation of 3D primitives which can be linked together through a visual programming language to create complex constrained behavior. Features of the toolkit include the ability to visually build, encapsulate, and parameterize complex models, and impose limits on the models. The toolkit's constraint resolution technique is based on a dynamic object model similar to those in prototype delegation object systems. The toolkit has been used to rapidly prototype tools for mechanical modelling, scientific visualization, construct 3D widgets, and build mathematical illustrations.

In Proceedings of UIST 1994
Article Picture

Blending structured graphics and layout (p. 167-173)

Abstract plus

Conventional windowing environments provide separate classes of objects for user interface components, or “widgets,” and graphical objects. Widgets negotiate layout and can be resized as rectangles, while graphics may be shared, transformed, transparent, and overlaid. This presents a major obstacle to applications like user interface builders and compound document editors where the manipulated objects need to behave both like graphics and widgets.

Fresco[1] blends graphics and widgets into a single class of objects. We have an implementation of Fresco and an editor called Fdraw that allows graphical objects to be composed like widgets, and widgets to be transformed and shared like graphics. Performance measurements of Fdraw show that sharing reduces memory usage without slowing down redisplay.

In Proceedings of UIST 1995
Article Picture

Animating direct manipulation interfaces (p. 3-12)

In Proceedings of UIST 1997
Article Picture

Systematic output modification in a 2D user interface toolkit (p. 151-158)

In Proceedings of UIST 1997
Article Picture

Debugging lenses: a new class of transparent tools for user interface debugging (p. 179-187)

In Proceedings of UIST 2000
Article Picture

The architecture and implementation of CPN2000, a post-WIMP graphical application (p. 181-190)

window toolkit

In Proceedings of UIST 1995
Article Picture

High-latency, low-bandwidth windowing in the Jupiter collaboration system (p. 111-120)