maandag 13 september 2010

Webstekken en woningen - De ontwikkeling

Onlangs vertelde een collega dat hij het principe van het ontwikkelen van een website had uitgelegd, met het bouwen van een huis als voorbeeld. Zelf heb ik mij er ook wel eens op betrapt, dat voorbeeld te gebruiken. In deze blog wil ik, voor een ieder die het interesseert, datzelfde nog een keer doen. Hoewel mijn vader altijd in de bouw heeft gezeten, heb ik niet meer verstand van het bouwen van een huis dan een gemiddeld ander mens. Ik hoop dat ik het voorbeeld daardoor voor iedereen duidelijk kan maken. Niet alleen voor timmerlui.

Ontwerp

Als iemand een huis wil laten bouwen en daarvoor genoeg geld tot zijn beschikking heeft, moet het huis eerst ontworpen worden. Er moet besloten worden hoe groot en hoog het huis wordt, hoeveel kamers het moet hebben en welke functies die kamers moeten hebben. Die specificaties hangen met elkaar samen. Tien vierkante meter is misschien genoeg voor een slaapkamer, maar voor een huiskamer is het bijvoorbeeld erg klein.

Ook een website moet eerst worden ontworpen, voordat het bouwproces kan beginnen. Net als bij een huis, moet de opdrachtgever aangeven hoe de website eruit moet zien, welke functionaliteiten de website moet krijgen en voor welke doelgroep de website is bedoeld. Een forum is bijvoorbeeld erg geschikt voor een grote en jonge doelgroep, terwijl bij een kleinere website een gastenboek misschien al voldoende is. Als de klant tevreden is met het ontwerp, kan -net als bij een huis- begonnen worden met de bouw.
Als een klant niet precies weet wat voor website hij wil hebben, zijn er overigens genoeg web-bouwers die goed kunnen meedenken en vaak met goede suggesties komen!

Fundering

Om een goed en stevig huis te bouwen, is eerst een fundering nodig. De fundering zorgt ervoor dat de ondergrond het gewicht van het huis kan dragen en dat het huis niet wegzakt of omvalt. Tijdens het leggen van de fundering is het dus al noodzakelijk om te weten wat voor huis gebouwd gaat worden. Zowel de vorm als de hoogte moeten bekend zijn, maar de aannemer moet ook rekening houden met de te gebruiken materialen. Een huis van steen is nou eenmaal zwaarder dan een huis van hout. Pas als de fundering voldoet aan de eisen van het te bouwen huis, kunnen de muren worden opgemetseld. Een stevigere en grotere fundering aanleggen lijkt misschien handiger voor toekomstige uitbreidingen, maar daar hangt wel een prijskaartje aan.

Bij een website bestaat het fundament uit een database en modellen, die trouwens steeds meer in elkaar verweven worden. Net als bij een huis, is het erg belangrijk om te weten wat voor applicatie er op het fundament gebouwd gaat worden. Bij websites is de grootte en dus de vorm belangrijk om te weten. Om het voorbeeld van een forum aan te houden: Tijdens het inrichten van de database en het programmeren van de modellen is het belangrijk om te weten op welke manier een forum is opgebouwd. Heeft een forum bijvoorbeeld subfora? En hoeveel topics komen er? Als er in totaal maar één topic komt, is het bijvoorbeeld niet nodig om rekening te houden met meerdere subfora. Net als bij huizen kan de fundering wel groter en steviger worden gemaakt dan in het ontwerp is beschreven, maar ook bij websites hangt daar een prijskaartje aan.

Structuur

Als de fundering is gelegd kan, zoals gezegd, begonnen worden met het opmetselen of timmeren van de muren. Vaak is dit pas het moment waarop je goed kunt zien hoe het huis in elkaar komt te zitten. Tekeningen en ontwerpen kunnen veel vertellen, maar om een goed beeld te krijgen is een 3D aanzicht toch veelzeggender. Om het huis stevig te maken en te houden, is het voor de aannemer van belang om zich aan de bouwtekeningen te houden. Een opdrachtgever kan wel langskomen en zeggen dat een bepaalde kamer toch een stukje groter moet worden gemaakt, maar omdat het fundament daar niet op is berekend, krijg je een wankel en onstabiel huis. Hoe meer wijzigingen gedaan worden tijdens de bouw, hoe groter de kans op instorten.

Het mag geen verrassing heten dat bij websites wederom hetzelfde principe geldt. Pas als de fundering klaar is, kan worden begonnen met het bouwen van de daadwerkelijke functionaliteit. De functionaliteit koppelt de verschillende modellen aan elkaar en laat ze met elkaar communiceren. Zo wordt het snel duidelijk hoe de website er uiteindelijk uit komt te zien. Als de klant op een gegeven moment langskomt, het forum bekijkt en besluit dat subfora toch mogelijk moeten zijn, moet er aan de fundering van de website worden geprutst. Bij het bouwen van websites is dit niet altijd onmogelijk, maar het kost wel altijd veel tijd (dus geld) en vaak wordt de hele website er onstabieler van. In de praktijk betekent dit dat er veel bugs en errors tevoorschijn komen.

Afwerking

Als het dak op het huis zit, kan er begonnen worden met de inrichting. Het uitgezochte behang kan worden geplakt, de vloerbedekking van keuze worden gelegd en het plafond kan worden gesausd. Naar eigen smaak kunnen schilderijtjes en gordijnen worden opgehangen. De bijpassende meubels worden gekocht en neergezet en uiteindelijk is het huis klaar om bewoond te worden. Ingrijpende veranderingen zijn echter niet meer mogelijk. Nog even een stuk uit een dragende muur zagen, omdat een panoramaraam daar mooi zou staan, is er niet meer bij.

Ook het uiterlijk van een website kan nog kleine veranderingen ondergaan. Het veranderen van kleuren is vaak geen groot probleem. Hele grote veranderingen, zoals een andere huisstijl, is een ander verhaal. Bij veel web-bouwers wordt het -door de klant gekozen- ontwerp direct toegepast op de ontwikkelde pagina's in een website en houden de ontwikkelaars rekening met het ontwerp. Hierdoor zijn het ontwerp en de functionaliteit vaak dusdanig verweven, dat het moeilijk is om ze uit elkaar te trekken. Als een linker zijbalk naar de rechterkant verplaatst moet worden, is daar vaak wel wat tijd voor nodig.

Conclusie

Zoals ik hierboven hopelijk heb duidelijk heb gemaakt, hebben huizen en websites op het gebied van bouwen/ontwikkeling veel met elkaar gemeen. Het is, voor zowel de klant als de bouwer, belangrijk om goede afspraken te maken betreft het doel van het gebouw of de site én om zich aan die afspraken te houden. Zodoende kunnen aannemers en webdevelopers voor iedereen mooie en stevige constructies maken, zonder al te veel irritatie en stress voor bouwer en klant.

Veel woon- en web-plezier!

P.S. Ik sta open voor suggesties en opmerkingen over de vergelijking. Ik begrijp dat de vergelijking hier en daar enigszins scheef gaat. Wijs me er gerust op en kom gerust met betere voorbeelden!