Slack’s new desktop app loads 33 percent faster and uses less RAM

Illustration by Alex Castro / The Verge

Slack is unveiling a new version of its desktop app for Windows and macOS today that promises big performance improvements. Slack has rebuilt its desktop app to focus on speed, and the company claims Slack will now launch 33 percent faster than before. The Slack app will even use 50 percent less RAM than before, according to the company.

Both of these performance improvements will be noticeable for many of Slack’s customers, but they’re particularly key if you use multiple workspaces in the existing Slack desktop app. Slack has totally rebuilt the desktop app so that all of the underlying code is multi-workspace aware. The result is that Slack will no longer create a standalone copy for each workspace and take up RAM for each instance. Instead, it reuses components and uses a more modern codebase.

Slack has been working on this overhaul for two years, slowly modernizing parts of its code along the way. While the desktop apps still run on Electron, all of the UI parts have been rebuilt using React to fix some of the shortcomings of the existing Slack app. Even Slack calls should be faster to join and use with colleagues now.

Alongside these basic performance improvements, the Slack desktop app will now behave a lot better when you’ve got bad internet connectivity or you’re simply offline. If you use Slack regularly, you’ll know that when you drop off of a Wi-Fi connection, the app warns you and often doesn’t let you view channels and conversations you’ve been having. Slack isn’t introducing an “offline mode” with this latest desktop app, but it will cache your session a lot better so you can look back at messages in a channel or view conversations you were having before your connection dropped.

All of these changes are rolling out to Slack users today, and you can download the latest Slack desktop app over at the company’s site.

Comments

And still no dark mode

There are a lot of walkthroughs on how to make it dark. Im currently using it where it looks like the following:

Yes, I’m using a dark mode hack too, and every time they update I need to re-run the script. Now with Slack 4.0, it requires node.js to unpack/repack various components too. It’s a total pain in the butt. Slack needs a native dark mode on desktop already.

I’ve done one of those "edit some config file" hacky dark modes before, but then every update would overwrite it and ultimately it stopped working all together. While its nice it still seems possible, I’d really rather just have a reliable official theme in the app.

Their new react-based architecture should make it very easy just using React.Context() for theming.

Electron apps are hot garbage. Hopefully developers start to take advantage of Project Catalyst and dump Electron

Catalyst doesn’t support Windows or Linux, so that’s a no-go for many apps (Slack included).

Slack has raised over $1B in VC funding. They can afford to build multiple native apps. People need to hold companies to a higher standard

It works for apps like Slack, where the grunt of the application logic is transferring data through the internet and doesn’t require big, computational-intensive CPU operations the way, say, Excel would.

I don’t care what company you are, but hiring,managing,training,supporting a team of 30 developers for each native app is significantly more expensive than a team of 5 developers on cross-platform apps. If you were running a company, would you want to spend 30 million or 1 million?

You and I clearly have different definitions of "works". Slacks’ app is a buggy mess on macOS. Basic things like drag and drop fail to work in weird and unpredictable ways. I am forced to use slack because it’s what’s available, not because it’s in any way good.

If I were running a company I would be concerned with the user’s experience with my product because I would know that no matter how dominant my product was in the market, there would always be wolves nipping at my heels, ready to tear out my throat.

People hate electron for a reason. It is not irrational. Slack is an order of magnitude more responsive on my phone than my high-end desktop computer. That’s just silly.

People do not hate Electron.

Not to be rude, but why? Slack already has an iOS app. It would not be creating a new code base, just shifting the burden of one platform over to the iOS team. If anything, that seems like that would be a net benefit to the electron team because they would have one less platform to worry about. And Mac users would be a lot more happy!

The codebase for the iOS app is entirely built for a mobile phone or tablet interface, not the desktop. Just adding a mouse introduces a ton of new UX concepts to handle, which means a big overhaul of your code. Whereas the UX between Win/Mac/Linux are essentially the same. The "one less platform to worry about" doesn’t practically make sense because the OS-specific affordances in the desktop app are very minimal (basically just Dock icon badging for macOS).

Keep in mind they still need to support the web browser use case for folks in enterprise environments, where they are unable to install desktop software. And the browser and desktop apps essentially share a lot of their code. So, it makes a lot of sense from a development resource perspective to unify those efforts, as a huge chunk of their active users benefit from improvements made there.

Also, keep in mind that just making something "native" doesn’t necessarily make it faster or better. My calendar app, Fantastical, is native and is currently sitting at 256MB of memory usage. Slack 4.0 is sitting at 400MB with a couple workspaces connected. Not a giant difference (I have 32GB of RAM, so we’re talking on the order ~1% of my total available memory). And certainly not big enough to justify sinking a huge amount of development resources into.

The entire point of Project Catalyst is to handle all the things you’re talking about without requiring a big overhaul of your code.

No it’s not, it’s only for macOS.

I used VS Code which is based on Electron and it’s a fantastic app. The issues seem to stem more from how it is used by devs than the framework itself.

I, personally, wouldn’t call VS Code "fantastic." It gets the job done and manages to compete reasonably well against other text editors and lightweight IDEs. But when the competition is BBEdit and Atom, you don’t have to work very hard to look pretty decent…

I moved from developing full time in Visual Studio to VSC, and it’s been fantastic for me. Code is more stable than full-fat VS was, and it does everything I need it to do. Not everyone wants SQL manager inside their IDE.

I’d call it fantastic. It does what it’s meant to do, and it does it very quick and smooth. Not sure what else it needs to do.

This is just bonkers. There is a long and storied history of dev environments. Everything from text editors on steroids to full IDEs. The market is packed with competition.

There is and, at least in my humble opinion, most of those editors and IDEs are a huge mess. So many of them lean on the crutch of "extensibility" to hide the fact that they’re terrible.

I spend 8 hours a day in VS Code, on a Surface Go running Ubuntu. VSC for me is fantastic and never runs into problems.

Slack on the other hand…

Ugh. Another person that have no idea what an electron app is. Slack is probably the perfect example of an app that is suppose to be built on electron. Most of that shit is just display data through the internet.

From what I can see the article seems to misrepresent where the actual improvements are coming from. From what I can see Electron is still involved as it always has been as a shell for the web app. What is changing is that much of the app is rewritten using react which takes advantage of the virtual DOM which helps speed things up. The article seems to indicate that React is there in place of Electron when that isn’t the case.

Is there anything from Slack that actually details some lessening of Electron libraries in some way?

View All Comments
Back to top ↑