December 17, 2008

HCI-Patterns

In meiner Masterarbeit beschäftigte ich mich mit Patterns (dt. Muster) für den Bereich der Human Computer Interaction (HCI), also der Mensch-Computer-Interaktion und möchte in diesem kurzen Beitrag erörtern, was HCI-Patterns charakterisiert und wie sich diese beispielsweise hinsichtlich der Software-Patterns einordnen.

Patterns allgemein

Zunächst muss der Begriff des Pattern im Allgemeinen geklärt werden. So ist ein Pattern als eine Vorlage von Schritten zum Erreichen eines bestimmten Ziels beschrieben [Crowther 1995]. Weiter wurde der Begriff grundlegend durch den Architekten Christopher Alexander, der 253 Patterns im Bereich der städtischen Architektur definierte, geprägt. Alexander [1977] zufolge ist ein Pattern eine dreiteilige Regel, die eine Beziehung zwischen einem bestimmten Kontext, einem Problem und einer Lösung ausdrückt, wobei es sich um ein wiederkehrendes Problem handelt, das mit der entsprechenden Lösung immer behoben werden kann.

Software-Patterns

Die Idee etabliert Lösungswege in Form von Patterns zu beschreiben, fand mit den Design-Patterns der Gang of Four (GoF) Einzug in das Software-Engineering. Allerdings sind diese Patterns lediglich von Sofwareentwicklern zu verstehen, da diese häufig technische Konstrukte umschreiben. Dies steht im Widerspruch zu der ursprünglichen Idee von Alexander [Borchers 2000b, van Welie 2001, 98f], da die Patterns von Alexander das Ziel verfolgen möglichst benutzerfreundliche Lösungen zu beschreiben. Diese können auch von Laien verstanden werden, so dass sie mit den Spezialisten besser kommunizieren können, wobei die Zusammenarbeit zwischen Bauherr und Architekt ein Beispiel darstellt.

Zwar verwenden die Software-Patterns die gleiche Form zur Beschreibung, aber im Unterschied zu den Architektur-Patterns verfolgen sie andere Ziele, wie Wiederverwendbarkeit, Flexibilität und Effizienz eines Systems [van Welie u. a. 2000]. Obwohl die Patterns in der Softwaretechnik nicht dazu dienen, dass der Endbenutzer seine eigene Software-Architektur beschreiben kann, haben sie dennoch ihre Daseinsberechtigung: Sie schaffen ein Vokabular zur Kommunikation zwischen Softwareentwicklern [Borchers 2000a].

HCI-Patterns

Die Patterns im Bereich HCI unterstützen den ursprünglichen Gedanken von Alexander stärker, da diese Probleme des Endbenutzer lösen [Borchers 2000b, van Welie 2001, 98f]. Ein HCI-Pattern kann folgendermaßen definiert werden:
„An HCI design pattern captures the essence of a successful solution to a recurring usability problem in interactive systems.“ [Borchers 2001, S. 179]

Demnach fokussieren sich HCI-Patterns auf wiederkehrende Usability-Probleme, wobei Usability als die „Qualität eines Systems hinsichtlich der leichten Erlernbarkeit, Bedienbarkeit und der Benutzerzufriedenheit“ [Rosson und Carroll 2000, S. 9] dargestellt wird und als Gebrauchstauglichkeit übersetzt werden kann. Deshalb findet sich auch häufig der Begriff des Usability-Patterns [Borchers u. a. 2001, Mahemoff und Johnston 2001, Henninger und Ashokkumar 2005]. Einige Ausführungen konzentrieren sich besonders stark auf die Usability, wonach ein Pattern, das nicht mindestens eine Usability-Eigenschaft aus einer vorgegebenen Menge von Eigenschaften positiv beeinflusst, kein HCI-Pattern ist [van Welie u. a. 2000]. Allerdings existiert keine Einigkeit über die Eigenschaften, so dass exemplarisch die von van Welie u. a. [2000] und Mahemoff und Johnston [1998] aufgelistet sind:
van Welie u. a. [2000] Mahemoff und Johnston [1998]
- Lernfähigkeit - Aufgabeneffizienz (Einfacheit, Effizienz)
- Einprägsamkeit - Wiederverwendung (Konsistenz)
- Geschwindigkeit der Durchführung - Benutzer-Maschine Kommunikation (Rückmeldung)
- Fehlerhäufigkeit - Robustheit
- Zufriedenheit - Flexibilität
- Erledigung der Aufgabe - Verständlichkeit (Einfachheit, Vertrautheit, Visueller Aufbau)

