• Categories

  • Archives

A User Interface Toolkit Based on Graphical Objects and Constraints

This is a paper from Pedro A. Szekely and Brad A. Myers that describes a user interface toolkit called Coral (Constraint-based Object-oriented Relations And Language). Coral uses constraints to manage the relationships between the graphical objects on the screen and the application data structures that they represent. The input from the mouse and keyboard is also not handled by the graphical objects themselves, but by special input handling objects called interactors. This paper can be obtained through the ACM site, in the following link:

http://portal.acm.org/citation.cfm?id=62083.62088

Even though the paper is centered in Coral, it gives some insights for the construction of interfaces in which it’s whether recommend or required the use of constraints to obtain a good software product.

  • The use of a hierarchy of graphical objects facilitates the creation of new classes of objects, because the new graphical objects can inherit the complex mechanisms already implemented or override it to their specific needs.
  • Another aspect is defining constraints that can be applied to list of graphical objects and making them reusable so that different sets of constraints can be applied to different instances of the same class.
  • Last but not least, the fact that Coral uses mechanisms call Active Values (data values plus a list of objects and procedures that depend on that value) to provide a clean separation between the user interface and rest of the application. This is a very important aspect in the developing of applications, because allows the application and the interface to evolve without having the burdens that would come with the tact that they were tied to each other.