Slack gaat web- en desktop-client sneller maken

Slack heeft aangekondigd een grote update door te voeren aan zijn web- en desktop-client. De update komt niet met nieuwe functies, maar is een vrijwel volledig nieuwe versie van de onderliggende technologie. De nieuwe versie wordt in de komende weken uitgerold.

De clients op het web en op de desktop gebruiken vrijwel dezelfde codebase, weet TechCrunch. In het afgelopen jaar heeft Slack hard gewerkt om die clients te voorzien van een moderne stack, in plaats van jQuery en andere technologieën die het bij de introductie in 2012 gebruikte.

“We willen dat mensen Slack kunnen draaien naast de andere programma’s die ze gebruiken om hun werk te doen, en dat dat eenvoudig en prettig is”, directeur Jaime DeLanghe van Product Management bij Slack.

“Ik denk dat het andere belangrijke punt is dat het ecosysteem voor client-side development veel veranderd is in de afgelopen vijf jaar. Er zijn een aantal grote updates voor JavaScript en nieuwe technologieën als React en Redux geweest, om het eenvoudiger te maken om dynamische web-applicaties te bouwen. We wilden onze stack ook updaten om te voldoen aan de moderne wereld.”

33 procent sneller

Het team heeft de afgelopen maanden al wat voorbereidend werk uitgerold, maar de echte verschillen worden pas duidelijk bij de laatste update. Zo moet de nieuwe versie van Slack 50 procent minder geheugen gebruiken en 33 procent sneller laden. Ook wordt het tien keer sneller voor gebruikers om zich bij een inkomend telefoontje te voegen.

Veel verschillen zijn vooral op te merken door gebruikers die lid zijn van meerdere workspaces. Volgens DeLanghe is dat omdat het team een nieuwe architectuur ontworpen heeft met de aanname dat veel gebruikers nu onderdeel zijn van meerdere workspaces.

Het kostte voorheen veel geheugen en CPU-cycli om tussen de workspaces te wisselen, omdat iedere workspace een eigen Electron-proces kreeg. In de nieuwe app is React gebruikt om alle UI-componenten te bouwen. Daardoor wordt data geladen zodra het beschikbaar wordt, en hoeven gebruikers niet te wachten tot alle data geladen is voor ze wat kunnen zien.