Mehr Nutzen, weniger Interface



Moritz Haarmann
Agenda



Der erste Eindruck

Ein bisschen Background

Use Case
Hallo ihr.
Moritz Haarmann

• Selbständiger Entwickler,und Berater
• Stuttgart-Based
• Ruby, iOS, Java
• Talking, Coding, Hund, Laufen.
• Medieninformatik, HdM Stuttgart
Apps
sind was Besonderes.
100% Fokus
Der Benutzer
              investiert!
                        Problem
  Suche nach App

   eventuell Kauf                   Suche nach Web-App

Installation/Download
                        Benutzung
Der erste Eindruck
      Die Bounce-Rate
Gut
The Good


• MCDO-App
Schlecht
Wieviele Leute nutzen
 deine App nur 1x?
Le Bounce Rate
    Nur einmal     Mehrmals




                 26 %




     74 %




                         Quelle: Localytics, 2010
Warum vielleicht?
Nutzer wollen das tun
 können, was sie tun
       wollen.
     Primäres Ziel der Entwicklung.
Fokus
 Die GUI
Graphical User
     Interface


(...) is a type of user interface that allows users to interact
    with electronic devices using images rather than text
                                                      – Wikipedia
Schön
Einfach
    zu
bedienen
Konsistente
Benutzerführung
Das mentale Modell
Technik ist unfassbar
    kompliziert
        „Problem“
Für das Verständnis notwendige
          Abstraktion
      Die meistens katastrophal Falsch ist...
Das mentale Modell passt sich
        ständig an.
            „Lernen“
Mentale Modelle sind sehr
         unterschiedlich
Abhängig von dem Benutzer bzw. Mensch, der sie sich ausdenkt
Beispiel
Und jetzt?
Wie können wir dieses Wissen einsetzen?
User Centered Design



 Die nutzerorientierte Gestaltung zielt darauf ab, interaktive Produkte so zu
gestalten, dass sie über eine hohe Gebrauchstauglichkeit (Usability) verfügen.

                                                                – Wikipedia
UCD ist ein iterativer Ansatz
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
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
User Story


• Typische Geschichte aus dem Leben einer
  Persona
Use Case


• Konkrete Nutzung der App um ein Problem
  im Kontext einer User Story zu bewältigen
Denk über deine
 Nutzer nach.
   Und erst später über den Rest.
Der Hauptteil der Arbeit passiert,
bevor eine Zeile Code geschrieben ist.
http://www.uistencils.com/collections/frontpage/products/iphone-stencil-kit
Direct Manipulation Pattern
       Guten Tag, Usability.
Aktionen haben sofortigen EFfekt.
          Da, wo sie passieren
SKILLS

           ERFAHRUNGEN

VORHANDENE Konzepte        NUTZEN!

           IDEEN

           VORSTELLUNGEN
Reprise
man kann es nicht oft genug sagen.
Die meisten Nutzer
 wollen eine App
     nutzen.
       100% Fokus
Du bist schuld
wenn es nicht
  Der Nutzer ist nicht „zu doof“.
Case Study
 Eine neue UI in 5 Tagen.
video platzhalter
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
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
Flüssiges Layout
Im Kontrast zum herkömmlichen UINavigation-Pattern
Fastest Browsing
    Possible
   Und man weiss immer, wo man ist.
Inspiration
Du weisst am Anfang
 nicht, was am Ende
     rauskommt.
Die Idee im Kopf
Ebene 1
Ebene 2
Ebene 3
Ebene 1




Ebene 2
Ebene 3
Ebene 1




Ebene 2




Ebene 3
Ebene 1



Ebene 2




Ebene 3
Analogien?
  Mentales Modell!
Die Idee mit
 Mechanik
verknüpfen.
Teilausschnitte
   abbildbar
      Juhu!
Ebene 1




Ebene 2




Ebene 3
„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
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.
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.
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 :-)
Ergebnis

• Drei Drop-In Klassen ohne externe
  Abhängigkeiten, ca. 1400 LOC
• Viel gelernt
• Spaß!
Fragen?
Danke fürs
 zuhören.


CC BY-ND 3.0
post@moritzhaarmann.de

Mehr Nutzen, Weniger Interface