Die Diplomarbeit wurde erarbeitet am:
Fraunhofer-Institut für Arbeitswirtschaft und Organisation (IAO) Competence Center Human-Computer Interaction Nobelstr. 12 D-70569 Stuttgart. Tel: ++49 (0)711 970-2331 Fax: ++49 (0)711 970-2300 Internet: http://www.hci.iao.fhg.de
Inhaltsverzeichnis
Inhaltsverzeichnis
Inhaltsverzeichnis................................................................................... II
Eidesstattliche Erklärung. IV
1 Einleitung 1
1.1 Aufbau der Arbeit. 1
2 Design Patterns 2
2.1 Was sind Design Patterns und eine Pattern-Sprache? 2
2.2 Design Patterns vs. Style Guides und Guidelines 3
3 Design Pattern-Sprachen 4
3.1 Ursprung. 4
3.1.1 Design Patterns in der Architektur. 4
3.1.2 Design Patterns in der Softwaretechnik 5
3.2 Design Patterns im Bereich Human-Computer Interaction (HCI) 5
3.2.1 HCI Design Pattern-Sprachen 7
3.2.1.1 Interface Design Patterns von Jenifer Tidwell 7
3.2.1.2 Interaction Design Patterns von Martijn van Welie 7
3.2.1.3 Der Ansatz von Jan Borchers 8
3.2.1.4 Website Design Patterns von van Duyne, Landay und Hong 9
3.2.1.5 Interface Design Patterns für mobile Geräte von Weir und Noble 9
3.3 Notationsformen 10
3.4 Notationsform in dieser Arbeit. 11
3.4.1 Format 11
3.4.2 Struktur. 14
3.4.3 Sprache. 15
4 Das Projekt SAiMotion 16
4.1 Design Patterns in SAiMotion 17
5 Design Patterns für mobile Applikationen 18
6 Design Patterns für Navigationssysteme auf mobilen Geräten 21
7 Ergebnisse und Ausblick. 25
Abk ürzungsverzeichnis 26
Abbildungsverzeichnis. 27
II
Inhaltsverzeichnis
Literaturverzeichnis. 28
Anh änge 31
Anhang A Hierarchien der Design Pattern-Sprachen. A
Anhang B Design Patterns für mobile Applikationen. B
Anhang C Design Patterns für Navigationssysteme auf mobilen
Ger äten. C
III
Einleitung
1 Einleitung
Die Entwicklung und Gestaltung von Benutzerschnittstellen für mobile Applikationen stellt eine besondere Herausforderung an den Designer dar. Mobile Endgeräte wie beispielsweise PDAs (Personal Digital Assistants), Pager, Mobiltelefone und Smartphones bringen eine Menge von Einschränkungen bezüglich ihrer Bildschirmgröße, der Eingabemöglichkeiten, der Rechenleistung usw. mit sich, die ein Designer bei der Gestaltung von Applikationen für diese Geräte mit einbeziehen muss.
Um jedoch nicht für jedes Projekt das Rad neu erfinden zu müssen, sollen einmal entdeckte Design-Lösungen gespeichert und Projektteams auf eine einfache und verständliche Weise zugänglich gemacht werden. Hierzu gibt es mehrere Ansätze, von denen jener der Design Patterns in dieser Arbeit detailliert erläutert werden soll. Am Beispiel einer Design Pattern-Sprache für mobile Applikationen und einer speziellen Sprache für Navigationssysteme auf mobilen Endgeräten wird gezeigt, wie Design-Wissen dieser Anwendungsbereiche mit Hilfe von Design Patterns gesammelt, gespeichert und somit für zukünftige ähnliche Projekte zugänglich gemacht werden kann.
1.1 Aufbau der Arbeit
Um den Leser an das Thema heranzuführen, wird in Kapitel 2 zunächst allgemein erklärt, was Design Patterns bzw. Design Pattern-Sprachen sind, wie sie im Vergleich zu anderen Ansätzen, Design-Lösungen zu sammeln, gebraucht werden können und welche Vorteile sie gegenüber diesen Ansätzen bieten. In Kapitel 3 wird anschließend weiter auf Design Pattern-Sprachen eingegangen. Es wird deren Ursprung in der Architektur gezeigt und beschrieben, wie der Ansatz im Laufe der Zeit zunächst in der Softwaretechnik und anschließen auch im Bereich Human-Computer Interaction (Mensch-Maschine Interaktion und Kommunikation) aufgegriffen wurde. So werden Design-Pattern Sprachen zu verschieden Anwendungsbereichen der Human-Computer Interaction gezeigt und deren Notationsformen miteinander verglichen. Hieraus wird anschließend eine Formatierung und Strukturierung für die in dieser Arbeit erarbeiteten Design Patterns entwickelt.
Das Projekt SAiMotion, welches den Rahmen der vorliegenden Diplomarbeit bildet, wird in Kapitel 4 beschrieben. Hier wird gezeigt, wie Design Pattern in konkreten Projekten genutzt werden können und wie die beiden in dieser Arbeit vorgestellten Design Pattern-Sprachen entwickelt wurden.
In den folgenden Kapiteln 5 und 6 werden schließlich die erarbeiteten Design Pattern-Sprachen für mobile Applikationen und für Navigationssysteme auf mobilen Endgeräten vorgestellt. Es wird die Struktur der beiden Pattern-Sprachen gezeigt und somit erklärt, wie die einzelnen Patterns miteinander in Beziehung stehen und dadurch zu einer wirklichen Design Pattern-Sprache werden. Die Ergebnisse beider Pattern-Sprachen werden jeweils in einem speziellen Unterkapitel erläutert.
1
Design Patterns
2 Design Patterns
Wie bereits angedeutet, dienen Design Patterns zur Sammlung und Archivierung von Design-Wissen. Was genau jedoch Design Patterns und Pattern-Sprachen sind und wie diese im Vergleich zu anderen Ansätzen, dieses Wissen zu sammeln, stehen wird im Folgenden Kapitel kurz erläutert.
2.1 Was sind Design Patterns und eine Pattern-Sprache?
Design Patterns sind ein von dem Architekten Christopher Alexander erarbeiteter Ansatz ([Alexander et al. 1977, Alexander 1979]) zur Sammlung und Speicherung von Design-Problemen und den dazugehörigen -Lösungen (vgl. Kapitel 3.1). Eine einfache und dennoch sehr aussagekräftige Definition der beiden Begriffe gibt Jan Borchers in seinem Buch „A Pattern Approach to Interaction Design“:
Somit sind die wichtigsten Elemente von Design Patterns bereits genannt: die Beschreibung eines wiederkehrenden Design-Problems mit der dazugehörigen Lösung, die über Referenzen auf höher und tiefer liegende Patterns verweisen und dadurch eine hierarchische Pattern-Sprache bilden.
Diese Hierarchie von aufeinander verweisenden Design Patterns soll Designern aus verschiedensten Anwendungsbereichen dazu dienen, ihr in Projekten gesammeltes Design-Wissen zu speichern, kategorisieren und somit für künftige Projekte leicht zugänglich zu machen. Dabei soll dieses Wissen nicht nur Designern innerhalb eines bestimmten Anwendungsbereiches zur Verfügung stehen, sondern interdisziplinär zur Kommunikation zwischen Teammitgliedern aus verschiedensten Bereichen und zusätzlich auch den Anwendern, für die gestaltet werden soll, genutzt werden können.
Ein Ansatz also, der besonders dem Bereich der Human-Computer Interaction und der hierin verwendeten Methode des „Participatory Designs“ (vgl. beispielsweise [Schuler, Namioka 1997]), in dem der Endbenutzer einer Anwendung aktiv in den Design-Prozess mit eingebunden wird und dessen Wünsche und Anforderungen an die Software einbezogen werden, dienlich sein kann.
2
Design Patterns
2.2 Design Patterns vs. Style Guides und Guidelines
Wie bereits in der Einleitung dieser Arbeit erwähnt, existieren unterschiedliche Methoden zur Sammlung von Design-Erfahrungen. Zwei weitere allgemeine und häufig verwendete Ansätze sind hierbei Style Guides oder Guidelines. Während Guidelines jedoch meist sehr abstrakt sind und eher allgemeine Design-Prinzipien beschreiben (z.B. Shneiderman’s „Eight Golden Rules of Interface Design“ [Shneiderman 1998, p. 74]), sind Style Guides wie beispielsweise die „Aqua Human Interface Guidelines“ [Apple Computer 2002] oder „Microsoft Windows User Experience“ [Microsoft 1999] zu sehr auf ein bestimmtes System zugeschnitten und verlieren somit ihre Allgemeingültigkeit. Dadurch werden sie hinfällig, sobald für ein anderes System gestaltet werden soll.
Zwar gehen auch Style Guides auf abstraktere Design-Prinzipien ein und versuchen diese für das gewählte System umzusetzen, der Schwerpunkt liegt jedoch auf der Beschreibung konkrete Interface-Elemente und deren Anordnung. Sie enthalten weder eine explizite Problemstellungen noch eine allgemeingültige Lösung eines Design-Problems.
Design Patterns versuchen diese Nachteile zu beheben. Sie sind auf der einen Seite abstrakt, indem sie „zeitlose“ Lösungen für allgemeine Design-Probleme geben, können auf der anderen Seite jedoch auch sehr konkrete Lösungsvorschläge bieten, die zudem auch auf verschiedenen Systemen angewandt werden können. Durch ihre klare interne Strukturierung in Elemente wie Problembeschreibung, Beispiele, grafische und textuelle Lösungsbeschreibung sowie durch die hierarchische Verknüpfung der einzelnen Patterns durch Kontext und Referenzen, bieten sie die Möglichkeit, Design-Aufgaben in einer rekursiven Verfeinerung mittels Durchlaufen der Hierarchie schnell und einfach zu bewältigen. So kann der Pattern-Katalog bei abstrakten Design-Problemen herangezogen werden, um verschiedene Lösungen zu betrachten und anschließend die für das Problem passende auszuwählen.
Darüber hinaus sind Design Patterns weit mehr als individuelle Problem-Lösungen oder Vorschläge. Jedes einzelne Pattern bildet vielmehr eine Vokabel in einer hierarchischen Pattern-Sprache, mit der interdisziplinär innerhalb eines oder auch mehrerer Teams kommuniziert werden kann (vgl. Kapitel 3.2).
3
Design Pattern-Sprachen
3 Design Pattern-Sprachen
3.1 Ursprung
Um den Ansatz der Design Patterns bzw. von Design Pattern-Sprachen für die Gestaltung von Benutzerschnittstellen zu verstehen, soll zunächst der Ursprung der Pattern-Idee gezeigt werden. Dieser entstammt einer - auf den ersten Blickgänzlich anderen Anwendungs-Domäne, der Architektur, und wurde erst allmählich in der Softwaretechnik und anschließend im User Interface (UI)-Design übernommen.
3.1.1 Design Patterns in der Architektur
Der Begriff „Design Patterns“ wurde in den 1970er Jahren von dem Architekten Christopher Alexander geprägt. Alexander, der verschiedene Bücher über Städteplanung und Architektur veröffentlichte, war der Auffassung, dass die zu seiner Zeit verwendeten architektonischen Methoden die wirklichen Anforderungen der Menschen und der Gesellschaft verfehlen und ihrer Hauptaufgabe, der Verbesserung der Lebensbedingungen, nicht gerecht werden [Alexander 1965]. Er wollte Strukturen erzeugen, welche den Komfort und die Lebensqualität der Menschen positiv beeinflussen und forderte, dass Architekten anstreben sollten, ihre Produkte besser an die Bedürfnisse deren Nutzer, der Einwohner, anzupassen. Diese Forderung setzt sich aus drei Konzepten zusammen: the quality, the gate and the way [Alexander 1979].
Mit Qualität ("The Quality Without A Name" [Alexander 1979, p. 26ff.]) meint Alexander alle wesentlichen Bedürfnisse, deren Erfüllung dem Leben Qualität verleihen (z.B. Frieden, Harmonie und Offenheit). Unter dem Tor („The Gate“ [Alexander 1979, p. 160ff.]) versteht er den Mechanismus, der es ermöglicht, diese Qualität zu erreichen. Dahinter verbirgt sich eine allgemeine Pattern-Sprache, die es erlaubt, verschiedene Designs zu schaffen, die all die unterschiedlichen Ansprüche erfüllen. Die Benutzung des Weges („The Timeless Way“ [Alexander 1979, p. 354ff.]) bedeutet die Anwendung der Patterns, welche durch das Tor erläutert werden. Durch eine gemeinsame und lebendige Pattern-Sprache, welche die einzelnen Patterns miteinander in Beziehung setzt und untereinander verlinkt, soll eine allmähliche Problemlösung ermöglicht werden, die auf das Erreichen der Qualität abzielt:
Dazu gehört auch, dass sich der Entwurf eines Städtebauelements nach seiner Verwendung richten sollte und deshalb Design Patterns nicht nur von Architekten,
4
Design Pattern-Sprachen
sondern auch von den Bewohnern in einer allgemein verständlichen Sprache geschrieben werden sollten.
3.1.2 Design Patterns in der Softwaretechnik
Ein erstes Experiment zur Verwendung von Design Patterns in der Softwaretechnik wurde 1987 von Ward Cunningham und Kent Beck durchgeführt. Die beiden Entwickler arbeiteten an einer Benutzeroberfläche für Smalltalk und entschieden sich, Alexanders Ideen zu benutzen, um eine 5 Design Pattern umfassenden Pattern-Sprache zur Einführung neuer Teammitglieder in die Programmierung von Smalltalk zu entwickeln [Beck, Cunningham 1987].
Ein einflussreiches Werk über Patterns in der Softwaretechnik wurde dann 1995 von der so genannte „Gang of Four” [Gamma et. al. 1995] veröffentlicht. Deren Buch „Design Patterns: Elements of Reusable Object-Oriented Software“ ist eine Sammlung von Patterns für Objektorientiertes Design. Da zur Beschreibung der Patterns jedoch nur Diagramme und Skizzen verwendeten, entsprechen diese nicht Alexanders Anforderungen nach einem ausformulierten, leicht verständlichen Aufbau. Trotz konsistentem Aufbau und Struktur sowie einer übersichtlichen Gliederung der Patterns nach deren Verhalten, ist die Sammlung der „Gang of Four” nicht vollständig und stellt daher keine umfassende Patternsprache dar. Mittlerweile existieren zahlreiche sehr unterschiedliche Pattern-Sprachen in der Softwaretechnik, von denen einige eher der Form Alexanders angepasst sind, während andere wiederum die strukturelle Darstellung der „Gang of Four“ bevorzugen.
Auf verschiedenen Konferenzen, welche zumeist von der so genannten Hillside Group 1 veranstaltet werden, findet eine intensive Kommunikation und Diskussion über Design Patterns statt. Dies verdeutlicht die immer stärker werdende Bedeutung von Design Patterns in Wissenschaft und Industrie.
3.2 Design Patterns im Bereich Human-Computer Interaction (HCI)
Im Bereich HCI fanden Design Patterns erst relativ spät Einzug. Es gab zwar Hinweise über den Einfluss von Alexanders Arbeiten auf Texte der HCI (z.B. [Norman 1988, p. 229] und [Apple Computer 1992, p. 338]), Pattern-Sammlungen wie die der „Gang of Four“ oder gar ganze Pattern-Sprachen existierten jedoch noch nicht.
1994 fand das Pattern-Konzept zum ersten Mal konkrete Anwendung im Interaction Design. In einem Interaction Design Curriculum an der Utrecht School of Arts erstellten [Barfield et al. 1994] einige Design Patterns und ließen die Studenten daran Übungen verrichten sowie eigene Patterns aus Beobachtungen und der Umwandlung von Guidelines zu Design Patterns erstellen.
Design Pattern-Sprachen
Einer immer größeren Beachtung und häufigeren Verwendung erfreuen sich Interaction Design Patterns seit 1997. Auf der CHI’97, der größten jährlichen HCI Konferenz, wurde erstmals ein Workshop zum Thema „Interaction Design Patterns“ angeboten 2 , auf dem erörtert werden sollte, wie der Pattern-Ansatz auch auf das Interaktionsdesign angewendet werden kann.
Seitdem finden auf vielen Konferenzen in regelmäßigen Abständen Workshops zu dem Thema statt und mehrere eigene Interaction Design Pattern-Sprachen, welche im Kapitel 3.2.1 vorgestellt werden sollen, wurden entwickelt. Doch wofür werden Design Patterns im Bereich HCI überhaupt benötigt?
Design Pattern-Sprachen
Der Ansatz der Design Patterns erfüllt also die wichtigsten Anforderungen des Interaktionsdesigns. Voraussetzung hierfür ist jedoch, dass die entwickelten Design Pattern-Sprachen auch weiterhin gepflegt, aktualisiert und ggf. erweitert werden, um somit stets die neuesten Design-Erkenntnisse und -Lösungen bereitstellen zu können.
3.2.1 HCI Design Pattern-Sprachen
Mittlerweile wurden für verschiedene Bereiche der Human-Computer Interaction Design Pattern-Sammlungen und auch ganze -Sprachen, die Alexanders Anforderungen genügen, entwickelt. Die wichtigsten sollen im Folgenden kurz vorgestellt werden.
3.2.1.1 Interface Design Patterns von Jenifer Tidwell
Eine mit über 50 Design Pattern sehr umfangreiche Pattern-Sprache bildet „Common Ground“ von Jenifer Tidwell [Tidwell 1999].
Tidwell spricht hierin generelle Probleme der Gestaltung interaktiver Software-Elemente an. Sie kategorisiert die Patterns in verschiedene Gruppen anhand fundamentaler Basisentscheidungen, die bei der Erstellung eines Anwendungs-Designs nötig sind und veranschaulicht die Aussagen jedes einzelnen Patterns anhand vieler Beispiele.
Die untereinander verlinkten Patterns bilden somit eine Design Pattern-Sprache, die der von Christopher Alexander entwickelten Idee sehr nahe kommt:
Neben der „Common Ground“-Sammlung existiert eine weitere, neuere Sammlung von Tidwell - „UI Patterns and Techniques“ [Tidwell 2002]. Hierin wird eine extrem minimalistische Pattern-Form mit nur vier Abschnitten benutzt: Use When, Why, How, und Examples - ein absichtlicher Bruch mit der traditionellen von Alexander entwickelten „Problem - Lösung“ -Form.
3.2.1.2 Interaction Design Patterns von Martijn van Welie
Auch Martijn van Welie liefert mit seiner Pattern-Sammlung „Patterns in Interaction Design“ [van Welie 2003] einen umfangreichen Beitrag zur Gestaltung von Benutzerschnittstellen.
Van Welies Patterns sind anhand der Anwendungs-Domäne, in der das zu erstellenden System eingesetzt werden soll, kategorisiert. Somit existieren Gruppen mit Patterns zum Web Design, zum allgemeinem GUI Design und sogar Patterns für Mobile User Interfaces (wobei sich diese bisher lediglich auf WAP bzw. WML beschränken).
7
Design Pattern-Sprachen
Die Patterns der Anwendungs-Domänen sind wiederum in weitere Untergruppen wie beispielsweise Navigation, Suche, Auswahl, etc. unterteilt. Diese lexikonartige Organisation soll es Designer erleichtern, ein spezielles übergeordnetes Problem zu lösen.
Problematisch hierbei ist jedoch, dass dieser Organisation eine hierarchische Strukturierung auf verschiedenen Ebenen fehlt, die den Designer oder den Anwender der Design Patterns bei der Suche nach einer Problemlösung von abstrakteren Problemen (die in der Hierarchie weiter oben liegen) zu konkreten Problemen (weiter unten in der Hierarchie) und deren Lösungen leitet.
3.2.1.3 Der Ansatz von Jan Borchers
Ein weiterer Ansatz zur Benutzung von Design Patterns für das Interaktionsdesign stammt von Jan Borchers [Borchers 2001]. In seiner als Buch veröffentlichten Promotionsarbeit „A Pattern Approach to Interaction Design“ beschreibt Borchers drei verschiedene Pattern-Sprachen für ein interaktives Musikexponat in einer Ausstellung. Das Buch umfasst eine musikalische Pattern-Sprache, eine HCI Pattern-Sprache sowie eine Software Pattern-Sprache und zeigt somit, wie breit und flexibel der Ansatz genutzt werden kann.
Die einzelnen Patterns orientieren sich stark an der Alexandrianischen Struktur und bilden eine Hierarchie untereinander verknüpfter Patterns, die die Gestaltung von Applikationen für die speziellen Bereiche erleichtert.
Abb. 1: Die HCI Design Pattern-Sprache für interaktive Musikexponate von Jan Borchers 3
Über die Pattern-Sprachen hinaus erklärt Borchers in dem Buch ausführlich, wie Design Patterns zur Archivierung, Verteilung und Strukturierung von Wissen aus der Gestaltung von Benutzerschnittstellen genutzt und somit direkt in den Usability Engineering Lifecycle integriert werden können. Zudem beschreibt er, wie Design Patterns zur Kommunikation innerhalb interdisziplinärer Teams und Projekte genutzt werden können.
Design Pattern-Sprachen
3.2.1.4 Website Design Patterns von van Duyne, Landay und Hong Eine sehr ausführliche Pattern-Sammlung für den Bereich Website und Web Experience Design bildet das Buch „The Design of Sites“ von den Autoren Douglas K. van Duyne, James A. Landay und Jason I. Hong [van Duyne et. al. 2002].
Das Buch enthält 90 Patterns, unterteilt in 12 verschiedene Pattern-Gruppen, die sich mit Themen wie Navigation, Seiten-Layout, Content Management oder E-Commerce befassen.
Die Patterns selbst besitzen ein striktes und einheitliches Format, welches sich im groben an dem Alexandrianischen orientiert. Wie jedoch schon den Design Patterns von van Welie fehlt auch den Patterns in „The Design of Sites“ eine hierarchische Strukturierung, die eine Top-Down Vorgehensweise beim Website Design ermöglichen und den Designer von abstrakten zu konkreten Problemlösungen leiten würde.
3.2.1.5 Interface Design Patterns für mobile Geräte von Weir und Noble
Die wohl erste Arbeit, die sich mit Interface Design Patterns für mobile Geräte und Applikationen beschäftigt, ist „A Window in your Pocket“ von Charles Weir und James Noble [Weir, Noble 2001], welche mittlerweile in einer überarbeiteten Version vorliegt [Weir, Noble 2003].
Die beiden Softwareentwickler beschreiben zehn Design Patterns, die basierend auf einer der Hauptbeschränkungen von mobilen Geräten - der kleinen Displays -Lösungen bei der Gestaltung von mobilen Applikationen geben.
Abb. 2: Die Design Pattern-Hierarchie für kleine User Interfaces von Charles Weir und James Noble
Das Format lehnt sich an jenes von Christopher Alexander an, ist jedoch uneinheitlich und inkonsistent in der Verwendung der verschiedenen Pattern-Elemente. Die Patterns selber verweisen aufeinander und bilden so eine relativ flache Hierarchie, die den Anwender der Pattern-Sprache jedoch bei seiner Arbeit bereits gut unterstützt.
Allerdings ist die Gliederung der Hierarchie nicht immer ersichtlich, so zum Beispiel bei den Patterns SCROLLING und CHAIN OF DIALOGS. In den beiden Patterns
9
Design Pattern-Sprachen
sind keine Referenzen aufeinander enthalten, sind sie jedoch in der Hierarchie miteinander verbunden, was auf eine Beziehung hinweist. Da Weir und Noble in ihren Patterns bereits wichtige Probleme der Gestaltung für mobile Applikationen ausführlich beschreiben und lösen, sollen diese als Grundlage der Design-Pattern-Sprache für mobile Applikationen in dieser Arbeit dienen und in Kapitel 5 um weitere Patterns ergänzt sowie insgesamt vereinheitlicht und in eine klare Hierarchie gebracht werden.
3.3 Notationsformen
Alle existierenden Pattern-Sammlungen besitzen unterschiedliche Formate oder bestehen aus unterschiedlichen Komponenten.
Die wichtigsten Sammlungen [Alexander et. al. 1977], [Gamma et. al. 1995] und [Tidwell 1998] vergleicht Jan Borchers bereits in seinem Buch und stellt anschließend eine formale Definition eines Patterns mitsamt der zugehörigen Komponenten sowie einer Pattern-Sprache auf [Borchers 2001, p. 52 ff.]. Die Komponenten dieser Sprache sollen im Folgenden nochmals mit den vorhandenen HCI Pattern-Sprachen, die bereits in Kapitel 3.2.1 vorgestellt wurden, verglichen werden.
10
Design Pattern-Sprachen
Tabelle: Übersicht über die Komponenten der einzelnen HCI Design Pattern-Sprachen
Wie gut zu erkennen ist, unterscheiden sich die Patterns von [Tidwell 1998], [Borchers 2001] und [van Duyne et. al. 2002] im Format kaum. Lediglich die Anordnung der einzelnen Komponenten ist verschieden. Zudem sind in [Borchers
2001] und [van Duyne et. al. 2002] die einzelne Patterns einheitlicher, während bei [Tidwell 1998] manche Komponenten teilweise weggelassen wurden. Eine Vielzahl verschiedener Komponenten stellt [van Welie 2001] bereit. Diese werden jedoch, je nach Bereich zu dem ein Pattern gehört, sehr unterschiedlich dargestellt. Aus diesem Grund macht die Pattern-Sprache einen eher uneinheitlichen und unfertigen Eindruck.
Auch das Format der Patterns in [Weir, Noble 2003] ist relativ uneinheitlich. Implementierungsvorschläge werden nur hin und wieder geboten und Beispiele werden an unterschiedlichen Stellen innerhalb der Patterns gegeben.
3.4 Notationsform in dieser Arbeit
Im Folgenden werden Format, Struktur und Sprache der in dieser Arbeit entwickelten Design Patterns vorgestellt. Die verwendete Notationsform zielt darauf ab, den einzelnen Patterns ein konsistentes Erscheinungsbild zu geben und sie international verständlich zu machen, um somit die Handhabung der Pattern-Sprache im Projektteam sowohl für Experten als auch Novizen einfach zu gestalten.
3.4.1 Format
Das Format von Borchers’ Pattern-Sprachen, welche formal sehr stark an die von Alexander angelehnt ist, soll aufgrund seiner Einheitlichkeit und dem Vorhandensein aller wichtigen Komponenten auch für diese Arbeit weitgehend verwendet werden. Die einzelnen in dieser Arbeit benutzten Komponenten, werden nachstehend kurz erläutert:
11
Design Pattern-Sprachen
Name
Der Name oder Titel eines Design Pattern ist die eindeutige und kurze Beschreibung der Lösung, die dieses Pattern bietet und drückt dessen zentrale Idee mit wenigen Worten aus.
Er sollte einprägsam sein, möglichst keine Terminologie aus dem speziellen Anwendungsgebiet des Patterns benutzen und wenn möglich eine Analogie zu der allgemeinen Erfahrung, der Idee, die ein Pattern beschreibt, bilden. Der Name eines Patterns bildet somit ein Wort des Vokabulars einer Pattern-Sprache zur Kommunikation unter den verschiedenen am Design-Prozess beteiligten Personen. Illustration
Die Illustration ist neben dem Namen zunächst das erste, was einem Leser beim Studieren eines Patterns auffällt.
Sie dient der Sensibilisierung des Lesers für das Problem und der dazugehörigen Lösung und unterstützt ihn beim Erinnern an ein bestimmtes Pattern. Gerade bei HCI Design Patterns, bei denen zeitliche Abläufe oftmals eine Rolle spielen können, ist die Auswahl eines entsprechenden Mediums zur Darstellung einer Problemsituation wichtig. So können, je nach Präsentationsmedium Grafiken, Animationen oder auch kurze Filme bei der Darstellung des Verhaltens des Benutzerinterfaces verwendet werden. Einleitung und Kontext
In der Einleitung wird das Problem in einen größeren Zusammenhang gesetzt. Dieser Kontext verbindet das Pattern mit weiteren Patterns, die in der Hierarchie höher angesiedelt sind.
Zusammen mit den später beschriebenen Referenzen bietet der Kontext somit den Mehrwert, den eine Pattern-Sprache gegenüber einer losen Pattern-Sammlung besitzt. Problem
In dieser Komponente wird das wesentliche Problem, welches durch ein Design Pattern gelöst wird, zusammenfassend beschrieben.
Hierbei stellt sich oft heraus, dass es meist schwieriger ist, das eigentliche Problem konkret zu beschreiben, als anschließend eine Lösung hierfür zu finden. Problembeschreibung mit konkurrierenden Kräften
In der weiteren Problembeschreibung wird das Problem genauer erläutert und die verschiedenen konkurrierenden Kräfte aufgezählt und gegeneinander abgeschätzt. Hierbei zählen laut Alexander neben physikalischen Kräften auch psychologische, soziale und ökonomische Faktoren eine wichtige Rolle.
12
Design Pattern-Sprachen
Die verschiedenen Kräfte wirken meist gegeneinander und auch entgegen der gewünschten Zielsetzung und verursachen somit Konflikte und Beschränkungen auf dem Weg zum Ziel.
All diese Komplikationen eines Problems müssen aufgedeckt und mögliche Kompromisse, die zur Aufhebung dieser Spannungen dienen können, gefunden werden. Beispiele
Durch mehrere Anwendungsbeispiele soll der spezifische Zusammenhang und die richtige Einordnung des Patterns zur Konstruktion einer Gesamtlösung verdeutlicht werden.
Bewährte Anwendungen zu existierenden Lösungen verdeutlichen den Gebrauch und die Anwendbarkeit des Patterns und liefern somit einen empirischen Beweis für dessen allgemeine Gültigkeit.
Hierbei benutzt Borchers einen induktiven Ansatz, bei dem zunächst konkrete Beispiele gezeigt werden, die anschließend zu einer allgemeinen Lösung generalisiert werden. Lösung
Die durch ein überleitendes „Therefore:“ („Deshalb“ oder „Aus diesem Grunde“) eingeleitete Lösung stellt den Kern und die zentrale Aussage eines Patterns dar. Sie enthält konstruktive Design-Empfehlungen, welche psychologische, räumliche und zeitliche Aspekte mit einbeziehen, um hierdurch eine Interaktion so natürlich wie möglich zu gestalten.
Die Lösung wird meist in imperativer Form geschrieben und sollte möglichst kurz gehalten werden. Diagramm
Im Diagramm wird die Haupt-Idee eines Patterns in einer schematischen Darstellung vereinfacht und zusammengefasst dargestellt. Diese ist meist präziser als die anfängliche Illustration. Referenzen
Wie schon beschrieben bilden die Referenzen zusammen mit dem Kontext den Mehrwert einer wirklichen Pattern-Sprache gegenüber einer einfachen Sammlung. In den Referenzen wird auf „kleinere“ Patterns verwiesen, welche als nächstes angewandt werden können, um ein Design weiter zu verfeinern. Somit führt die Anwendung eines Patterns zur Anwendung eines ihm verwandten.
13
Design Pattern-Sprachen
Bemerkungen
Bemerkungen können genutzt werden, um weitere Anmerkungen und Kommentare zu einem Pattern festzuhalten. Dies kann besonders wichtig sein, um eventuelle Vorschläge zur zukünftigen Vertiefung des Design-Problems bzw. dessen Lösung zu notieren.
In der Design Pattern-Sprache für mobile Applikationen wird in den Bemerkungen zudem festgehalten, welche Patterns anderer Autoren als Grundlage oder Anregung für das jeweilige Pattern dienten.
Existieren keine Anmerkungen, so sollte diese Komponente weggelassen werden.
3.4.2 Struktur
Alexander führte für seine Pattern-Sprache verschiedene typografische Regeln zur Strukturierung der einzelnen Patterns ein [Alexander 1979]. Dieser Ansatz, der auch von Borchers verwendet wird [Borchers 2001], umgeht eine explizite Beschriftung der einzelnen Komponenten und soll die Lesbarkeit der Pattern-Texte verbessern. Beim Lesen sowohl Alexanders als auch Borchers’ Pattern-Sprachen stellte sich jedoch heraus, dass gerade für Personen, die zum ersten Mal Kontakt mit Design Patterns hatten, diese Strukturierung nicht immer einfach und intuitiv verständlich war. So war oftmals nicht direkt ersichtlich, welche Komponente in welchem Abschnitt behandelt wurde.
Darum soll in dieser Arbeit eine Mischform von Strukturierung durch Typographie und durch klare Beschriftungen der einzelnen Pattern-Komponenten verwendet werden:
Design Pattern-Sprachen
Tabelle: Struktur eines Design Patterns in dieser Arbeit
3.4.3 Sprache
Die Design Patterns in dieser Arbeit sind gänzlich in englischer Sprache verfasst. Der Grund hierfür ist einerseits, dass die Design Pattern-Gemeinschaft größtenteils englischsprachig ist und alle bisher verfügbaren Pattern-Sprachen ebenfalls in Englisch veröffentlicht wurden.
Auf der anderen Seite dienen Design Patterns, wie bereits in Kapitel 3.2 angesprochen, der interdisziplinären Kommunikation von Projektpartnern und Teammitgliedern. Um diese Kommunikation nicht auf bestimmte Nationalitäten zu beschränken, wird die international verständliche Sprache Englisch verwendet.
15
Das Projekt SAiMotion
4 Das Projekt SAiMotion
Die in dieser Arbeit vorgestellten Design Pattern-Sprachen für mobile Applikationen und für Navigationssysteme auf mobilen Geräten wurden im Rahmen des Verbundprojekts SAiMotion 4 (Situation Awareness in Motion) der Fraunhofer-Gesellschaft entwickelt.
In dem vom Bundesministerium für Bildung und Forschung geförderten Projekt 5 wird ein mobiles Informationssystem entwickelt, das dem Anwender in komplexen Umgebungen personalisierte und an den Nutzungskontext und die Nutzungssituation angepasste Informationen bereitstellt.
Hierbei bedient sich das System einer speziell entwickelten Ortungskomponente, die mittels WLAN (Wireless Local Area Network) die aktuelle Position des Anwenders bestimmt und diese zu Tourplanungs- und Navigationszwecken nutzt. Als ein Anwendungsszenario unterstützt das System die Vorbereitung, Durchführung und Auswertung von Messebesuchen. Auf der CeBIT 2003 wurde ein erster Prototyp des Systems vorgestellt 6 , mit dessen Hilfe sich Messebesucher über den Gemeinschaftsstand der Fraunhofer-Gesellschaft leiten und zu den einzelnen Exponaten detaillierte Informationen anzeigen lassen konnten.
Abb. 3: Prototyp des SAiMotion-Systems für die CeBIT 2003
Weitere potentielle Anwendungsszenarien von SAiMotion sind raumbezogene Handlungssituationen in öffentlichen Räumen wie Museen, Flughäfen, Einkaufs- und Erlebniswelten oder in Verwaltungs- und Dienstleistungskomplexen [FhG 2001].
Das Projekt SAiMotion
4.1 Design Patterns in SAiMotion
In SAiMotion wurde umfangreiche Studien und Usability-Tests für die Entwicklung benutzergerechter Kartendarstellungen auf mobilen Endgeräten durchgeführt. So wurde auch der auf der CeBIT 2003 vorgestellte Prototyp einer Expertenevaluation unterzogen und die Ergebnisse in einer überarbeiteten Spezifikation der Benutzungsschnittstelle für Übersichts- und Wegführungskarten eingearbeitet [Hermann et al. 2003].
Abb. 4: User Interface- und Kartenspezifikation des SAiMotion-Systems vor und nach der Expertenevaluation des CeBIT-Prototypens
Aufbauend auf dieser Spezifikation der Übersichts- und Wegführungskarten in SAiMotion wurde die „Design Pattern-Sprache für Navigationssysteme auf mobilen Geräten“ entwickelt, in die das ergonomische Wissen aus Recherche, Konzeption und Benutzertests in SAiMotion eingeflossen ist. Zusätzlich zu dem speziellen Anwendungsgebiet der Navigationssysteme wurde für SAiMotion die „Design Pattern-Sprache für mobile Applikationen“ entwickelt, die auf allgemeine Design-Probleme, wie sie bei der Gestaltung von Anwendungen für mobile Endgeräte auftreten, Lösungsvorschläge bietet.
Ziel der Entwicklung der Design-Pattern-Sprachen war es, das aus den Studien und Usability-Tests in SAiMotion gewonnene ergonomische Wissen integriert zu sammeln und aufzubereiten.
Zudem wurde für das Projekt SAiMotion auf der CeBIT 2003 eine Analyse bestehender und auf dem Markt erhältlicher Navigationssysteme für mobile Geräte vorgenommen [Gibbert 2003]. Auch die Ergebnisse dieser Untersuchung wurden in Design Patterns gesammelt und aufbereitet und flossen als Design-Lösungen teilweise in die Spezifikation von SAiMotion mit ein.
17
Design Patterns für mobile Applikationen
5 Design Patterns für mobile Applikationen
Wie bereits in Kapitel 3.2.1.5 angedeutet, sollen als Grundlage der Design Pattern-Sprache für mobile Applikationen in dieser Arbeit die Design Patterns von Charles Weir und James Noble [Weir, Noble 2003] dienen.
Diese sind in einer Hierarchie angeordnet, die anhand eines der zentralen Gestaltungsprobleme mobiler Applikationen aufgebaut ist, dem Design für beschränkte Displaygrößen (siehe Abb. 2).
Die im Folgenden vorgestellte Struktur erweitert die Pattern-Sprache von Weir und Noble um einige Patterns und modifiziert wo notwendig deren Darstellung und Struktur, um insgesamt eine konsistente Hierarchie zu erreichen. Ausgangspunkt der Pattern-Sprache ist das allgemein gehaltene Pattern MOBILE APPLICATION 7 (vgl. Abb. 5), welches Charakteristiken mobiler Geräte wie
beispielsweise deren unterschiedliche Nutzungskontexte, die kleinen Displays und die beschränkten Eingabemöglichkeiten erläutert. Weiterhin werden hierin die aus den Charakteristiken resultierenden Anforderungen beschrieben, welche sich für das User Interface Design, die Informationsarchitektur und das Interaktionsdesign ergeben.
In der Hierarchie folgen zunächst Patterns zur Gestaltung von Fensteroberflächen auf mobilen Geräten (vgl. Abb. 5). Das Pattern ONE TRUE WINDOW beschreibt die Richtlinie, Applikationen für mobile Geräte in nur einem sichtbaren Fenster zu gestalten - im Gegensatz zu Desktop-Computern, auf denen mehrere verschiedene Anwendungen gleichzeitig dargestellt werden können. Ausnahmen zu diesem Pattern werden im referenzierten Pattern SECONDARY WINDOW gezeigt, welches beispielsweise für Dialoge oder Warnmeldungen angewandt werden sollte.
Abb. 5: Das Haupt-Pattern „Mobile Application“ sowie Patterns zum Haupt-Anwendungsfenster und zu Sekundärfenstern
Zwei weitere Gruppen von Patterns, die in der Hierarchie unterhalb von MOBILE APPLICATION liegen, zeigen, wie in mobile Anwendungen Platz auf dem Display
Design Patterns für mobile Applikationen
gespart werden kann. So können beispielsweise Interaktionselemente in TOOLTIPS oder CONTEXT MENUS versteckt werden oder weitere Informationen mittels HIDE AND SEEK oder DIAL ‚H’ FOR HELP verborgen werden.
Wie Bedienelemente dargestellt und dimensioniert werden sollten, wird hingegen in A PICTURE IS SMALLER THAN A THOUSAND WORDS und dem hierin referenzierten Pattern BIG THUMB erläutert (vgl. Abb. 6).
Abb. 6: Patterns zum Sparen von Platz auf dem Display und zu Gestaltung und Dimensionierung von Interaktionselementen
Patterns zur Informationsarchitektur und zur Navigationsgestaltung (INFORMATION ARCHITECTURE AND NAVIGATION) beschreiben, wie beispielsweise Dialoge strukturiert werden können (CHAIN OF DIALOGS), wie in großen Dokumenten
navigiert werden kann (SCROLLING) und wie komplexe Informationen in hierarchischen Strukturen dargestellt (INFORMATION HIERARCHIES) oder in
Kategorien (CATEGORIES) unterteilt werden sollten (vgl. Abb. 7).
Abb. 7: Patterns zu Informations-Architektur und Navigation
19
Design Patterns für mobile Applikationen
CUP OF TEA TEST wiederum beschreibt, wie mobile Applikationen so gestaltet werden können, dass Anwender die Interaktion kurzfristig oder kurzzeitig unterbrechen können, ohne dass Datenverluste entstehen oder die Orientierung im Interaktionsablauf verloren geht. Als Lösung sollten beispielsweise immer Informationen zum aktuellen Status angezeigt oder in einen sichern Zustand zurückgekehrt werden.
Adaptivität und Adaptierbarkeit sind ebenfalls wichtige Gestaltungsprinzipien mobiler Anwendungen. Diese werden in den Patterns USER CUSTOMIZATION, CONTEXT AWARENESS sowie ADAPTATION, auf welche im abstrakteren Pattern FLEXIBILITY verwiesen wird (vgl. Abb. 8), ausführlicher erläutert.
Abb. 8: Patterns zu Adaptierbarkeit und Adaptivität
20
Design Patterns für mobile Navigationssysteme auf mobilen Geräten
6 Design Patterns für Navigationssysteme auf
mobilen Geräten
In Kapitel 4.1 wurde bereits beschrieben, dass die in diesem Abschnitt dargestellte Design Pattern-Sprache zur Sammlung und Archivierung der aus den Studien und Usability-Tests in SAiMotion sowie der CeBIT-Untersuchung [Gibbert 2003] gewonnene Design-Lösungen dienen soll.
Hierzu wurden die gesammelten Design-Erfahrungen zunächst kategorisiert und in eine Hierarchie von abstrakten Problemen gefasst. Anschließend wurden die einzelnen Elemente der Design Patterns von einer allgemeinen Problembeschreibung über Beispiele bis zu konkreten Lösungsvorschlägen in textlicher Form und Diagramm genau beschrieben.
Ausgehend von der Wurzel der Pattern-Hierarchie - dem Pattern NAVIGATION SYSTEM - wird zunächst zwischen den verschiedenen Anwendungsbereichen von
Navigationssystemen - der Fahrzeugnavigation (IN-CAR-NAVIGATION) und der Fußgängernavigation (SLOW-TRAVELER-NAVIGATION) - unterschieden. Letztere unterteilt sich wiederum in Innen- und Außennavigation (INDOOR-NAVIGATION und OUTDOOR-NAVIGATION). Alle weiteren Patterns teilen sich dann nach den
drei Hauptaufgaben von Navigationssystemen auf - der Routenplanung (PLANNING A ROUTE), der Wegführung (ROUTE GUIDANCE) sowie den Interaktiven Karten (INTERACTIVE MAPS) (vgl. Abb. 9).
Abb. 9: Haupt-Pattern und Patterns zu den Anwendungsbereichen und Hauptaufgaben
Patterns der Routenplanung (vgl. Abb. 10) beschreiben unter anderem, wie ganze Routen als Favoriten abzuspeichern sind (ROUTE FAVORITS) oder wie neue Routen mit Start, Ziel, Zwischenstationen und zu vermeidenden Bereichen angelegt werden können (CREATING NEW ROUTES und Unterpatterns). Hierin wird weiter erläutert, wie verschiedenen Eingabemöglichkeiten wie Texteingabe, Listenauswahl, Auswahl aus Adressbuch und Favoriten oder direkte Kartenwahl gestaltet werden können und wann welche dieser Möglichkeiten angeboten werden sollten.
21
Design Patterns für mobile Navigationssysteme auf mobilen Geräten
Abb. 10: Haupt Patterns zur Routenplanung
Zur Gestaltung interaktiver Karten (vgl. Abb. 11 und Abb. 12) werden verschiedene Patterns mit Möglichkeiten zum Zoomen (ZOOMING) und Verschieben (PANNING) des Kartenausschnittes beschrieben, die je nach Rechenleistung des mobilen Gerätes und/oder der verwendeten Rendering-Algorithmen kontinuierlich oder in diskreten Schritten realisiert werden können.
Abb. 11: Patterns zu Interaktiven Karten
22
Design Patterns für mobile Navigationssysteme auf mobilen Geräten
Weiterhin sind Interaktionsmechanismen wie eine Interaktive Legende (ADAPTIVE INTERACTIVE LEGEND), eine Helikopter-Funktion zum kurzzeitigen Herauszoomen aus der Karte oder ein navigierbares Übersichtsfenster beschrieben, welche dem Anwender Orientierung in der Karte geben (OVERVIEW und Unterpatterns).
Abb. 12: Patterns zu Interaktiven Karten II
In den Wegführungs-Patterns (vgl. Abb. 13) werden Lösungen zur Darstellung einer konkreten Route und der Navigation entlang dieser gegeben.
Abb. 13: Patterns zur Wegführung
So können Routen einerseits als Ganzes dargestellt werden (ROUTE AS A WHOLE), beispielsweise in einer interaktiven Karte oder als Anweisungsliste. Eine
23
Design Patterns für mobile Navigationssysteme auf mobilen Geräten
inkrementelle Darstellung der Abbiegeanweisungen in 2D, 3D oder einfach als textuelle Ausgabe auf dem Bildschirm oder als Sprachausgabe kann jedoch auch sinnvoll sein (TURN-BY-TURN GUIDANCE und Unterpatterns). Weiterhin werden Patterns zu konkreten Elementen einer Anweisung, wie Entfernungsbalken, Pfeildarstellungen in Piktogrammform oder auch zu wichtigen Landmarks, beschrieben.
BACK ON TRACK schließlich zeigt, wie Anwender vor Fehlern wie falschem Abbiegen bewahrt bzw. ohne Ablenkung wieder auf den richtigen Weg gebracht werden können.
24
Ergebnisse und Ausblick
7 Ergebnisse und Ausblick
Insgesamt wurden im Rahmen der Diplomarbeit zwei Design Pattern-Sprachen für mobile Applikationen und für Navigationssysteme auf mobilen Geräten entwickelt. In der Design Pattern-Sprache für mobile Applikationen konnten die zu Grunde liegenden Design Patterns von Weir und Noble [Weir, Noble 2001, 2003] um 14 weitere Patterns ergänzt werden. Das vorher sehr uneinheitliche und inkonsistente Format der bestehenden Patterns wurde an das in dieser Arbeit verwendete und in Kapitel 3.4 beschriebene Format angepasst und viele Patterns aus „A Window in your Pocket“ um weitere illustrierende Beispiele, die Weirs und Nobles Patterns teilweise ganz fehlten, ergänzt.
Die Pattern-Sprache liefert wichtige Ansätze zur Lösung allgemeiner Design-Probleme wie sie bei der Gestaltung mobiler Applikationen auftreten. Somit bildet sie die Grundlage für ein Werkzeug und Hilfsmittel, welches zur Kommunikation innerhalb des Projektteams von Beginn des Entwicklungs- und Designprozesses an verwendet werden kann.
Die gesamte Pattern-Hierarchie ist in Anhang A, die vollständige Design Pattern-Sprache für mobile Applikationen in Anhang B angeführt. Neben der Design Pattern-Sprache für mobile Applikationen wurde als Schwerpunkt der Arbeit eine mit 53 Patterns ausführliche Design Pattern-Sprache für das spezielle Anwendungsgebiet von Navigationssystemen auf mobilen Endgeräten entwickelt. Diese bietet Design-Lösungen zu den wichtigsten Bereichen eines Navigationssystems - von der Routenplanung, über die Darstellung von Routeninformationen in interaktiven Karten, bis zur konkreten Führung des Anwenders entlang des Weges - untergliedert in eine Hierarchie von Lösungen zu abstrakten bis konkreten Design-Problemen.
Die Pattern-Sprache kann somit als Hilfe bei der Erstellung ähnlicher Systeme verwendet werden - von der Anforderungsdefinition, welche zusammen mit potentiellen Anwendern erstellt werden kann, bis zur Realisierung konkreter Interaktionselemente.
Die gesamte Pattern-Hierarchie ist in Anhang A, die vollständige Design Pattern-Sprache für Navigationssysteme auf mobilen Endgeräten in Anhang C angeführt.
25
Abbildungsverzeichnis
Abbildungsverzeichnis
Abb. 1: Die HCI Design Pattern-Sprache für interaktive Musikexponate von Jan
Borchers .................................................................................................... 8 Abb. 2: Die Design Pattern-Hierarchie für kleine User Interfaces von Charles
Weir und James Noble .............................................................................. 9 Abb. 3: Prototyp des SAiMotion-Systems für die CeBIT 2003........................... 16 Abb. 4:
Abb. 7: Patterns zu Informations-Architektur und Navigation ............................ 19 Abb. 8: Patterns zu Adaptierbarkeit und Adaptivität ........................................... 20 Abb. 9:
Abb. 10: Haupt Patterns zur Routenplanung.......................................................... 22 Abb. 11: Patterns zu Interaktiven Karten ............................................................... 22 Abb. 12: Patterns zu Interaktiven Karten II ........................................................... 23 Abb. 13: Patterns zur Wegführung......................................................................... 23
27
Literaturverzeichnis
Literaturverzeichnis
Literaturverzeichnis
[Tidwell 2002] Tidwell, J. (2002): UI Patterns and Techniques.
Literaturverzeichnis
Änderung Mai 2002
[van Welie 2003] van Welie, M. (2003): Patterns in Interaction Design. http://www.welie.com; letzte Änderung 07.08.2003
Anhänge
Anhänge
31
Anhänge
Anhang A
Hierarchien der Design Pattern-Sprachen
Anhang A
Anhänge
Anhang A-2
Anhänge
Anhang B
Design Patterns für mobile Applikationen
Anhang B
Arbeit zitieren:
Rainer Gibbert, 2003, Eine Design Pattern-Sprache für mobile Applikationen mit dem Schwerpunkt Navigationssysteme, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Grundlagen eines guten User Interface Designs
Medien / Kommunikation - Multimedia, Internet, neue Technologien
Hausarbeit, 17 Seiten
Literaturrecherche: Patient Health Record (PHR) - Die web-basierte Pat...
Ausarbeitung, 16 Seiten
Rainer Gibbert's Text Eine Design Pattern-Sprache für mobile Applikationen mit dem Schwerpunkt Navigationssysteme ist nun auf dem Buchmarkt erhältlich
Rainer Gibbert hat den Text Eine Design Pattern-Sprache für mobile Applikationen mit dem Schwerpunkt Navigationssysteme veröffentlicht
Rainer Gibbert hat einen neuen Text hochgeladen
Parallel Programming with Microsoft® .NET: Design Patterns
Design Patterns for Decomposit...
Colin Campbell
Guide to the Unified Process featuring UML, Java and Design Patterns
Featuring UML, Java and Design...
John Hunt
Ejb Design Patterns: Advanced Patterns, Processes, and Idioms with Pos...
Floyd Marinescu, Ed Roman
0 Kommentare