Beispiele für HCI-Patterns

Zum Abschluss sind einige Patterns aus dem Bereich der HCI aufgeführt, so dass der Anwendungsbereich deutlicher erscheinen sollte. Des Weiteren sind zahlreiche Sammlungen angegeben, die HCI-Patterns beschreiben. Diese Liste ist allerdings nicht vollständig und bei der Verwendung sollte der Nutzen eines beschriebenen Patterns immer kritisch hinterfragt werden. Auch wenn ein Pattern in einer der Sammlungen aufgelistet ist, so ist das keine Garantie für die "Korrektheit" der beschriebenen Lösung.
Sammlungen von HCI-Patterns:

Shopping Card
Shopping Card

Literatur


[Borchers 2000a] BORCHERS, Jan: A Pattern Approach to Interaction Design. In: ACM (Hrsg.): Proceedings of the 3rd conference on Designing interactive systems: processes, practices, methods, and techniques, 2000 (Symposium on Designing Interactive Systems.), S. 369–378

[Borchers 2000b] BORCHERS, Jan O.: Interaction Design Patterns: Twelve Theses. In: The CHI 2000 Conference on Human Factors in Computing Systems, ACM, 2000, S. 2–3

[Borchers 2001] BORCHER S, Jan: A Pattern Approach to Interaction Design. John Wiley Sons, 2001. – ISBN 978-0-471-49828-5

[Borchers u. a. 2001] BORCHERS, Jan 0. ; FINCHER, Sally ; GRIFFITHS, Richard N. ; PEMBERTON, Lyn ; SIEMON, Elke: Usability pattern language: Creating a community. In: AI Society 15 (2001), Nr. 4, S. 377–385

[Crowther 1995] CROWTHER, Jonathan (Hrsg.): Oxford Advanced Learner ’s Dictionary of Current English. Bd. 5. Oxford University Press, 1995

[Henninger und Ashokkumar 2005] HENNINGER, Scott ; ASHOKKUMAR, Padmapriya: An Ontology-Based Infrastructure for Usability Design Patterns. In: Semantic Web Enabled Software Engineering (SWESE), 2005, S. 41–45

[Mahemoff und Johnston 2001] MAHEMOFF, Michael ; JOHNSTON, Lorraine J.: Usability Pattern Languages: the ”Language” Aspect. In: HIROSE, M. (Hrsg.): Human-Computer Interaction: Interact ’01. Tokyo, Japan : IOS Press, 2001, S. 350–358

[Rosson und Carroll 2000] ROSSON, Mery B. ; CARROLL, John M.: Usability engineering : scenario-based development of human-computer interaction. Morgan Kaufmann, 2000. – ISBN 1558607129

[van Welie 2001] WELIE, Martijn van: Task-based User Interface Design, Vrije Universiteit Amsterdam, Dissertation, 2001

[van Welie u. a. 2000] WELIE, Martijn van ; VEER, Gerrit C. van der ; ELIENS, Anton: Patterns as Tools for User Interface Design. In: VANDERDONCKT, Jean (Hrsg.) ; FARENC, Christelle (Hrsg.): Tools for Working With Guidelines: Annual Meeting of the Special Interest Group, Springer Verlag, 2000