De eerste sprint van 2025 is achter de rug. In deze sprint hebben we gewerkt aan het vernieuwen van de hoofdnavigatie op de site. Ook hebben we de plannen voor de realisatie van een modernere editor afgestoft. Hieronder lees je over deze vernieuwingen en wat we nog meer gedaan hebben de afgelopen tijd.
Vernieuwde hoofdnavigatie
Om de gebruikservaring op mobiele apparaten te verbeteren hebben we de werking van de hoofdnavigatie soepeler en eenvoudiger gemaakt. Voorheen toonden we op kleine beeldschermen aan weerszijden van de navigatiebalk hamburgericonen met menu's die in een paneel links of rechts van de site werden weergegeven. Bij het openen verschoof de inhoud van de pagina en ook de positie van het hamburgericoon. Om het menu weer te sluiten moest je je vinger verplaatsen.
In de nieuwe mobiele navigatie hebben we ervoor gekozen om submenu's als overlay te openen. Het hoofdmenu blijft op zijn plek staan, zodat er geen vingerbeweging meer nodig is om het menu te sluiten. In de onderstaande screenshots zie je de oude en nieuwe hoofdnavigatie naast elkaar:


De persoonlijke menu's in de rechterkant van de navigatie, zoals je gebruikersmenu, notificaties en berichten, worden ook als overlay geopend en zijn vanaf heden rechtstreeks bereikbaar. Er zijn minder handelingen nodig om naar je notificaties of berichten te gaan en je ziet meteen of een nieuw item een notificatie of bericht betreft. Verder is er nu meer ruimte in de breedte beschikbaar voor de weergave van items in je vergelijkingslijst, berichten en notificaties.


De wijzigingen zijn aangegrepen om de mark-up en de JavaScript van de hoofdnavigatie grotendeels te herschrijven. Hiermee hebben we veel techdebt in de code van de hoofdnavigatie afgelost. Tevens hebben we aandacht gegeven aan de toegankelijkheid van de navigatie voor slechtzienden. Zij kunnen nu makkelijker in screenreaders navigeren en naar de eigenlijke inhoud van de pagina springen.
Op de desktop is de navigatie onder de motorkap vernieuwd, maar zijn de visuele wijzigingen beperkt tot subtiele verschillen zoals de gebruikte iconen en de hiërarchie in het gebruikersmenu.
Met deze aanpassingen kan het zijn dat custom CSS die aanpassingen deed in de navigatie niet meer naar behoren werkt.
Uitleg over sortering
Om duidelijker te maken hoe de verschillende listings op de site gesorteerd worden, hebben we op de daarvoor relevante plekken een informatie-icoontje toegevoegd. Als je op dat icoontje tapt of klikt, opent een schermpje met daarin de uitleg.
Aanpak wysiwygeditor
Het is alweer een tijd geleden dat we erover hebben geschreven: de wysiwygeditor. In maart 2022 kondigden we aan dat we begonnen waren met een project om het gemakkelijker te maken reacties met opmaak te schrijven. Helaas moesten we om diverse redenen het project vrij snel daarna in de ijskast zetten.
Met een nieuw jaar willen we het project nieuw leven inblazen. Het voordeel van het stilleggen van zo'n project is dat we er een frisse blik op kunnen werpen. Hierdoor kwamen we tot de conclusie dat we het toch anders willen aanpakken dan de vorige keer.
Laten we beginnen bij het begin. Toen we zo'n drie jaar geleden begonnen, was het idee dat we een nieuwe editor zouden maken in isolatie, die we later aan de website zouden koppelen. We begonnen met het maken van een editor in onze storybookomgeving en zouden deze naar productie brengen zodra hij klaar was. Door deze manier van werken zorgden we ervoor dat gebruikers niet opgescheept zaten met een half werkende editor. Bovendien konden we in de testomgeving eenvoudig verschillende producten uitproberen, omdat we geen rekening hoefden te houden met de rest van onze codebase.
Dankzij deze aanpak waren we zo flexibel dat we zelfs geen rekening hoefden te houden met RML en we een ander formaat konden gebruiken. Nadat het werk in isolatie klaar zou zijn, zouden we eenmalig bestaande inhoud omzetten van RML naar het nieuwe formaat. Op deze manier hadden we geen 'last' van compatibiliteit met RML. Deze flexibiliteit hebben we destijds goed benut. Onze eerste implementatie maakten we op basis van Quill, maar deze bleek toch ongeschikt door de manier waarop wij gestructureerde inhoud gebruiken. We konden toen alles eenvoudig weggooien en opnieuw beginnen met Tiptap door de oude code weg te gooien.
Helaas zit er ook een keerzijde aan deze manier van werken, die versterkt werd doordat het project na een paar iteraties stil kwam te liggen: het project is eenvoudig te vergeten. Juist omdat er niets naar productie gaat, is er geen impuls om het verder te ontwikkelen.
Daarom pakken we het deze keer anders aan. We gaan het gefaseerd uitvoeren, waarmee we sneller code naar productie brengen. We willen beginnen met het ontwikkelen van een editor die met RML werkt, waarbij je op elk willekeurig moment kunt wisselen tussen wysiwyg en RML. De eerste versies van deze nieuwe editor kunnen we dan met een kleine groep medewerkers testen door gebruik te maken van een featureflag.
Naarmate de editor completer wordt, breiden we de groep uit die de editor kan testen, om op een gegeven moment een versie als bètafeature aan te bieden aan de grootste groep testers. We blijven ondertussen de editor uitbreiden, maar kunnen al bugmeldingen en andere feedback verwerken. Wat we wel hetzelfde doen als de vorige keer, is dat we eerst de editor voor frontpagereacties maken. De opmaakmogelijkheden voor frontpagereacties zijn beperkt, waardoor we hiervoor als eerste een volledig werkende editor kunnen maken.
Als de gefaseerde aanpak voor frontpagereacties goed verloopt, kunnen we de editor ook gefaseerd op andere plaatsen vervangen. Als de editor overal vervangen is en compatibiliteit met RML niet meer strikt noodzakelijk is, kunnen we besluiten of we RML willen vervangen door een ander opmaakformaat.