Snelheid

De snelheid van een website, het tempo waarin de gegevens op het scherm komen, lijkt nauwelijks een punt van zorg meer te zijn. Steeds meer mensen kijken via de breedbandige verbinding van een adsl- of kabelaansluiting, waarmee de laadtijd van een site enorm is afgenomen. Tegelijk ontstaan er daarentegen nieuwe media die weer ouderwets traag zijn. Met GPRS en UMTS bijvoorbeeld (internet via de mobiele telefoon), vallen we terug naar modemsnelheden van jaren terug. Het blijft dus zaak een website 'zo dun mogelijk' op te bouwen, en daar zijn uiteenlopende mogelijkheden voor.

Afbeeldingen bijvoorbeeld, zullen wij als webontwikkelaars zoveel mogelijk comprimeren. We zoeken voor ieder plaatje telkens het beste compromis tussen bestandsomvang en beeldkwaliteit. Plaatjes met grote kleurvlakken slaan we bij voorkeur op als GIF-bestand, met zo min mogelijk kleurtjes in het meegestuurde palet. Foto's comprimeren we meestal met het JPEG algoritme.

Voor menu's en interactieve toepassingen, laden we de plaatjes vooraf in het browsergeheugen. Dat gebeurt onzichtbaar en is uiterst zinvol. Een mouseover-afbeelding (verschijnt bij muisbeweging over een pagina-element), komt zodoende in één beweging op het scherm, zonder eerst nog van de server gehaald te moeten worden.

Vaak kunnen we van herhaal technieken gebruikmaken, door afbeeldingen als tegels achter of onder elkaar te reproduceren. Met name in achtergrondafbeeldingen wordt deze techniek veelvuldig toegepast.

Daarnaast voeren we zover mogelijk een scheiding tussen gegevens en opmaak door. Verschillende media kunnen afwijkende opmaakgegevens meekrijgen, afgestemd op de bandbreedte. De opmaak kan zelfs geheel buiten beschouwing worden gelaten, zodat bijvoorbeeld alleen de tekst ontvangen wordt.

Voor database-toepassingen zoeken we bij voorkeur naar eenvoudige technologie, die zo min mogelijk beroep doet op computercapaciteit van de webserver en van de eindgebruiker. Om die reden kiezen we bij voorkeur voor PHP/MySQL-oplossingen. Bovendien proberen we zowel de scripts als de database zo compact en eenvoudig mogelijk te houden. Ook die wens brengt ons opnieuw bij PHP/MySQL-technologie.

Interactiviteit bouwen we bij voorkeur met zo compact mogelijke JavaScripts in, en alleen als dit werkelijk iets toevoegt aan de pagina's.

Helaas bestaan er uiteenlopende applicaties die webdocumenten uitspugen die mateloos omvangrijk zijn. Enkele grafische programma's zijn daar goed in, maar ook bijvoorbeeld Microsoft FrontPage. Dergelijke pagina's zouden eigenlijk van internet geweerd moeten worden. Hoewel het er in sommige browsers best toonbaar uitziet, staat er veel overtollige ballast in en voldoet de code doorgaans buitengewoon slecht aan geldende technische specificaties. We zien zelfs voorbeelden waarin een egale achtergrond als complete afbeelding wordt meegestuurd (en ook nog bij ieder pagina een nieuwe), terwijl een plaatje van 1 pixel zou volstaan. In het ene geval belast je het netwerk met pakweg 100.000 bytes per achtergrond, in het andere met 43 bytes voor alle achtergrondjes. Echt af te raden dus.