Ambitieus webproject struikelt op te complex beheer en stabiliteit

Een kleine 5 maanden geleden startte ik met het project handispots.nl. Een ambitieus project met nogal wat wensen ten aanzien van vormgeving, functionaliteit en uitbreidbaarheid. De opdrachtgever koos na een uitgebreid – eigen – vooronderzoek voor de combinatie WordPress/BuddyPress. Lees hier de mooie praktijk van deze case, het einde ervan en de fantastische bijverschijnselen.

• Goede afspraken behoud voor het plezierige contact
• Veel geleerd van kwetsbaarheden in BuddyPress architectuur ten opzichte van themes en plugins
• Zeer fraai, maar te kwetsbaar eindresultaat zal het daglicht nooit zien
• Ton Bus deed suggestie om deze case in mijn blog ‘uit te schrijven’

Het begon allemaal met mijn bezoek aan ‘Only Friends‘ bij het Ronald McDonald sportcentrum in Amsterdam. Ik ontmoette daar Ton Bus, die voor een net in oprichting zijnde stichting een website wilde laten bouwen. De stichting Handispost is inmiddels enkele maanden een feit en richt zich op de enorme grote groep gehandicapten in alle mogelijke vormen in ons land. Het gesprek met Ton resulteerde in een leuke, maar tegelijkertijd, zeer betrokken opdracht, omdat ook onze zoon met downsyndroom past in de doelgroep, waar behoeften soms wat anders zijn dan in wat we gemakshalve ‘gewoon’ noemen.

Voor het behoud van een stukje historie: persoonlijke inlogpagina op handispots.nl

Ton wilde een BuddyPres – social – community laten bouwen als plugin bovenop WordPress. Ik zei dat ik geen ervaring had met BuddyPress, maar ja, het is een ‘plugin’, dus dat moet lukken. Dat was mijn reactie zo een vijf maanden geleden. Een kleine week later kwam ik in contact met Michaelrobbert van Gemen van ontwerpbureau Mikyair en directeur van Handispots. Hij liet me de ontwerpschetsen zien, zoals hij de site in gedachten had. Niet gehinderd door technische kennis een flinke hoeveelheid creativiteit neergezet, die ik dan moest zien te vertalen in de keuze voor een WordPress thema. Ik realiseerde me toen nog niet, welke impact dat zou hebben in de integratie met BuddyPress.

De opdracht begon, de schetsen van Michaelrobbert dienden als blauwdruk voor het functioneel ontwerp, welke echter niet werd uitgeschreven in vele tientallen pagina’s A4. Vooral veel extra aantekeningen op elke ontworpen pagina. We waren het met elkaar eens, de prijs, de doorlooptijd (uiteindelijk flink overschreden) en vooral de leuke onderlinge betrokkenheid bij dit project. Ton heeft een zoon met het fragiele-x-syndroom, Michaelrobbert leeft met slechts één been vanwege kinderkanker en ik heb een zoon met Downsyndroom. Die ‘klik’ was bijzonder en deed ons gezamenlijk besluiten de ‘opdracht’ enerzijds zakelijk te beklinken met een ‘all-in’ bedrag, maar anderzijds ook het wederzijdse gevoel voor saamhorigheid. De zakelijkheid werd ongezegd minder ‘hard’ dan gebruikelijk zou zijn. En dat voelde fijn.

Aan de slag dan maar, de techniek had in aanvang de overhand, Michaelrobbert wachtte rustig af tot hij zijn vormgevings inbreng kon vertalen in concrete creatieve suggesties binnen het gekozen thema. Het duurde even, maar uiteindelijke kozen we voor Suffusion, een min of meer blokjes gericht thema, welke qua look&feel al aardig overeenkwam met de uitgangspunten van Michaelrobbert. En dan ga je sleutelen, kijkend naar het ontwerp. We kwamen een heel eind. We leerden – samen – alles op het gebied van hooks, actions en filters. Ook doken we in CSS en PHP. Niet de bedoeling, dat wisten we allemaal wel, maar de look&feel van Michaelrobbert bracht ons ongekend ver in het toepassen van al deze stukjes techniek. We leerden allemaal!

