[EXCLUSIF] Depuis ses débuts, la plateforme collaborative est en butte à une critique récurrente : ses clients web et desktop sont gourmands, très gourmands. Or Slack annonce aujourd’hui résoudre ce problème et déploie une mise à jour améliorant les performances de ses applications.
Jaime DeLanghe, Director Product Management chez Slack
Microsoft Teams a-t-il triomphé dans la bataille qui l’oppose à Slack ? Redmond le clame haut et fort : il annonce 13 millions d’utilisateurs actifs quotidiens, contre 10 millions pour Slack. Bon, le chiffre fourni par la jeune pousse tout juste cotée en bourse date de janvier, ce à quoi il faut ajouter la fourniture de Teams dans l’abonnement Office 365 version entreprise, qui oblige à prendre les chiffres avancés par le géant avec prudence.
L’entreprise de Stewart Butterfield n’a toutefois pas attendu Redmond pour lancer son offensive auprès des entreprises. Outre les multiples intégrations de services tiers, Slack a lancé en 2017 Enterprise Grid, une version de la plateforme collaborative tournée vers les grandes entreprises, puis en début d’année un outil d’automatisation de workflows hérité du rachat d’Actions ainsi que les « shared channels », permettant d’étendre un canal de discussion existant à des utilisateurs extérieurs à l’entreprise.
Ça rame
Mais voilà, en tant que plateforme, Slack n’est pas seul à tourner sur les machines des utilisateurs. Et le service s’avère fort gourmand en mémoire et lent au démarrage. « Ces fonctionnalités ont un coût : le client desktop peut utiliser beaucoup de mémoire. Cette empreinte mémoire augmente à mesure que l'utilisateur se connecte à davantage de channels » écrivaient déjà en 2017 des ingénieurs de la plateforme. Or avec le temps, et toujours plus de fonctionnalités, Slack est loin, très loin, de consommer moins de mémoire. Avec les problèmes de performances que cela implique.
Et personne, que l’usage soit perso ou pro, n’aime voir son ordinateur tourner au ralenti. C’est pourquoi Slack déploie à partir d’aujourd’hui une mise à jour de ses clients desktop et web avec un maître-mot : plus performant. « Nous avons revu l’architecture de notre application pour postes de travail et de notre client web » nous explique Jaime DeLanghe, Director Product Management chez Slack. « Les améliorations apportées permettent un démarrage plus rapide de Slack et une réduction substantielle de la mémoire utilisée par le service ».
Jaime DeLanghe évoque un lancement 33% plus rapide, un client consommant moitié moins de mémoire et des appels lancés dix fois plus vite. De même, la manière dont les applications se lancent a elle aussi été modifiée, toujours au nom de la rapidité. L’évolution technique passe d’abord, là où l’interface utilisateur avait été développée en HTML, par le passage à React et l’exécution de plusieurs espaces de travail dans un seul processus Electron.
React et Redux
En effet, « lors de la connexion à plusieurs espaces de travail, chacun de ces espaces exécutait en fait une copie autonome du client Web dans un processus Electron distinct, ce qui signifiait que Slack utilisait plus de mémoire que prévu par les utilisateurs » expliquent les ingénieurs dans un post de blog. Ils recourent désormais à Redux. « Nous avons pu modéliser pratiquement tout sous forme d'actions ou de requêtes sur un storeRedux, ce qui a permis à Redux de fournir une couche d'abstraction adaptée au concept d'espaces de travail individuels ».
Enfin, dernier changement pour la version desktop, la possibilité de consulter les messages d’un channel précédemment ouvert, même sans connexion Internet. Selon Jaime DeLanghe, la raison derrière cette mise à jour, qui sera déployée progressivement dans les prochaines semaines, est une question d’échelle. « Il n’est pas question chez Slack d’être une application all-in-one : vous utilisez vos propres applications à côté et c’est pour cela qu’il est critique que Slack consomme moins de ressources. En outre, cette mise à jour facilitera l’intégration d’autres fonctionnalités qui nous dévoilerons prochainement ».