skip to main content
Extending interactive graphical applications with constraints (user interface)
Publisher:
  • University of Washington
  • Computer Science Dept. Fr-35 112 Sieg Hall Seattle, WA
  • United States
ISBN:978-0-599-81680-0
Order Number:AAI9975949
Pages:
166
Bibliometrics
Skip Abstract Section
Abstract

A constraint is a relation that we would like to maintain. Over the last thirty years, a number of problems have prevented constraints from being widely accepted for use in interactive graphical applications. The biggest difficulty of applying constraints has been finding the right tradeoff between performance and expressiveness. To be able to satisfy systems of constraints efficiently enough for real-time use, interactive applications have restricted the problem to solving less-expressive sets of constraints. One common such restriction is to require that the constraint relationships are acyclic, thus enabling simple techniques based on local propagation. Unfortunately, these limitations in expressiveness counteract the benefits that the declarative specification of relationships with constraints is intended to provide.

A sophisticated new constraint solving toolkit, Cassowary (based on the simplex algorithm), is presented. It is designed to support especially easy embedding of efficient constraint-solving capabilities in arbitrary interactive graphical applications. To prove its usefulness and refine its capabilities, the Cassowary toolkit was used in three such applications: the Scheme Constraints Window Manager (S CWM ) explores exposing the power of constraints to the end user via a graphical user interface; Constraint Cascading Style Sheets (CCSS) for the Amaya web browser illustrates how constraints can be a powerful means of understanding a complex procedural specification and can provide a unifying implementation mechanism; and Constraint Scalable Vector Graphics (CSVG) for the CSIRO SVG viewer demonstrates that constraints provide a powerful framework for delaying the final layout of diagrammatic illustrations to enable visualizations better adapted to the viewing environment. Each of these applications benefits from constraint features and maintains good performance by leveraging Cassowary.

Constraint solving, and in particular the Cassowary constraint solving toolkit, can provide useful capabilities that are easy to take advantage of. It, and similar technologies, are ready for more significant and ambitious use in the domain of interactive graphical applications.

Contributors
  • University of Washington
  • University of Washington

Recommendations