We hebben onze 87e sprint voltooid. Een bijzondere iteratie, omdat we twee grote projecten hebben afgerond waaraan we in de afgelopen maanden hebben gewerkt: de vernieuwde BenchDB en de overgang naar https.
BenchDB
Tweakers reviewt een groot aantal producten. Onze reviews zijn altijd gebaseerd op objectieve meetgegevens, die we eigenhandig in ons testlab hebben vergaard, ongeacht de productsoort. Meetgegevens stellen ons namelijk in staat onze subjectieve bevindingen te onderbouwen met harde data. Alle gegevens die we vergaren met deze tests, willen we kunnen bewaren, vergelijken, terugvinden en uiteindelijk mooi kunnen presenteren, zodat we ze met gebruikers kunnen delen. De tool die we daarvoor hebben gemaakt, de benchmarkdatabase, was dusdanig verouderd dat een volledige refactor noodzakelijk was.
Na meer dan 140 afgeronde tickets, maanden van keihard werken en nog veel meer ontwikkeluren is het dan zover. Het moment is aangebroken dat we de BenchDB-refactor officieel afronden. Deze totaal vernieuwde tool stelt de redactie in staat om alle resultaten van producttests goed te beheren en mooi weer te geven in grafieken, zodat we die als onderbouwing bij reviews en als aanvullende informatie bij producten kunnen tonen.
Femme heeft de originele BenchDB twaalf jaar geleden haastig in een periode van enkele weken geschreven. Nadien zijn er nog enkele uitbreidingen zoals de weergave van grafieken in gehackt. Omdat sommige logica voor de BenchDB hergebruikt moest worden, was het noodzakelijk om de oude code door te spitten. Geen makkelijke klus, aangezien de logica in procedurele code stond van rond de vijfduizend regels per bestand. De BenchDB is nu herschreven naar objectgeörienteerde code die volgens een model-viewer-controller-structuur is opgebouwd in het Symfony-framework.
Een van de laatste functies die omgebouwd moesten worden, was het samenstellen van indices en het berekenen van indexgetallen. De redactie kan deze functionaliteit gebruiken om de resultaten van verschillende tests samen te vatten in een gewogen en geïndexeerd gemiddelde, zodat het vergelijken van de prestaties van producten makkelijker wordt. In het verleden gebruikten we prestatie-indices alleen voor storagebenchmarks. In de nieuwe BenchDB is het beheer gebruikersvriendelijker gemaakt zodat de functionaliteit nu ook eenvoudig voor andere productcategorieën ingezet kan worden.
De samenstelling van een denkbeeldige prestatie-index
Https en http/2
In 2014 schreven we al een artikel over de overweging om over te gaan op https en zoals te lezen was in een uitgebreid achtergrondartikel, hebben we in de afgelopen week de overstap gemaakt. Een weloverwogen keuze en een groot project, waarbij naast het product- en developmentteam bijna elke afdeling binnen Tweakers betrokken is geweest.
Na de succesvolle release van vorige week, zien we de eerste effecten. Door de release van https kunnen de meeste browsers nu ook gebruikmaken van het http/2-protocol. Direct na de release om half tien, is in onderstaande grafiek te zien wat het effect is geweest van de release op het aantal ssl-requests voor http/1, en http/2.
Abonnementen
Verder zijn we de strijd aangegaan met onze technical debt op het onderdeel abonnementen. Daarmee maken we het in de toekomst ook mogelijk om maandelijkse betalingen te doen.