Computer Science Department
School of Computer Science, Carnegie Mellon University


The Case for an Open Data Model

Brad A. Myers

August 1998

Also appears as CMU-HCII-98-101

Keywords: Open Data Model, object-oriented Programming, components, toolkits, user interface tools, user interface development environments, user interface management systems (UIMSs)

The trend in modern software systems such as Java is to support "reflection" where independent software can query to find out the properties of objects. We have been investigating the implications of taking this property even further-so that all aspects of an application are open and available to inspection by external software. By making the fundamental data structures of the application have a standard format, external components can access the information they need without requiring a complex protocol. We have found that this gives the application developer and end users many important benefits, including support for increased automation, extensive end-user customization capabilities, external agents and tutors, sophisticated search and replace, scripting and macros, alternative interfaces without re-implementing the application, plug-ins that operate in the same space, and significantly higher re-use of common code. Many of these benefits are demonstrated in our Amulet user interface development environment which uses the open data model.

27 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by