In de afgelopen sprints hebben we toegewerkt naar de release van een thirdpartytrackingvrij Tweakers. Sinds 31 mei is die lang gekoesterde wens realiteit. Ook hebben we weer verder ontwikkeld aan de wysiwygeditor. Hieronder lees je wat er is veranderd.
Tweakers zonder thirdpartytracking
Vanaf 31 mei zijn de banners op Tweakers vrij van thirdpartytracking. De oude Google-systemen zijn uit de site gehaald en ook de cookiemuur is verwijderd. Met als resultaat dat bezoekers van Tweakers niet meer gevolgd kunnen worden door adverteerders.
Met deze stap ging een lang gekoesterde wens in vervulling: een Tweakers zonder thirdpartytracking. Adverteerders kunnen niet meer ‘meekijken’ en kunnen geen cookies zetten om informatie over gebruikers te verzamelen of om te retargeten. Niet alleen is deze nieuwe manier van advertenties serveren veel beter voor jullie privacy, de banners laden ook nog eens fors sneller dan via het oude Google-systeem. Daardoor zul je nóg minder last hebben van verspringende pagina’s.
Het nieuwe advertentiesysteem is gebaseerd op technologie van het bedrijf Adhese. Over hoe dit technisch in elkaar zit, lees je meer in dit achtergrondverhaal.
Nieuwe cookiebalk
De cookiewall is verdwenen en daarvoor in de plaats is een nieuwe cookiebalk gekomen. Via deze cookiebalk kun je je toestemming geven en beheren voor de verschillende doeleinden die nog wel relevant zijn. Bijvoorbeeld wanneer je niet wilt dat embedded YouTube-video's op de site getoond worden.
/i/2005167290.png?f=imagenormal)
Ook kun je in de cookiebalk aangeven of je relevantere advertenties zou willen zien. Door dat te activeren beperk je het aantal keer dat dezelfde advertentie wordt getoond. Ook worden dan advertenties getoond op basis van de pagina's die je hebt bezocht. Meer hierover kun je lezen in ons cookiebeleid.
Je kunt je gegeven toestemming altijd weer aanpassen vanuit je accountpagina of de informatiepagina over ons cookiebeleid.
Instructie whitelisten
Tweakers blijft voor een deel financieel afhankelijk van inkomsten uit advertenties. De op onze site getoonde advertenties zijn nu dus veilig, zijn privacyvriendelijk en bevatten geen thirdpartytracking. We willen je daarom vragen om voor ons een uitzondering te maken in je adblocker, zodat je indirect bijdraagt aan het voortbestaan van onze site.
We hebben een instructiepagina gemaakt waarop je kunt lezen hoe je bij een aantal populaire adblockers voor Tweakers een uitzondering kunt maken.
Update wysiwyg
Na de vorige .plan gaven jullie aan graag te weten waar we staan met het wysiwygeditorproject. Daarom praten we jullie graag bij over de ontwikkelingen in de afgelopen sprints. We zijn doorgegaan met de proof of concept voor Tiptap. We hebben wat ingewikkeldere dingen geprobeerd om te zien of het gebruik van Tiptap technische beperkingen heeft en zo ja, welke.
Zo wisten we na de poc met Quill dat nesting essentieel is, maar ook dat het citeren van gebruikers een aandachtspunt is. Zo moeten we het citaat herkennen om de juiste persoon een notificatie te kunnen sturen en moet in een register bijgehouden worden welke gebruiker wordt genoemd. Dat register wordt gebruikt om de gebruikersnaam aan te passen als de gebruiker een verzoek tot nick-change doet.
Frontenduitdaging
De meeste uitdagingen zaten aan de frontendkant. Tiptap 2 is nog in bèta en sommige documentatie ontbreekt (nog). Bovendien is Tiptap een wrapper om ProseMirror. Daarmee is het niet altijd even duidelijk welk van de twee nu verantwoordelijk is voor het probleem waar je tegenaan loopt. Dat maakte sommige zaken frustrerender dan nodig is.
De basis van onze poc is echter goed. Op het moment dat het frontenddeel klaar was, was het redelijk eenvoudig dit in de backend te verwerken. Dit komt doordat we de frontend JSON laten genereren en dit in de backend gebruiken. Wanneer het frontenddeel eenmaal werkt, is het een kwestie van een nieuwe parser in de backend schrijven die aangeeft hoe het element moet worden gerenderd in HTML. In tegenstelling tot het eerder geprobeerde Quill heeft Tiptap wel een hiërarchische structuur in de JSON, waardoor er zonder extra moeite ondersteuning voor geneste inhoud is.
/i/2005167320.png?f=imagenormal)
De grootste backenduitdaging was het kunnen aanpassen van de tekst van een link. Als een gebruiker een link invoegt naar een pagina op Tweakers, proberen we de titel van de bijbehorende pagina op te vragen en vervangen we de tekst van de link door de titel van die pagina. Links staan echter in het JSON-object; de inhoud van de link is daar een childnode van en niet speciaal gemarkeerd als linktekst. Dat maakt het herkennen van tekst binnen een link niet eenvoudig. Door de Textparser aan te passen is het toch gelukt.
Door deze aanpak vroegen we ons tegelijk af of dit herkennen van een link en vervangen door tekst al in de frontend moet gebeuren. Dit maakt dat de uiteindelijke tekst in de editor beter overeenkomt met wat je als gebruiker invoert. Waarschijnlijk wordt het dan in de backend ook eenvoudiger, omdat je daar dan geen tekst meer hoeft te vervangen. Als laatste hebben we gekeken of de essentieelste functionaliteit zou werken in Tiptap: Smilies. Dat lijkt geen probleem *o*
En verder
- Wanneer je buiten het fotoalbum/de afbeeldingenuploadtool om een plaatje toevoegde in een forumpost, zag je bij te grote afbeeldingen (in afmetingen) een rode thumbnailwaarschuwing. Deze is mede op basis van de feedback in het forum (hier en hier) verwijderd.
- Sinds deze sprint gebruiken we overal PHP 8.1 en kunnen we dus ook de nieuwste features gebruiken. Het grootste probleem waar wij tegenaan liepen bij de overstap, bestond uit door ons gebruikte extensies die nog niet (geheel) bugvrij waren. Voor de laatste extensie is er pas sinds een paar weken een release met daarin de laatste bugfixes, zodat we nu helemaal om zijn.