# Responsive webdesign

Responsive webdesign is een benadering van webdesign waarbij de webdeveloper streeft naar een optimale webervaring voor een breed scala aan apparaten (van desktop computerschermen tot mobiele telefoons). Het ontwerp van een responsive website schaalt mee met de afmetingen van een scherm, zonder in te leveren op leesbaarheid van tekst of bruikbaarheid van de gebruikersinterface.

## Historie

De term responsive webdesign is bedacht in 2010 door Ethan Marcotte op de weblog A List Apart. Marcotte merkte destijds op dat steeds meer bedrijven investeerden in een mobiele website om hun klanten ook mobiel een optimale ervaring te bieden. Maar door het groeiende aantal apparaten, met allen hun eigen resolutie en afmetingen, bleek één mobiele website geen optimale oplossing. In plaats van te ontwerpen in vaste afmetingen, een benadering die stamt uit het printtijdperk, merkte Marcotte op dat het veel praktischer was om te ontwerpen in percentages en andere relatieve eenheden.

## Technieken

Een responsive website past zichzelf aan aan de omgeving waarin hij getoond wordt met behulp van flexibele grids, flexibele afbeeldingen en CSS3-mediaquery's. Enkele van de door Marcotte bedachte technieken zijn:

### Flexibele grids en afbeeldingen

De flexibele grids zorgen ervoor dat breedtes en hoogtes van elementen niet in pixels worden bepaald, maar in relatieve eenheden als percentages en em's. Elementen in een flexibele grid schalen altijd naar een percentage van het element waarin ze zich bevinden, of de afmetingen van het zichtbare gedeelte van de browser.
Flexibele afbeeldingen worden ook relatief geschaald, zodat ze nooit buiten hun proporties worden weergegeven.

### Mediaquery's

Mediaquery's geven de webpagina een indicatie van de afmetingen van het apparaat waarop de website wordt geladen. Meestal wordt de breedte van het scherm als uitgangspunt genomen. Ook kan de website rekening houden met de pixeldichtheid van een scherm, om bijvoorbeeld afbeeldingen op een hogere resolutie te laden.
Voorbeeld:

### Breakpoints

Als het zichtbare gedeelte van de browser (ook wel de viewport genoemd) smaller gemaakt wordt, kan het zijn dat de website niet meer optimaal bruikbaar is. Een voorbeeld is een sidebar die bij een kleine viewport in de weg komt te staan van de content. In zo’n situatie is het gebruikelijk om een breekpunt te maken in de CSS en de sidebar niet meer rechts te laten zweven, maar onder de content te tonen.
Breekpunten staan niet vast. Een veelgebruikt uitgangspunt is om (ongeveer) de afmetingen van een smartphone als de iPhone, en een tablet als de iPad te gebruiken. Maar vaak is het beter om de site te schalen in de browser en een breekpunt te kiezen wanneer de website niet meer optimaal vertoond wordt.

### Mobile first

Een andere ontwerpfilosofie die in opkomst is is mobile first. Hierbij gaat men in eerste instantie uit van het kleinste scherm waar voor ontwerp (smartphone), en vervolgens worden het ontwerp en de mogelijkheden opgeschaald naarmate de viewport groter wordt. Een veelgenoemd argument ten voordele van mobile first is: als klein begonnen wordt, weet men zeker dat gefocust wordt op de essentiële inhoud, die dan ook altijd goed getoond wordt.

## Obstakels

Het testen van responsive websites is lastiger dan het testen van een reguliere website. Het grote scala aan verschillende schermformaten en browsers zijn soms moeilijk na te bootsen. Ook is de werking van JavaScript in mobiele browsers soms beperkt, wat bijvoorbeeld een collapsing menu vrijwel direct onbruikbaar maakt. Een dienst als Viewporter biedt soelaas, maar is niet perfect. De dienst maakt het mogelijk websites te testen in verschillende schermafmetingen, maar specifieke bugs in verschillende browsers kunnen er niet meer uitgehaald worden. Het opbouwen van een device-lab is een beter alternatief, maar kan erg in de kosten oplopen.
Het kan ook voorkomen dat een site op een mobiel apparaat geladen wordt, maar alle content van de desktop variant ook gewoon ingeladen wordt. De laadtijden van grote afbeeldingen zijn een zware belasting van het mobiele netwerk, en staan de snelheid van de website in de weg bij mobiel gebruik. Om dit tegen te gaan kan men gebruikmaken van server sided browser detectie, in combinatie met responsive webdesign (RESS).
De online advertentiemarkt is ook nog niet volledig aangepast aan de flexibiliteit van responsive webdesign. Afmetingen van (flash)advertenties zijn veelal gestandaardiseerd en kunnen niet meegeschaald worden. Ook video’s zijn moeilijk responsive te implementeren. Bij veel gebruik van advertenties of video’s kan als alternatief gekozen worden voor een aparte mobiele website, waar mobiele advertenties getoond kunnen worden.
* 1 2 Ethan Marcotte, "Responsive Web Design", A List Apart, 25 mei 2010
* 1 2 Ethan Marcotte, "Fluid Grids", A List Apart, 3 maart 2009
* 1 2 Ethan Marcotte, "Fluid Images", A List Apart, 7 juni 2011
* ↑ W3C, "W3C Recommendation: Media Queries", "W3C", 19 juni 2012
* ↑ Jay Bryant, Mike Jones "Pro HTML5 Performance", p38 2012, ISBN 978-1-4302-4524-7
* ↑ Mozilla, "CSS media queries", "Mozilla Developer Network"
* ↑ Walt Grayson, "Targeting the iPhone 4 Retina Display with CSS3 Media Queries", "iWalt", 23 juni 2010
* 1 2 Kayla Knight, "Responsive Web Design: What It Is and How To Use It", Smashing Magazine, 12 januari 2011
* ↑ Steven Bradley, "5 Patterns To Rearrange Responsive Layouts", Vanseo Design, 29 mei 2012
* ↑ Luke Wroblewski, "Organizing Mobile", "A List Apart", 18 oktober 2011
* ↑ Smashing Magazine "The Mobile Book", p59 2013, ASIN B00AMM4QWY
* ↑ Smashing Magazine "The Mobile Book", p66 2013, ASIN B00AMM4QWY
* ↑ Anders M Andersen, "Getting started with RESS", ".net Magazine", 9 mei 2012
* ↑ Jenny Xie, "What’s Holding Back Responsive Web Design? Advertising, PBS, 3 april 2013
* ↑ "iAb Mobile Advertising Guidelines", "iAb"