Coordinating User Interfaces for Consistency

ITS separates applications into three components: application functions, a dialog manager, and views supporting user interaction. This structure helps both in creating a consistent interface for a family of applications, and in creating multiple consistent interfaces for a given application according to the device or users it is intended to support. These two capabilities result from separating the application from its interface, and using executable style rules to join them together given a target device and class of user.
There are important differences between developing the application and interface separately, as done in ITS and other UIMS, and using a toolkit to support consistency. Toolkits, such as the X Window System toolkits [McCormack 1988, Palay 1988] are libraries of interface components such as scroll bars, window headers, and menus used by application developers. Different applications using the same toolkit components will present consistent interfaces to the user. Toolkits also reduce application development time by reusing shared components. Toolkits do not, however, allow applications to be run in multiple styles. This is because calls to specific toolkit components remain intermixed with other code so applications can't easily be reconfigured with interfaces for different devices or users.
A toolkit also represents only the end products of a series of design decisions that create, and govern the use of, interface components. The rules for selecting and using these components are documented only in hardcopy form. ITS represents this knowledge in executable form and so...