So-far-so-good, totdat bepaalde plugins – en soms zelfs betaalde en zeker niet de minste – de lol negatief begon te beïnvloeden. Suffusion had het zogenaamde standaard ‘compatibility pack‘ voor BuddyPress al een beetje aangepast, iets waar niet elke plugin blij mee was. Op een gegeven moment verstoorde een plugin zelfs de werking van JQuery, een veel gebuikte bibliotheek van JavaScript routines. Het learning-by-doing traject mondde uiteindelijk uit in teveel ‘gedoe’ rondom een – klein – aantal maar wel noodzakelijke plugins. Niet bepaald de bedoeling om bij elke update na te gaan of er iets in de code was gedaan, hoe weinig dan ook. Ja, het viel achteraf allemaal wel mee, na het uitproberen van twee niet lekker werkende ‘kalender’ plugin, hadden we de juiste gevonden, maar daaraan moest flink wat ‘vorm gegeven’ worden om het er ‘aardig’ uit te laten zien.

Dat was zo een beetje de druppel van de bekende emmer. Het vertrouwen in het samenspel WordPress, BuddyPress, Suffusion en enkele tientallen plugins nam flink af. Ja, we zeiden dat het niet de bedoeling was om zelf veel te sleutelen in CSS of PHP, maar het aantal handelingen was niettemin aanzienlijk geworden, ondanks de slimme toepassing van ChildThemes. We waren het met elkaar eens dat we een fantastisch product hadden gemaakt. Maar in de pre-beta-test liep bij het vullen van de zogenaamde BuddyPress groepen (handispots noemde ze ‘spots’) het wegschrijven van de afzonderlijke records ineens fout. Het wegschrijven werd niet netjes afgerond alvorens de knop ‘nieuw’ vrij te geven. Corrupted database was het resultaat en een volledig wit scherm in zowel front- als backend. Natuurlijk de database van de vorige dag teruggezet en het probleem was weer opgelost. Maar verbaasd waren we wel, BuddyPress hield geen rekening met een ‘gereed melding’ vanuit de database en laat de niets vermoedende gebruiker gewoon weer op de knop ‘nieuw’ drukken, foutje in de index in de database en de boel gaat op ‘zwart’, in het geval van WordPress dus ‘wit’.

Afgelopen vrijdag hebben we gezamenlijk besloten de stekker eruit te trekken. Op Ton zijn vraag of ik het de volgende keer weer zo zou doen antwoordde ik negatief. Dat gaf de doorslag voor het bestuur van de stichting Handispots. De combinatie is te fragiel om zelf te onderhouden. Natuurlijk zou ik dat hebben kunnen doen voor een klein bedragje per jaar, maar dat was de opzet niet. Wat is er nou mooi aan deze case? Ton is inmiddels met een nieuw eigen bedrijf gestart onder de naam 24PM Websites. Ja op basis van WordPress, maar ook Ning, waarvoor uiteindelijk voor Handipost is gekozen. Michaelrobbert heeft in die tijd een nieuwe activiteit binnen zijn bedrijf ontwikkeld, QR Alert, een zeer zinvolle toepassing van QR codes. Aanvankelijk bedoeld voor ‘verloren’ kinderen op het strand of in het zwembad, maar inmiddels al veel breder toepasbaar.

Hoe nu verder? Jammer dat de huidige gebouwde site dus niet live gaat. Maar wel een goed besluit waar ook ik achter sta. Al eerder gaf ik aan wat voorzichtiger te zijn met de toepassing van BuddyPres in een omgeving waar nogal wat extra eisen worden gesteld aan zowel vormgeving als toegevoegde functionaliteit binnen die vormgeving. Ton, Michaelrobbert en ik kijken terug op 5 zinvolle maanden. Ja, het geld is weg, dat is een feit. Een Ning omgeving is echter redelijk snel gebouwd, zodat handispots toch snel live kan gaan. Michaelrobbert neemt genoegen met een wat minder precieze vormgeving, maar is blij met het feit dat er geen eigen onderhoud gepleegd hoeft te worden. En nee, de onderlinge betrokkenheid is er niet minder om geworden. Ton en Michaelrobbert heb ik vooral leren kennen als heel fijne mensen. We hebben met alle onderlinge afspraken steeds ingestemd en allemaal ‘ons’ eigen ding gedaan. Dus nee, geen verwijten, geen claims, rekeningen gewoon betaald en uiteindelijk samen met alle nieuwe dingen veel geleerd om in welke hoedanigheid dan ook, onze contacten warm aan te houden. En dat is wel het beste resultaat van deze samenwerking.