De evolutie van een CMS
Al sinds het begin van mijn programmeercarrière heb ik belangstelling gehad voor het ontwikkelen van Content Management Systemen (CMS’en). Tot op de dag van vandaag ben ik daar mee bezig gebleven. Resultaat: steeds innovatievere oplossingen, meer gebruikersgemak en beter onderhoudbare code.
Hoe is deze liefde voor het bouwen van CMS’en ontstaan? Eigenlijk weet ik het zelf ook niet goed, maar ik ga hier de geschiedenis, het heden en de toekomst bespreken van het KikCMS.
Het begin
Tijdens mijn opleiding ICT aan de Hogeschool van Amsterdam begon ik al klusjes aan te nemen. Bijvoorbeeld: een site maken voor kunstenaars in de familie, die ze zelf konden onderhouden, artmaker.nl (draait nog steeds!).
Ik heb zelfs een keer een rich-text editor gemaakt. Maar ik kwam er al snel achter dat dit weinig zin heeft omdat er veel uitgebreidere open-source varianten beschikbaar zijn, zoals TinyMCE.
De CMS’en die ik in deze tijd bouwde waren losse systemen. Dit is een voorbeeld van hoe dat er uit zag:
Dit was voor de website van ‘Beeld In Tuin’. In dit CMS kon je evenementen op een kaart weergeven en de inhoud ervan bewerken.
Toen ik in 2005 stage liep bij Webvalue in Alkmaar, heb ik ook diverse CMS’en gemaakt voor bedrijven. Dat waren nog altijd losse systemen.
In 2006 heb ik voor Webvalue, samen met een vriend, een CMS gemaakt dat voor meerdere sites gebruikt kon worden. Hier is de basis gelegd voor een CMS dat tot op de dag van vandaag wordt gebruikt!
Het eerste KikCMS
In 2007 had ik een nieuwe versie voor het paginabeheer gemaakt. Van dit CMS maakte ik een afgeleide eigen versie. Ik doopte dit ‘KikCMS’.
Ik was op het idee gekomen om pagina's in het CMS weer te geven zoals ze op de website worden weergegeven; je kunt dat hier zien. Dat leverde wel een aantal nieuwe problemen op, zoals gigantische rijen pagina’s in grote websites, en een vreemde weergave voor ‘losse pagina’s’ die niet in een menu thuis hoorden.
Het huidige KikCMS
Het KikCMS dat ik momenteel gebruik voor mijn klanten is ontwikkeld in 2010. Dat ziet er zo uit:
Dit CMS heeft een veel gebruiksvriendelijker mediabeheer en beter paginabeheer. Ook bevat het standaard statistieken. Pagina’s worden nog steeds weergegeven met dezelfde indeling als op de website, maar kan makkelijker meer pagina’s aan.
Uniek aan het KikCMS is dat je, bij het bewerken van onderdelen, niet uit de huidige flow wordt getrokken. Je blijft in het scherm waar je al zat. Technisch is dit veel uitdagender om te bouwen, maar het zorgt voor veel meer gebruiksgemak.
Uitstapje & frameworks
In 2015 verliet ik mijn baan bij Webvalue. Daarmee heb ik eigenlijk ook de ontwikkeling van het eigen CMS een tijdje losgelaten. Ik was op mijn werk niet meer actief bezig met het verder ontwikkelen aan het CMS. Daardoor ook minder naast mijn werk.
In 2015 ben ik begonnen als full-time developer bij Tweakers. Al snel kon ik ook aan hun eigen ontwikkelde CMS verder bouwen. Ik heb er veel geleerd door een andere manier van werken en door het gebruik van Frameworks. Ik heb vooral veel tijd besteed aan het ontwikkelen van de BenchDB.
In 2016 ben ik er part-time gaan werken. Daardoor had ik ruimte om, naast mijn baan bij Tweakers, een flink project aan te pakken dat ik met het Laravel framework heb gebouwd.
Het nieuwe KikCMS
Eind 2016 besloot ik dat mijn gigantische kennis en ervaring bij het bouwen van CMS’en niet onbenut mocht blijven: ik ben voor mezelf begonnen.
Met alle kennis die ik in de afgelopen jaren heb opgedaan is het tijd voor een nieuw CMS. Ik heb besloten dat ik dit niet meer in de avonduren kan realiseren (de komst van onze kleine bevordert dat ook niet echt!).
Ik besteed nu 40% van mijn tijd als ondernemer aan het ontwikkelen van het nieuwe KikCMS. Mijn streven is om dit 1 juli af te ronden. Al mijn klanten die nog op een oudere versie zitten krijgen kosteloos een upgrade.
Het nieuwe systeem wordt nóg gebruikersvriendelijker, sneller en beter uit te breiden. Een ander resultaat is dat ik maatwerkopdrachten in minder tijd en professioneler zal kunnen uitvoeren!
Hierbij vast een screenshot van een bewerkscherm in het nieuwe KikCMS: