Content altijd beschikbaar met progressive enhancement 

Waarom progressive enhancement nodig is


Je wilt een website bezoeken maar deze laadt niet. Soms zie je na een paar minuten wachten nog helemaal niets. In dat geval kan progressive enhancement het leed verzachten.

In dit artikel leg ik uit waarom progressive enhancement hiervoor een oplossing biedt en hoe je bij een slechte internetverbinding de frustratie van de bezoeker van je website kunt verminderen.

De essentie van webpagina’s is content. Content (tekst, formulieren en soms ook afbeeldingen en audio/video) moet beschikbaar zijn voor iedereen, onder elke denkbare omstandigheid. Zonder content heb je niks aan een website.

Progressive enhancement illustratie

Gelaagd bouwen

De content wordt in HTML geplaatst. Met deze taal beschrijf je de structuur waarbinnen de content zich bevindt. De HTML met de content is de basislaag van een webpagina. Alles wat na deze basislaag komt is een extra laag, een enhancement (design, complexe interactie en vaak ook afbeeldingen en audio/video). Deze extra lagen moet je als optioneel zien: verrijkingen van de basislaag ofwel enhancements.

Een lift en een roltrap zijn een mooie metafoor. Waar wil je liever staan als hij kapot gaat: in een lift of op een roltrap?
Precies, je wilt liever op een roltrap staan. Als die kapot gaat kun je hem immers gebruiken als een trap. Je komt boven; de basisfunctionaliteit blijft intact, ook al is de roltrap kapot. Als een lift kapot gaat zit je gevangen. Je kunt geen kant op. De basisfunctionaliteit (boven komen) is gebroken.

Progressive enhancement zegt dat een website altijd moet zijn als een roltrap. Je moet de gebruiker van je website altijd voorzien van content.

Wanneer doen problemen zich voor?

Meestal komen er problemen doordat JavaScript niet beschikbaar is. Maar, wanneer gebeurt dit? Naast het opzettelijk uitschakelen van JavaScript in de browser kan de verbinding verbroken worden of een time-out komen op moment dat de pagina wordt geladen. 

Progressive enhancement illustraties

Met de klok mee: door tunnels heen reizen, te veel Wi-Fi netwerken in de buurt, gratis Wi-Fi (wat meestal Lie-Fi is) & afgeknepen connectie na het bereiken van een datalimiet. Dat zijn een paar van de topredenen waarom connecties falen. Eén van hen is Lie-Fi, een term waar ik Jake Archibald over hoorde tijdens afgelopen Fronteers conferentie:

When you’re on Lie-Fi, it is going to take minutes. And then it’s going to fail. […] Lie-Fi is like offline but it trolls you, by pretending it’s online.

Dit en de redenen daarboven beschreven zijn maar een paar van de situaties die elke dag plaatsvinden. Missende delen van een pagina of erger, wachten voor een lege pagina tot hij geladen is, kan erg frustrerend zijn. Meerdere keren heb ik mensen horen schelden tegen een trage app of website terwijl ze een lift binnenliepen. Zulke reacties kunnen schadelijk zijn voor een merk.

Maak mensen bewust van progressive enhancement

Zo nu en dan kom ik in discussie met een collega of klant. Soms zeggen zij dat focus op progressive enhancement en performance niet nodig is. Want ja, “iedereen heeft een goede connectie”. Dus wanneer een verbinding slecht is, vermeld dat dan en toon de oorzaken die ik hierboven heb opgesomd. Dit voorkomt frustratie bij de bezoeker. Lagere snelheden en haperende verbindingen kan iedereen overkomen. Laten we het web weer beter maken, door beter te communiceren. En leuker.