18. Graphical User
Interface
(...) is a type of user interface that allows users to interact
with electronic devices using images rather than text
– Wikipedia
31. User Centered Design
Die nutzerorientierte Gestaltung zielt darauf ab, interaktive Produkte so zu
gestalten, dass sie über eine hohe Gebrauchstauglichkeit (Usability) verfügen.
– Wikipedia
34. UCD ist ein iterativer Ansatz
Analyse: Nutzerprofile
Anforderung: Was macht
die Soft ware
Prototyping: Scribbling
Analyse
Evaluation: Ergebnisse
auswerten.. and back to
the start
Anforderungen
Prototyping
Evaluation
35. Personas
• Einzelne Fallbeispiele aus unserer
Zielgruppe
• Beispiel „Moritz, 26, Selbstständiger
Entwickler, der gerne viel Läuft“
• Personas helfen bei einem gemeinsamen
Verständnis der Zielgruppe
52. Vorbereitungen
•Nokogiri (Ruby): Screen-Scraping
der Daten von ikea.com und
Überführung in Redis-DB ( 1
Tag )
•Import der Daten in Core Data
( 1/2 Tag )
•Feststellung, dass es eine andere
GUI braucht: 10 Minuten
53. Ziele
• Streng hierarchische Struktur einfach
zugänglich machen, ohne ständig den
Kontext zu wechseln ( Push, Back )
• Übersichtliche Navigation, klarer Pfad
• Sehr kurze Ladezeiten
• Dynamisches, leichtes Bedienungsgefühl
68. „Konstruktion“
• Zwischen den Panels befinden sich
„Gummibänder“ oder „Magneten“
• Die Grenzen des Viewports sind
abschüssig, d.h. die Panels „rollen“ raus
• Panels können zusammengeschoben
werden, bis eine gewisse ( konfigurierbare )
Grenze erreicht ist
69. Implementation
• UIGummiband und NSMagnet? ( iOS 4 )
• UIView Subklasse, die eine ähnliche API wie
ein UINavigationController hat
• Stack von „Rows“, die auf den Container
„gepusht“ werden.
• Die Rows sind wiederrum Views, die völlig
gekapselt von jeder Magie sind.
70. Probleme
• Grenzfälle sind schwer zu lösen
• Wie bestimmt man, was sich „wie in Echt“
anfühlt, wenn es kein wirkliches Pendant
gibt?
• Trial and Error and Trial and Error.
71. Learnings
• CoreAnimation und die Internas von
UIView & Friends sind entscheidend für
gute Perfomance
• Perfomance Tools: unglaublich hilfreich
• In manchen Fällen ist der Simulator
langsamer als ein Device :-)
72. Ergebnis
• Drei Drop-In Klassen ohne externe
Abhängigkeiten, ca. 1400 LOC
• Viel gelernt
• Spaß!