A Plattform-Independent User Interface Description Language
This paper describes an approach for defining user interfaces in a platform-independent way. The idea is to specify user interfaces in a notation that is based on XML and contains any relevant information in a toolkit-neutral way. From this specification we can produce output for platforms such as stand-alone applications, Web-based user interfaces or formatted print output.
There is a great demand to present the data from information systems on different user interface platforms. Often the user interface of a stand-alone application and a Web-based interface are simultaneously used. In addition to this the contents must be available as a formatted output for printing. In traditional clients the layout and the behavior is redundantly hard coded in a specific language such as C++ or Java. Modifications and/or extensions of the underlying data structure require an adaptation of each single view realized in a certain tech-nology. This results in considerable modification and migration effort.
The key idea of our approach is to separate the elements that are identical in each view in a platform-independent description. This so-called base definition can be extended to customize semantical differences of each user interface. Due to this mechanism generally usable libraries can be created and applied.
Traditionally it must be exactly specified which elements are included in a view and to which data source they are wired. Integrating elements with selectors avoids manual adaptation in some cases, for example if the num-ber of the used fields of the data structure changes.
Other approaches such as UIML [See PHAN00] or IML [See GSm01] avoid the above shortcomings but devi-ate from the idea of this paper. Although they deal with user interface descriptions their realization concept and their aim are different. UIML describes the used parts outside the source code and renders them in a platform-specific way. It can be used to describe a user interface that is tailored for a specific platform. IML follows a rather abstract and generic concept. It has much in common with the idea of this paper. However, IMLŐs level of abstraction is not necessary to realize our aims.
A platform-independent description offers an open structure to integrate views realized with future technologies. It opens the way towards a component-based architecture of user interfaces.
Technical Report 16, Institute for Practical Computer Science, Johannes Kepler University Linz, Austria, March 2001.