Results 1 -
4 of
4
The Amulet Environment: New Models for Effective User Interface Software Development
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 1996
"... The Amulet user interface development environment makes it easier for programmers to create highly-interactive, graphical user interface software for Unix, Windows or Macintosh. Amulet uses new models for objects, constraints, animation, input, output, commands, and undo. The object system is a prot ..."
Abstract
-
Cited by 115 (18 self)
- Add to MetaCart
The Amulet user interface development environment makes it easier for programmers to create highly-interactive, graphical user interface software for Unix, Windows or Macintosh. Amulet uses new models for objects, constraints, animation, input, output, commands, and undo. The object system is a prototype-instance model in which there is no distinction between classes and instances or between methods and data. The constraint system allows any value of any object to be computed by arbitrary code and supports multiple constraint solvers. Animations can be attached to existing objects with a single line of code. Input from the user is handled by "Interactor" objects which support reuse of behavior objects. The output model provides a declarative definition of the graphics, and supports automatic refresh. Command objects encapsulate all of the information needed about operations, including support for various ways to undo them. An key feature of the Amulet design is that all graphical objec...
User Interface Software Tools
- ACM TRANSACTIONS ON COMPUTER-HUMAN INTERACTION
, 1993
"... Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others ..."
Abstract
-
Cited by 109 (8 self)
- Add to MetaCart
Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others have proven less successful at supporting the kinds of user interfaces people want to build. This article discusses the different kinds of user interface software tools, and investigates why some approaches have worked and others have not. Many examples of commercial and research systems are included. Finally, current research directions and open issues in the field are discussed.
Yet Another Object-Oriented Constraint Resolution System: An Open Architecture Approach
, 1994
"... In this paper we present YAFCRS, a new object-oriented constraint system which ensures backtracking-based global resolution. First, based on objects, we define a modular representation of constraint satisfaction problems and provide a general algorithmic framework to resolve them. Then, by the defin ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
In this paper we present YAFCRS, a new object-oriented constraint system which ensures backtracking-based global resolution. First, based on objects, we define a modular representation of constraint satisfaction problems and provide a general algorithmic framework to resolve them. Then, by the definition of compound constraint classes, we allow to state compound constraints on any objects. In order to demonstrate the possibilities of our system, we modelize, define, and resolve a small, typical scheduling problem.
Debugging Interactive Applications
"... Although interactive, direct manipulation applications are known to be difficult to design and implement, the toolkits with which they are built generally do not contain any particular support for debugging. The Amulet toolkit contains a comprehensive collection of monitoring and debugging tools, in ..."
Abstract
- Add to MetaCart
Although interactive, direct manipulation applications are known to be difficult to design and implement, the toolkits with which they are built generally do not contain any particular support for debugging. The Amulet toolkit contains a comprehensive collection of monitoring and debugging tools, including an interactive "Inspector." These tools are provided in a machine-independent way in C++ without using hooks into the compiler, symbol tables or the runtime stack. Some of these capabilities are based on wellknown techniques, but others are innovations that have never been provided before. Based on our experience with writing and debugging interactive applications, we have provided tools to address the most common and difficult programming bugs. The capabilities include: viewing values of objects as they change; breaking into the debugger when values change; viewing the inheritance and grouping hierarchies of objects; feedback for why objects are not visible or not interactive; tracing of constraint dependencies; and various techniques to search for objects. In addition, programmers can edit the values displayed in the Inspector, supporting rapid prototyping without requiring a C++ interpreter. These features make debugging interactive applications written using Amulet is substantially easier than with other toolkits.

