Reducing Slack’s memory footprint
Slack Engineering

I don’t agree with the sentiment that a native application is needed to achieve a reasonable memory footprint and performance. A well written JS application can consume a very reasonable amount of memory while feeling native. I work on a chat app that uses Electron for the desktop client. Our app demographic is targeted at gamers (users who care a lot about RAM and CPU usage) and we’ve been able to see a reasonable memory footprint. My client instance for example uses approximately 300mb of ram and is connected to 90 servers (our app has a concept similar to Slack’s “teams” called “servers”). The servers I’m connected to vary in size from tens of users to tens of thousands of users. Our client infrastructure is significantly different than Slack’s though! For example, we don’t run an isolated js/web-view instance per server, instead they all run on one web-view with one shared javascript context.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.