Die Präsentation als Artikel: http://www.produktbezogen.de/bauanleitung-pattern-library-1/
An english version is available here: http://de.slideshare.net/WolfBruening/how-to-build-the-perfect-pattern-libraryy
3. Die Aufgabe
• Eine Pattern Library für eine unglaublich große
eCommerce-Plattform entwickeln
• OTTO.de
• >1.000.000.000€ Umsatz/Jahr
• 1.000.000 Visits/Tag
• Millionen Artikel, alles vom Bikini
bis zur Kettensäge
5. Die Konsequenzen
7 Lösungen und Stile für die selbe Aufgabe gleichzeitig auf OTTO.de online
(das haben wir schon behoben)
6. Auf Patterns zu verzichten...
...führt mit großer Sicherheit zu inkonsistenten Interfaces
...führt zu Missverständnissen
...führt zu viel zusätzlicher und doppelt erledigter Arbeit und
überflüssigen QA-Runden
8. Was sind Patterns?
Ein Pattern ist ein Element eines Nutzer-Interfaces,
welches ein bestimmtes Problem löst und sich in
unterschiedlichen Kontexten (bzw. mit unterschiedlichen
Inhalten) wiederholt.
9. Was sind Patterns?
• Unteilbare Patterns („Bausteine“)
• Patterns aus Patterns („Komponenten“)
10. Was sind Patterns?
• Templates und Sub-Templates
• Animationen
• Flows
• Naming Conventions
• Wording
• ...
11. Jared Spool
Founding Principal of UIE
“A typical pattern describes the
problem, the chosen solution, the
rationale behind that solution,
related patterns that the designer
should be aware of and the results
of usability testing.”
12. Vielen Dank, jetzt weiß ich was
ein Pattern ist, aber wie komme
ich zu meiner Library?
13. Unsere Vorgehensweise
1. Kick-Off
• Mini-Task-Force: 1 Interaction Designer, 1 Entwickler
• Recherchieren
• Recherchieren
• Recherchieren
2. Vertiefung
• Hilfe von Außen
• Interviews mit allen Beteiligten
• Workshops
• Sammeln und Dokumentation von Patterns
• Entwickler
• Struktur und Verfeinerung
14. Unsere Vorgehensweise
3. Test & Learn
• Start der Dokumentation
• Ausprobieren von Prozessen
• Gradueller Übergang in das Tagesgeschäft
4. Aktiver Betrieb
• Kontinuierliche Befüllung der Pattern Library während der
Plattform-Entwicklung
• Weiterentwicklung der Pattern-Library als Tool
• Weiter: Lernen, optimieren, lernen, optimieren
21. So einfach wie möglich
• Nicht nach der perfekten Pattern-Beschreibung streben
• Pattern-Dokumentation so knapp wie möglich halten
• Prozesse und Diskussionen schlank halten
➔Overhead für das Hinzufügen und Verwalten von
Patterns so gering wie möglich halten
22. So einfach wie möglich
• Ist eine Pattern Library einfach zu nutzen und erspart sie
deutlich mehr Zeit als es kostet, sie zu füllen und zu
verwalten, wird jeder motiviert sein, sie auf einem
aktuellen Stand zu halten.
• Eine alles andere als perfekte Pattern Library ist um
Längen besser als eine umfassend dokumentierte aber
veraltete Library
➔Einfachheit ist der wichtigste Faktor für den Erfolg einer
Pattern Library!
25. Semantische Namen
• Abstrakte Namen nutzen, die sich auf den Zweck des
Patterns und nicht seine visuelle Eigenschaften
beziehen
• Primary Button
• Secondary Button
• Headline
• Copy
• Link
26. Und was ist mit Größen?
Button S
Button M
Button L
Hier ein neuer Button? Neeeeiiiiiiin!!!
27. Image created by Margaret Almon http://www.flickr.com/photos/nutmegdesigns
30. City-Block-Größen
• Die Standard-Variante bekommt die „100“
• Kleinere Varianten „75“, „50“, „25“...
• Größere Varianten „200“, „300“...
Nun hat man ein einfaches Benennungssystem, bei dem
es leicht ist, die Standardvariante zu identifizieren
39. Bill Scott
Sr. Director UI at Paypal
“Design patterns create a shared
understanding in the organization,
where designers, business people,
engineers, etc. really understand each
other and get a sense for what„s hard,
what„s easy, get a sense for the time
crunch.”
40. Bill Scott
Sr. Director Ui Engineering, Paypal
„Design Patterns create a
shared understanding in
the organization, where
designers, business
people, engineers etc.
really understand each
other and get a sense
for what‟s hard, what‟s
easy, get a sense for
the time crunch.“
47. Patterns müssen stabil sein...
• Regelwerk aufstellen, um zu verhindern, dass Patterns
zu leicht abgewandelt werden können, z.B.
• Es dürfen nur neue Patterns hinzugefügt werden, wenn mit den
bestehenden Patterns keine zufriedenstellenden Lösungen
erreicht werden können.
• Patterns dürfen erst geändert werden, wenn sich eine neue
Standardlösung am Markt durchsetzt
• Patterns dürfen erst ersetzt werden, wenn neue Patterns sie in
Nutzer- oder A/B-Tests schlagen
48. ...aber auch nicht zu starr
• Evolution der Patterns erlauben
• Kontinuierlich mit neuen Patterns experimentieren
• Immer wieder bestehende Patterns in Frage stellen
• Nicht zum Pattern-Nazi werden
49. Lucas Pettinati
UX Lead at Google, former Prinicpal Designer at Yahoo
“The use of a pattern library helps designers
quickly craft parts of a design so the bulk of
their time is spent designing what„s unique
rather than what„s common.
It‘s like a compass. It„ll tell you what
direction you should go in, but it„s up to you
to figure out how to get there.”
57. Patterns helfen kreativer zu sein
• Man muss nicht jedes bereits gelöste Problem erneut
lösen
• Man kann viel schneller Prototypen erschaffen und so
viel mehr Iterationen produzieren
• Der Einsatz von Patterns verschafft einem Zeit, um neue
und komplexere Probleme angehen, um sich um den
Feinschliff zu kümmern
58. Und was ist mit meiner Seite /
meiner Agentur?
59. Was ist mit meiner Seite?
• One Pager → Fertig!
• Kleine Seite, Startup → Patterns während des Designs in einer PSD
(o.ä.) sammeln, später Dokumentation hinzufügen
• Agentur → Abstrakte Patterns definieren (Wireframes, Flows, etc.),
die sich regelmäßig in Kundenprojekten wiederholen
60. Warum Ihr Patterns nutzen solltet...
• Patterns verbessern die User Experience
• Konsistentes und vorhersagbares User Interface
• Schnelles Prototyping
• Gewonnene Zeit, um sich auf neue Probleme zu konzentrieren
• Patterns verbessern die Code-Qualität
• Schnelle Implementierung
• Vermeidung von Code-Redundanzen
• Effiziente QA
• Patterns sparen jede Menge Zeit
• Patterns ermöglichen eine klare Kommunikation mit allen
Stakeholdern und vermeiden Missverständnisse
61. ...und was ihr dabei beachten solltet
• Dokumentation und Prozesse einfach halten
• Semantische und flexible Namen nutzen
• Modulare Struktur einsetzen (in großen Unternehmen)
• Alle Beteiligten mit ins Boot holen (besonders
Entwickler)
• Balance zwischen Stabilität und Weiterentwicklung von
Patterns finden
• Testen, lernen, anpassen