Workplace productivity tool Slack has released an update for its macOS desktop app that boasts a number of performance improvements, including launching 33% faster than previous versions, while also using as little as 50% of the memory to run.
Slack has become a major component of work communications, with it installed on countless desktops, notebooks, and mobile devices around the world. On Monday, the team behind the tool started rolling out the update that includes a rewrite of sections of the app's code to make it work faster while consuming fewer resources.
The latest edition, which is available to download from Slack's website but will be rolling out to users in the coming weeks, features a major rewrite of the user interface elements and other improvements that were worked on over the last two years.
Originally built using HTML tables that required manual rewriting whenever there were any changes in data. Under the new version, the use of the JavaScript framework React now means changes are automatic, and potentially less prone to errors.
Another major improvement revolves around Electron, an open-source GIU framework, and its use in multiple workspaces, as each required a new Electron instance and required more memory. Prompting a complete client rewrite, the new "multi-workspace aware" client now creates containers for each workspace without containing the Electron process itself, minimizing the amount of duplication of Electron processes.
Slack is still an Electron-based app, but the migration to Electron-Webpack helps adjust how it uses resources and eliminates the need to run multiple full Electron instances, making the app less demanding on the system.
As a result, Slack requires less memory to introduce more workspace instances to the client, allowing it to use up only half the memory of earlier releases. The UI changes also allowed for the startup time to improve by 33%, as well as making it ten times faster to start calls with other users.
The way Slack caches conversations has also changed, with clients retaining more of earlier conversations. In earlier versions, the conversations weren't retained for very long, leaving some users from being able to see threads from earlier sessions when hamstrung with intermittent internet access, but now the client holds more session data.
The update is not universally available. It will take several weeks for all clients to get the update.
5 Comments
Maybe a noob question, but why not write a native Mac client using Swift+Metal? Performance-wise it should be miles ahead of any "webpage-in-a-box" application.
After the update, it looks like it is using about 170 MB for me (about half of what Safari with a bunch of tabs). Before the update it was using about 700 MB.
It would still be nice if this app went native in the future. It still feels like using a website. This is the type of app that works better native.
Perhaps include version numbers? I have 4.0.0, and when I go to the site, 4.0.0 is the version available for download, but the article is worded in a way that makes me wonder if there's a 4.1 or 4.5 or somesuch.
Re Electron, I can't stand Electron apps and I hate the way Slack works; very un-Mac-like. 😜
It would be great if they would build a real native Mac app!