Vortrag vom 27.11.2012 in Bremen.
Dozent: Jonas Hellwig | kulturbanause®
Webdesigner
Autor / Video-Trainer
Dozent
Mobile Lösungen
Die Technik
Design-Pattern
Die Konzeption
Der neue Workflow
Design & Typografie
Schwierige Inhalte
Retina Optimierung
Fixed-, Fluid- & Elastic- Layouts
Adaptive- & Responsive Layouts
Grundlagen: Responsive Webdesign
Tutorial: Media Queries einsetzen
Lokale Nutzung
Wenige Monitorgrößen
Ähnliche Art der Bedienung
Lokale Nutzung
Mobile Nutzung
Duale Nutzung (Second Screen)
Über 3,5 Milliarden Displays mit Web-Content
Mouse-Bedienung
Touch-Bedienung
Spracherkennung
2013: Mehr mobile als lokale User
Neue Hardware kommt auf den Markt
User ohne Desktop-Computer
Veränderte Gewohnheiten
Veränderte Erwartungshaltung
Lokale User berücksichtigen
Mobile User berücksichtigen
Die Technik kennen
Entwicklungen verfolgen
Zukunftsorientiert & flexibel arbeiten
Alte Denkweisen ablegen
Unabhängige mobile Websites
Native Apps
Web-Apps
Responsive & Adaptive Websites
Nur online nutzbar
Werden über den Browser aufgerufen
Sind gut vernetzt
Müssen separat gepflegt werden
Basieren auf HTML & CSS
Optimiert für eine bestimmte Displaygröße
Können problemlos aktualisiert werden
Bieten wenig Funktionen
Offline nutzbar
Werden aus App-Stores geladen
Sind schlecht vernetzt
Müssen installiert werden
Optimiert für eine bestimmte Displaygröße
Können monetarisiert werden
Stellen häufig eine bestimmte Funktion bereit
Unabhängiger Content für jede einzelne Plattform
Müssen separat für jede Plattform gepflegt werden
Können nicht problemlos aktualisiert werden
Werden aktiver und länger genutzt
Haben Hardware-Zugriff (Kamera, GPS, Touch-Funktionen, etc.)
Komplexe Programmierung
Nur online nutzbar
Werden über den Browser genutzt
Sind schlecht vernetzt
Basieren auf HTML & CSS
Unabhängiger Content
Imitieren häufig echte Apps
Müssen separat gepflegt werden
Optimiert für eine/wenige Displaygrößen
Können nicht monetarisiert werden
Können problemlos aktualisiert werden
Werden bewusster und länger genutzt
Können eingeschränkt auf die Hardware zurückgreifen
Überschneidungen mit mobilen Websites
Nur online nutzbar
Werden über den Browser genutzt
Sind sehr gut vernetzt
Basieren auf HTML & CSS
Bieten identischen Inhalt
Müssen nicht separat gepflegt werden
Optimiert für jede/mehrere Displaygrößen
Können nicht monetarisiert werden
Können problemlos aktualisiert werden
Können auf wenige Hardware-Funktionen zugreifen
Zukunftssicher
≠ mobile Design
Unabhängige mobile Website
Native App
Web-App
Responsive / Adaptive Website
Begriff von Ethan Marcotte erstmals erwähnt
Artikel bei A List Apart, Buch bei A Book Apart
Seine Definition: Flexibles Raster, Flexible Grafiken, Media Queries
Sichtbarer Bereich im Browser
Wird begrenzt durch den Falz (Fold)
Wird eingeschränkt durch Browser und Hilfsmittel
Konnte früher zielgruppenspezifisch bestimmt werden
Landscape & Portrait
Viewport wird immer unüberschaubarer
Falz verliert an Bedeutung
Fixed
Fluid
Elastic
Adaptive
Responsive
Sehr verbreitet (noch)
Optimiert für bestimmten Viewport
Website hat eine feste Breite
Website verändert sich nicht
Spalten basieren auf Pixelwerten
Unkomplizierte Planung des Rasters
Unkomplizierte Gestaltung
Unkomplizierte Programmierung
Unkomplizierte Inhaltspflege
Nachvollziehbar für den Kunden
Platz wird verschenkt
Fehldarstellung möglich
Kein „echtes“ Responsive Layout möglich
Verbreitet in Shops, Magazinen
Optimiert für mehrere Viewports
Flexible Breite
Spalten basieren auf Prozentwerten
Layout hat eine Mindestbreite
Layout hat eine Maximalbreite
Optimale Platznutzung
Es können mehr Inhalte abgebildet werden
"Echtes" Responsive Layout möglich
Komplexe Planung des Rasters
Komplexe Designphase, da nicht abbildbar
Komplexere Programmierung
Flexible Inhalte benötigt
Sehr selten
Optimiert für verschiedene Viewports
Website skaliert sich proportional
Spalten und Zeilen basieren auf Prozentwerten
Minimale Skalierung festgelegt
Sehr gute Platznutzung
Inhalte werden so groß wie möglich abgebildet
Responsive Layout möglich
Komplexe Planung des Rasters
Komplexe Designphase, da nicht abbildbar
Komplexere Programmierung
Flexible Inhalte benötigt
Mehrere starre Raster
Mehrere Layoutvarianten
Optimiert für bestimmte Viewports / Geräte
Unkomplizierte Planung
Unkompliziertes Design
Recht unkomplizierte Programmierung
Recht unkomplizierte Pflege der Inhalte
Platzverschwendung in abweichenden Viewports
Mögliche Fehldarstellung
Komplexe Zielgruppenanalyse
Nicht zukunftssicher
Mehrere flexible Raster
Mehrere Layoutvarianten
Optimiert für jeden Viewport / alle Geräte
Zukunftssicher
Design & Information steht im Mittelpunkt
Optimale Platznutzung
Komplex in der Planung
Komplex in der Gestaltung
Komplex in der Programmierung
Komplex in der Pflege der Inhalte
Punkt, an dem das Design umbricht
Design ändert den Aufbau spürbar
Adaptive: Breakpoints orientieren sich am Viewport
Responsive: Breakpoints orientieren sich am Layout
Beispiel | Beispiel | Beispiel | Beispiel
Technisch realisiert über CSS Media Queries
Media Query = Weiterentwicklung des Medientypen
Medientypen fragen Medien ab
Klassische Medientypen in CSS:
<link type="text/css" href="styles.css" media="screen" rel="stylesheet" />
<link type="text/css" href="print.css" media="print" rel="stylesheet" />
Media Queries fragen Medieneigenschaften ab
z.B. Viewport, Display-Breite, Ausrichtung, Farbtiefe, Auflösung etc.
Aufbau von Media Queries:
@media only screen and (max-width: 1050px) {
/* Hier steht der Code */
}
@media only screen and (max-device-width: 480px) {
/* Hier steht der Code */
}
@media only screen and (orientation: landscape) {
/* Hier steht der Code */
}
Die flexibelste Lösung ist ein responsive Layout:
Mehrere Layouts mit flüssigem Raster
Media Queries
Flexible Inhalte
Größere Elemente
Abstände einhalten
Interaktionen kennzeichnen
Konventionen beachten
Touch-Bedienung einplanen
Beispiel | Beispiel | Beispiel
Technisch unkompliziert
Optisch ansprechend
Benutzerfreundlich
Bietet sich nur für wenige Links an
Kein JavaScript benötigt
Verschwendet Platz
Bietet sich für viele Links an
Spart Platz
Benutzerfreundlich
JavaScript wird benötigt
Optisch nicht ansprechend
Technisch eher anspruchsvoll
Bietet sich für viele Links an
Kein JavaScript benötigt
Technisch unkompliziert
Optisch ansprechend
Spart Platz im Header
Nicht benutzerfreundlich
Beispiel Google Mobile
Bietet sich für viele Links an
Optisch ansprechend
Spart Platz
Benutzerfreundlich
JavaScript / CSS3 wird benötigt
Technisch anspruchsvoll
Bilder austauschen
Zwei Ansätze die Website zu optimieren
Graceful Degradation
Progressive Enhancement / „Mobile First“
Es muss oft mit Kompromissen gelebt werden
Kompromisse müssen minimiert werden
Optimiert für die Desktop-Nutzung
Viele Grafiken
Eher aufwändiges Design
Komplexe Navigationen
Scripte, Slideshows, Videos etc.
Viel Bandbreite / Performance notwendig
Die Website wird "abgespeckt".
Umbau des Layouts für kleine Displays
Häufig Platzprobleme
Nicht optimierte Navigationen
Nicht optimierte Inhalte
Kompromisse notwendig
Evtl. Probleme mit Performance
Optimiert für kleine Displays
Wenig Grafiken
Flache, simple Navigationen
Inhalte stehen im Mittelpunkt
Wenig Scripte, Videos etc.
Für schwaches Internet optimiert
„Back to the roots“
Die Website wird "aufgeblasen".
Vergrößerung der Seitenelemente
Viel White Space
Häufig minimalistische Layouts
Viel Typografie
Performance-Optimiert
Benutzerfreundliche, relevante Inhalte
Relevante Inhalte
Benutzerfreundliche Strukturen
Performance-Optimierung
Maximale Flexibilität
→ Mobile First Responsive Design
→ Für jedes Projekt prüfen!
Konzeption
Design
Programmierung
Optimierung
Starres Gestaltungsraster (Konzeption)
Mehrere Layouts (Design)
Media Queries (Programmierung)
Annähernd klassischer Workflow
Verständlicher Einstieg ins mobile Webdesign
Hilfsmittel bei der Konzeption
Designer + Entwickler
Beispiel-Workflow mit Gridpak
Flüssiges Gestaltungsraster
Mehrere Layouts
Media Queries
Veränderter Workflow
Schwieriger Einstieg ins mobile Webdesign
Deutlich veränderter Workflow:
Evtl. Skizzen
Evtl. Grid-Generatoren (Gridpak)
Prototypen („Rapid Prototyping“) (Beispiel | Beispiel)
Frameworks
Designer = Entwickler
Achtung! Falsche Begriffe!
Adaptive Frameworks (Beispiel | Beispiel)
Responsive Frameworks (Beispiel | Beispiel | Beispiel)
Prominente Vertreter (Beispiel | Beispiel)
Adobe Dreamweaver
Bad Practise: Mobile Themes
Adaptive Layout:
Klassischer Workflow
Responsive Layout:
Veränderter Workflow
Welche Größe hat das Photoshop-Layout?
Flexibilität und Interaktionen werden sichtbar
Minimale Code-Basis
Debug-Console des Browsers wird genutzt
Wechsel zwischen Ps, Ai, Fw und Code-Editor
Betrifft Photoshop
Betrifft Fireworks
Betrifft Illustrator
Layouts sind nicht flexibel
Designer muss CSS verstehen
Skalierbare Grafiken: Vektoren & SVG
CSS3-Grafiken
Endlosmuster
Webfonts
Webfont-Icons
Betrachtungsabstände berücksichtigen (Neg.-Beispiel)
Schriften in em / rem angeben
Verhältnisse zwischen Schriften herstellen
Spaltenbreiten / Zeilenlängen beachten
Schriften skalierbar halten
Kontraste optimieren
Stehen im HTML-Code
Lassen sich nicht austauschen
Werden skaliert
Führen zu Performanceproblemen
Es existiert keine perfekte Lösung
HTML-Element in der Diskussion
JavaScript-Lösungen vorhanden (Beispiel)
Sehr unflexibles Element
Verschiedene Lösungen
Tabellen mit CSS umsetzen
Formulare so simpel wie möglich aufbauen
HTML5-Formularelemente verwenden
Mobile Endgeräte nutzen die Feldtypen für unterschiedliche Tastaturlayouts
Gleiche Displaygröße
Mehr Pixel auf gleicher Fläche
Pixelgrafik würde verkleinert dargestellt
Geräte rechnen daher automatisch um
Grafik wird unscharf
SVG-Grafiken (Vektoren)
CSS3
Webfonts / Webfont-Icons
Grafiken in hoher Qualität erstellen
Media Query fragt Auflösung ab
Grafik wird optimal angezeigt
Hoher Aufwand
Große Dateien, auch auf Smartphones
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
#logo {
background-image:url(img/logo-retina.png);
background-size: 150px 50px;
}
}
Das war's für heute.
(Wenn du Fragen hast, wäre jetzt der optimale Zeitpunkt …)
jonas@kulturbanause.de
Fixed-, Fluid- & Elastic- Layouts
Adaptive- & Responsive Layouts
Grundlagen: Responsive Webdesign
Tutorial: Media Queries einsetzen
Die Präsentation wurde mit reveal.js erstellt, und lediglich gestalterisch leicht modifiziert.