Design patterns are a common used design aid in the human-computer interaction (HCI) community for efficient re-use of proven design solutions. Although design patterns have been used in the HCI community since the late 1980s, very little research has been done on possible formalization of the design pattern structure. The vast amount of HCI design patterns available today causes problems for both, novices and experienced pattern users. The diversity of design pattern formats represents an obstacle for realizing the full reuse potential promised: each pattern author follows his or her preferred form of a design pattern. This makes it difficult to find and reuse a pattern for a given problem, because before applying a certain pattern, users need to find out how the content elements of a pattern should be interpreted.
The lack of formality may constitute a major obstacle when handling design patterns in software development tools such as IDEs, which support the user interface design process.
This thesis provides a concept to the HCI community that helps pattern authors to encapsulate their HCI knowledge by means of design patterns and to store this knowledge in a formal way. This opens the possibility to use the information offered by design patterns in software applications and databases. A specification language XPLML (eXtended Pattern Language Markup Language), based on PLML (Pattern Language Markup Language developed by Fincher et al.), is developed which uses XML to specify content elements, relations and metadata of HCI design patterns. A novel concept called atomic interaction elements is introduced which is based on a breakdown of the underlying usability concepts of the patterns into their smallest elements.
As a starting point of this research, a survey was conducted among the HCI community and software developers. The goal of this preparatory study was (a) to determine if design patterns are really used to improve and/or speed up the user interface design process and (b) to get an idea if patterns are only an academic concept or also used in industrial environments. The second part of this thesis deals with the structure analysis of HCI design patterns. Hence, 750 design patterns have been analyzed to evaluate the used relationships, metadata and content elements in order to develop design rules for a unified pattern format.
The concept of atomic interaction elements allows the identification of similarities across different patterns according to their underlying usability principles. These usability principles are described in the implementation part of the pattern also known as the pattern's solution.
With that concept it is possible to show that the pattern's solution across different collections and categorizations is the same.