woensdag 6 februari 2008

Ondersteunen of niet ondersteunen?

Deze blog verscheen eerst op mijn andere blog. Ik heb die gewoon overgenomen naar deze blog

In een perfecte wereld zou elke browser de standaarden perfect ondersteunen en sites zouden er in elke browser precies hetzelfde uitzien. Spijtig genoeg zijn we nog ver van dat doel verwijderd. Er zijn ongelooflijk veel browsers in omloop en ze hebben allemaal hun eigen vreemde karaktertrekjes en hun eigen interpretatie van de Webstandaarden. Zelfs de meest gebruikte browsers zoals Internet Explorer, Opera en Firefox tonen een pagina niet altijd op dezelfde manier.

Je website ontwikkelen zodat deze in alle browsers er precies uitziet zoals je wou, is vrijwel onmogelijk. Als je al ondersteuning wil inbouwen voor de meest gebruikte browsers moet je hier en daar een CSS hack toepassen of rond het probleem werken. Wat een zootje!

Het resultaat hiervan is dat webontwikkelaars verplicht worden om zelf te beslissen welke browsers en welke platformen ze ondersteunen en welke browsers ze links zullen laten liggen. Als er webontwikkelaars elkaar ontmoeten aard de discussie vaak uit in welke browsers hun sites ondersteunen en waarom ze dit besloten hebben.

De laatste jaren wordt er vaak gepraat over het ondersteunen van verschillende browsers. Dit komt zeker door de opkomst van Mozilla Firefox. Er blijkt een inzicht te zijn ontstaan bij webontwikkelaars dat Internet Explorer misschien niet de browser van de toekomst is en velen voerden aanpassingen door aan hun onderliggende code om hun sites met Mozilla Firefox compatibel te maken.

De grote vraag die webontwikkelaars zich moeten stellen is welke browsers ze willen ondersteunen en welke ondersteuning ze in de nabije toekomst willen laten vallen.

Deze beslissingen kunnen op enkele verschillende manieren genomen worden.
  • Statistieken

  • Vele webontwikkelaars baseren hun keuze op statistieken die ze verzamelen op sites zoals WebSideStory. Dergelijke sites verzamelen informatie over welke browsers hun site bezoeken en op welke besturingssystemen deze browsers draaien. Zodra de statistieken dan aantonen dat een bepaalde browser amper gebruikt wordt, laten deze webontwikkelaars dan de ondersteuning voor die browsers achterwege.

  • "Don't care about Market Share"

  • Eric Meyer, de auteur van het gelijknamige artikel toont aan dat webontwikkelaars naar de logs van hun eigen webservers zouden moeten kijken om deze beslissing te maken. Uiteindelijk is het belangrijker dat jouw site goed werkt op de browsers die gebruikt worden om jouw site te bezoeken, dan dat jouw site ook functioneel perfect is bij andere browsers. Je moet het doelpubliek van je site kennen en je beslissingen dan ook afstemmen op dit publiek.

    Spijtig genoeg werkt deze aanpak ook averechts. Stel jezelf een browser voor die een bepaalde site niet goed weergeeft. Je zal snel stoppen met deze site te bezoeken omdat deze er toch visueel onaantrekkelijk uitziet of omdat deze gewoon niet werkt. De statistieken die jouw server bijhoudt zullen hierdoor ook aangetast worden en aantonen dat bepaalde browsers zeer weinig gebruikt worden om jouw website te bekijken en dat kan je als webontwikkelaar dan aanroepen om ondersteuning voor deze browsers te laten vallen terwijl je net aan die ondersteuning had moeten werken om die bezoekers niet kwijt te raken.

Er zijn redenen genoeg om ondersteuning voor bepaalde browsers niet in te bouwen. Sommige aanpassingen vergen te veel werk terwijl andere een volledige herstructurering inhouden. Jim Byrne houdt vol dat het Web ontworpen is om informatie voor iedereen beschikbaar te maken. Het zou mogelijk moeten zijn dat alle browsers de Webstandaarden op dezelfde manier ondersteunen zodat elke site precies op dezelfde manier werkt in alle browsers. Dit zou echter een grote inspanning vergen van de leveranciers van de browsers. Het is precies daarom dat er tools worden gelanceerd op het Net zoals de ACID-tests. De ACID-tests zijn proeven die een browser moet doorstaan om als voldaan te worden beschouwd. Internet Explorer, Firefox, Opera en nog andere browsers voldoen misschien wel (ternauwerdood) aan ACID2 maar binnenkort verschijnt er een definitieve ACID3 test. Als jouw browser voldoende compatibel is met de standaarden, moet de browser 100/100 scoren of een score die in elk geval al in de buurt ligt.

Als je hier klikt ondergaat je browser de ACID3 test. Opera, de browser waarmee ik de ACID3 test heb afgelegd scoorde slechts 52/100, wat duidelijk nog sterk ondermaats is. De ACID3 test is echter ook nog steeds onder constructie en kan nog niet als finaal beoordelingsmiddel gebruikt worden.

Sinds de ACID3 test echter werd aangekondigd kondigde Mozilla aan dat ze een nieuwe versie van Firefox zouden uitbrengen die de ACID3 test kon doorstaan en Microsoft volgde door Internet Explorer 8 aan te kondigen. De toekomst zal aantonen of deze nieuwe releases een stap in de juiste richting zijn.


Wat kan je doen om de ondersteuning te verbeteren?

  • Vermijd code dat problemen geeft

  • Er zijn meestal manieren om code te vermijden die problemen kan geven in verschillende browsers. Het vermijden van zo'n code zorgt ervoor dat je veel meer browsers tegelijk kan ondersteunen zonder dat je daar extra veel moeite voor moet doen. Als je dan toch functionaliteiten op je site wil toevoegen die problemen kunnen geven, doe dit dan op een onopvallende manier. Als de functionaliteit dan niet werkt in een of andere browser, dan blijft de site toch nog operationeel en aantrekkelijk om te gebruiken.

  • Minimum, minimum, minimum!

  • Voorzie een versie van je site die voornamelijk uit tekst en HTML bestaat. Als je site Javascript gebruikt en de bezoekende browser ondersteunt geen Javascript (of heeft uit veiligheidsoverwegingen Javascript uitgeschakeld), dan moet de site nog steeds werken. Voorzie bijvoorbeeld een link op de startpagina naar je site zonder Javascript of mét Javascript. Dat vereist echter veel werk om gewoon meer browers te ondersteunen dus dat verslaat het nut alweer. Je kan de browser wel laten detecteren of Javascript ondersteund worden en de site automatisch aanpassen aan deze ondersteuning. Zo blijft de site werken, of de bezoeker Javascript ondersteund of niet.

  • Probeer geen browser buiten te sluiten

  • Probeer altijd objectief te besluiten wat de voordelen zijn om een browser te ondersteunen en hoeveel mensen gebaat zijn bij die beslissing. Als jouw serverlogs aantonen dat niemand van de bezoekers Firefox gebruikt is het nutteloos om uren te spenderen zodat jouw site ook werkt onder Firefox. Overweeg echter wel het tegendeel. Zullen er meer Firefox gebruikers jouw site beginnen bezoeken als jouw site ook goed werkt met Firefox? Het is belangrijk om steeds elk facet te bekijken bij het nemen van een belangrijke beslissing voor het voortbestaan van jouw site.




Bij het schrijven van dit artikel ben ik ongelooflijk geholpen door the Tech Republic.com.

Geen opmerkingen: