Tweakers.net Developer Summit: videoverslag

0
408

Afgelopen donderdag vond de eerste Tweakers.net Developer Summit plaats. Op deze bijeenkomst spraken diverse deskundigen over de noodzaak en het ontwerp van goede gebruikersinterfaces.

Op donderdag 24 maart organiseerde Tweakers.net voor tweakers met een baan als developer de eerste Developer Summit. Een kleine 130 bezoekers hadden zich in het Tweakers.net HQ verzameld om een viertal sprekers en elkaar aan te horen. Speciaal voor de Developer Summit vloog interfacedesigner en ontwikkelaar Aral Balkan naar Nederland om te vertellen over het belang van een goede gebruikersinterface.

Balkan vertelde dat het belang van een makkelijk te bedienen interface door bedrijven nog vaak wordt vergeten: “Vaak gaat alle aandacht uit naar het grafische ontwerp en niet naar de interactie met gebruikers.” Hij stelt dat het grafische element van een interface juist een onderdeel van die interactie is: “Grafisch ontwerp is erg belangrijk, en niet alleen een laagje verf.” Balkan vergelijkt een goede interface met een Ferrari: “Hij is prachtig, maar werkt ook nog eens erg goed.”

“Het gaat om communicatie met mensen. Die kunnen dat positief en negatief ervaren.” Als een voorbeeld van een negatieve ervaring – die op het internet vaak voorkomt – noemt Balkan een formulier dat invoer pas valideert bij het submitten. Daardoor verschijnt er pas een foutmelding als een gebruiker het hele formulier al heeft ingevuld. “Vergelijk dat maar met iemand die je een fout laat maken en je vervolgens uitlacht.” Uiteraard is deze ervaring tegenwoordig heel makkelijk te voorkomen door de invoer van elk veld direct na het invullen al te controleren.

Volgens Tweakers.net-ontwikkelgoeroe Tino Zijdel, de tweede spreker op de Developer Summit, is ook snelheid belangrijk voor een goede gebruikerservaring. Dat speelt onder andere bij websites een grote rol, zo vertelde hij tijdens zijn presentatie: “Op het moment dat het laden te lang duurt, dwalen de gedachten van de gebruiker af.” Gebruikers zijn volgens Zijdel snel geneigd om hun heil dan ergens anders te zoeken: “Dat gebeurt al na drie of vier seconden. Het ligt er wel aan of een gebruiker doelgericht op zoek is of gewoon voorbij komt.”

Om een website snel te laten laden, is het onder meer van belang dat de pagina’s niet te zwaar zijn, zodat browsers ze snel kunnen renderen: “Om het aantal objecten te verkleinen, kun je bijvoorbeeld de afbeeldingen in een sprite map zetten, zodat je maar één afbeelding hoeft binnen te halen om meerdere vlakken op de pagina te vullen.” Ook het ophalen van content met ajax kan verschil maken. Statische objecten kunnen volgens Zijdel het beste op een apart domein worden geplaatst dat geen cookies neerzet; die worden anders immers bij elke request meegestuurd, terwijl dat bij statische elementen vaak overbodig is.

Ook het open houden van verbindingen is belangrijk: “Wanneer een gebruiker meer elementen tegelijk van de server vraagt, kun je http-keep-alive toepassen, zodat er niet voor elke request een nieuwe verbinding met de server hoeft te worden gelegd.” Dat is overigens alleen interessant bij statische objecten die vanaf high-performance-webservers worden geserveerd. Aan de serverkant is het vaak nodig om caching toe te passen; Tweakers.net gebruikt bijvoorbeeld memcached om veelgevraagde data in het geheugen op te slaan. “Daardoor is er geen roundtrip naar de database-server meer nodig.”

Verder vertelde ontwikkelaar Ivo Jansch over het schaalbaar maken van websites, waardoor de servercapaciteit bij een toename van het aantal bezoekers zonder al te veel moeite kan worden uitgebreid. Ook moeten zo pieken in het bezoek kunnen worden opgevangen, zonder dat er sprake is van een constante overcapaciteit.

“Dat kan bijvoorbeeld met graceful degradation, waarbij je bepaalde functionaliteit uitschakelt als je opeens veel bezoekers krijgt”, aldus Jansch. Winfred Peereboom, manager online technology bij Tweakers.net-eigenaar VNU Media, onderstreepte in zijn presentatie ten slotte het belang van zorgvuldige keuzes voor software en architectuur bij de ontwikkeling van internettoepassingen.