Slack macOS update launches quicker and uses half the memory

Posted:
in Mac Software
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.

Memory usage graphs for earlier Slack versions (left) and the new client under various instance loads
Memory usage graphs for earlier Slack versions (left) and the new client under various instance loads


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.

Comments

  • Reply 1 of 5
    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.
  • Reply 2 of 5
    Mike WuertheleMike Wuerthele Posts: 6,861administrator
    not_anton said:
    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.
    Solid question. We've asked a few times, but never got an answer. Likely so they can have a shared Electron codebase across multiple platforms.
    edited July 2019
  • Reply 3 of 5
    esummersesummers Posts: 953member
    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.

    edited July 2019
  • Reply 4 of 5
    keithdkeithd Posts: 1member
    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. 😜
  • Reply 5 of 5
    It would be great if they would build a real native Mac app!
Sign In or Register to comment.