The ever increasing number of mobile devices as well as concepts like "Designing for Peak Experience" inevitably lead to a quest for applications that provide user interfaces (UIs) for a growing number of different contexts of use. The contexts of use differ in platforms and devices, user groups and their goals, as well as other boundary conditions such as the environment during interaction. This dissertation provides concepts that aid the developer in creating such Multi User Interfaces (MBS) and allow their execution.
Hereby, a first, essential contribution of this thesis is the concept formation and elicitation of requirements, which goes beyond the related work. Terms of the problem and solution domain were investigated in the context of related approaches; hereby, inconsistencies have been identified, especially in relation to the terms "Abstract User Interface (AUI)" and "Concrete User Interface (CUI)". This finding had substantial impact on the concepts developed in this thesis. In particular, the common dichotomy between AUI and CUI was dismissed in favor of an arbitrary number of increasingly concrete user interface descriptions. This novelty shapes the presented thesis and is reflected in the term "Abstraction Independent User Interface (UUI)".
According to the requirements, a concept was developed, which is comprised of i) an architecture pattern for MBS, ii) a domain specific language for describing MBS and iii) interactive as well as explorative support concepts. Hereby, modeling techniques for the UI structure (e.g., the layout for graphical UIs) are linked to programming techniques for the UI behavior. The architecture pattern for MBS is based on the pattern "Model View Controller (MVC)", which was extended to support multiple variants of a UI as well as to explicitly handle inheritance of behavior. Also developed in this thesis, the domain specific language (DSL) provides means for modeling the MBS variants and their refinement associations (inheritance) among each other. Thereby, the different variants of a MBS are ordered in a tree structure (refinement tree), allowing the propagation of a modification to arbitrary many variants.
Based on the architecture pattern and the architecture developed in this thesis, support concepts were devised focusing ease of use by the developer. Explorative support concepts make transparent the state of development of the MBS; they therefore visualize the refinement tree, as well as interfaces between behavior and structure. In contrast, interactive support concepts provide for the modification of one or multiple variants of the MBS. The interpreter is pivotal, as it brings user interface models directly to interaction. The concept also provides for extending interpreters to WYSIWYG like editors. Finally, modular adaption concepts encapsulate specific user interface adaptations (e.g., scaling) into an easy to use form for the developer.
The concepts were applied in a research project with industry partners, by means of a prototypical implementation called Mapache. An infrastructure was developed, supporting the design and runtime. On top of it, a development environment was built and implemented in Eclipse. It allows for highly integrated development of Java based Multi-User-Interfaces.
Finally, the concepts developed and implemented were evaluated through a use case of the project and a user study. The use case showed that the requirements elicited are fulfilled by the approach developed. The user study, conducted in the form of "Cooperative Evaluation", resulted in a positive assessment of the approach and highlighted aspects that have to be considered when applying the approach in practice. As expected, the fundamentally new possibility to work on UIs at multiple levels of abstractions at the same time, proved to be utmost helpful when developing federated user interfaces. Overall, the presented thesis contributed to the general requirements of efficiency, ease of use, and consistency. The quality of the study itself goes beyond related work, in terms of practices applied, only professional developers of user interfaces were participating and the choice of the evaluation method was made explicit and transparent.