Model-Based User Interfaces
1.5 hours of lecture and discussion each week, along with significant work with software tools and platforms to prepare for class meetings.
The emerging discipline of Document Engineering and related approaches to model-based system architectures use conceptual models of documents and processes as specifications for generating code or configuring an application. This approach separates the context-specific semantics that are based on the model(s) from the generic functionality of the application provided by the "platform" on which is it implemented. The simplest example of this approach is probably "e-books" or other structured publications in which user interface features like tables of contents, hypertext links, and navigation aids are generated from the names or attributes of the data model components in the document (enumerated choices, tables of contents and other entry points, navigation aids, links). Another simple class of model-based applications involves the use of "e-forms" to collect the information specified in the document's data model to automate processes that previously have relied on printed forms.
This design approach might seem incompatible with the conventional user interface design approach of iterative prototyping and usability evaluation in which document and process models are not explicitly considered. The goal of this course is to work toward a system design methodology that incorporates both of these approaches. The course will review the relevant literature in document engineering and system architecture as well as test the capabilities of platforms like XFORMS, Adobe Forms Designer, Orbeon OXF, Mozilla and similar software that use XML schemas as user interface specifications.