
Where’s all my CPU and memory gone? The answer: Slack - thegeomaster
https://medium.com/@matt.at.ably/wheres-all-my-cpu-and-memory-gone-the-answer-slack-9e5c39207cab
======
alkonaut
Want to make an app that people use in the background? Music player? Chat app?
Backup? Antivirus?

Then for gods sake make it lean. Set a resource budget and stick to it. Don't
assume your product is a special snowflake that your users will want to waste
resources on.

The easiest way is usually to just use a native toolchain and UI. Your users
don't care how easy it is to find js devs.

~~~
litor
> Your users don't care how easy it is to find js devs.

Their user do absolutely care about UI/UX. If you're going to implement it
native without all the "free" things you get from the web stack, and its
popularity, the UI is most likely going to suffer.

~~~
reinierladan
I don't know about other platforms but on MacOS native apps are way better
designed (looks and usability) than the electron crap that is available. So
I'm curious, what makes you say JS devs are better at designing apps than
native devs who know how native apps work?

------
BartSaM
I tried to use Slack multiple times and it is the same - laggy, slow
experience that caused me to completely leave it. I would assume more from a
tool praised by devs, to be honest. The whole experience was for me super
negative, and it seems that Slack is mostly re-wrapped IRC, thus getting
overwhelming support from IT guys in large corporations.

My laptop is only i3 with 6 GB Ram and some integrated graphics card, but I
would assume this is enough to run a chat app, if the machine can flawlessly
run Flash games and never cause an issue when I develop apps...

~~~
nextos
Things are getting out of control. Some of my non-technical friends are
already moving into 16 GB of RAM on their new laptop purchases. For surfing
the web and watching movies...

The worst thing is not just memory consumption, but sluggish UIs. Everything
is turtle slow. I notice a significant lag when typing on their machines no
matter how much RAM or CPU you have.

I run a WM (XMonad), Firefox (vimperator), a terminal (urxvt) and Emacs, with
no actual desktop environment (but all services, including firejailed
applications). Without opening Firefox, I'm comfortably below 200 MB of RAM.
And Firefox is not a memory hog either, if setup and used with care.

Even more, before starting X, I'm around 128 MB of RAM, yet I can do most
stuff inside a text-mode Emacs.

An additional benefit is robustness. With fewer components things hardly
break, and when they do you can easily fix them. Especially if you use a Nix-
style package manager and system configuration.

Not a setup for everyone, I know, but an average HN reader will have no
problem putting it together. If friendlier GUIs are still your preference, I
believe some lightweight Linux desktops are worth a shot. Last time I tried
Xfce, it was simple and lightweight. Even my old dad was able to adjust to it
quickly.

~~~
dijit
it's the weird memory logic of HN biting again:

"Memory is cheap, development time is expensive"

and:

"What do you need more than 16G of ram for?"

These two things are not compatible, but every time a story comes up about new
laptops (macbooks being a prime example) everyone jumps on the guy who asks
for more than 16G of ram while routinely excluding things (like browsers) that
just chew memory.

~~~
jjnoakes
It is almost like hn is made up of different people with different opinions.

------
kev009
Slack is a heaping pile of shit.

I understand it lets you conduct text chat.. and basically works for that.

But I don't understand the fawning.

It's a massive resource hog. People have inadvertently DoSed my browser by
pasting a message rate that any native application like irc or jabber would
yawn at.

~~~
com2kid
Windows 10.

My browsers are consuming ~4GB of memory right now. The Slack app is taking up
130MB, currently signed in to two teams.

To be fair, Outlook, which manages 3+GB of Email, is only taking 60MB, so old
school does win out.

~~~
eightysixfour
Slack starts a V8 instance for every team you sign into. It is absurd on my
W10 machine.

Running it on Edge is significantly better on battery life and it feels
snappier.

------
oflannabhra
I now run Slack in Safari on my Macbook Pro.

In Activity Monitor on macOS there is an "Average Energy Impact" metric. I
noticed that Slack had a value of 34. The next highest was Chrome at 23, and
that's with 200+ tabs open across multiple accounts and windows.

Safari runs with a tab per Slack team, and it's Avg Energy Impact is 1.

~~~
ProfessorLayton
I also gave up running the Slack Mac app, and now use it exclusively on a
browser/iOS.

One issue I haven't figured out in Safari specifically is that it suspends
tabs, which is why its so low on energy impact. A few min away from the Slack
tab in Safari means that I'll disconnect and appear offline.

~~~
oflannabhra
I haven't run into that issue. Maybe background notifications prevent the tabs
from being suspended?

------
tomc1985
Amazing that people are OK with this, or the misbehavior of Electron in
general. Bring back IRC indeed...

~~~
dijit
I love IRC, I even run my own IRC network, but IRC in 2017 is indeed woefully
dated.

To my mind we need something which is a little bit more mobile friendly- with
support for replaying history etc;

IRC "could do this" with bouncers and such, in fact I do this myself, but it's
not very clean- and if you see it from a protocol perspective it's all hacks
on hacks.

A clean "IRC for 2017" style protocol would probably wind up looking a lot
like matrix, so I'd rather we rally behind that.

~~~
edoceo
My team uses matrix, it's loads better than Slack.

------
tobyjsullivan
So, I cannot reproduce his findings. My system (same setup, Slack native app
on macOS) is consuming 1.6% CPU, about 0.6 GB memory, and has avg. energy
impact of 3.22 with current being 0.0.

The memory is high, but a lot less than Chrome and nothing near what the
author is seeing.

Only differences I can see:

\- I'm signed into two accounts while the author is signed into 11.

\- The author is CEO of a competing messaging platform.

More experiments might be needed here.

~~~
abjorn
The authors company isn't a Slack competitor, it's a real-time data platform.
Otherwise I imagine they wouldn't be using Slack for their internal messaging.

~~~
tobyjsullivan
From the page:

> Matthew O' Riordan is CEO and Co-founder of Ably. Ably is a platform that
> makes it easy for developers to add realtime messaging... to their
> applications.

Slack is realtime messaging. Ably is realtime messaging. They are competitors
- the only question is how direct.

~~~
Veratyr
Slack is chat, its messages are sent and read by humans. Ably is a developer
API, its messages are sent and read by machines.

Slack has a shiny user interface and a bunch of nice enterprise features. It's
something you'd have everyone in your company sitting on their machine all
day.

Ably is something nobody will ever see. It's an API that underlies other
people's applications. Hell, Slack could run on top of Ably.

They're absolutely not competing. You're either misreading or deliberately
misleading.

------
yborg
There's also weird bugs/features. Have an animated emoji in the currently
active channel. Just one. Put Slack in the background - it's still using
10%-15% of a 2016 MBP CPU. WTF.

~~~
jbergstroem
I noticed this a while back too. Switch to a private chat that only contains
text when you tab out of a team and it doesn't hog. I think the "don't draw in
inactive windows/tabs" feature implemented in most browsers is missing.

~~~
MichaelGG
Even without the optimisation - I recall seeing animated gifs on older
hardware without a huge cost. What is it doing? It's like when Google Play
Music takes 20% of my 4-thread 1-2GHz i5. I'm pretty sure I listened to MP3s
on a Pentium 166 without it pegging the CPU completely.

(And Google Play on Android... on a Nexus 5, I'll sometimes wait 5+ seconds
for the playlist to open after clicking the icon.)

~~~
theandrewbailey
> I'm pretty sure I listened to MP3s on a Pentium 166 without it pegging the
> CPU completely.

I can collaborate that. I remember upgrading from a 486 to a Pentium 166 and
being excited that I could finally play 44khz stereo MP3s at full quality and
not be constantly skipping. I could even browse the web at 56k at the same
time!

------
tbodt
The Slack desktop client implements multiple teams basically the same way
Chrome implements multiple tabs. And we all know the rule of thumb: you can
create one Chrome tab per gigabyte of memory.

~~~
icedchai
It's remarkable how bloated browsers have become. I remember having multiple
Netscape 3.x windows open back in the mid-90s, on a 486 with 32 megabytes of
RAM.

~~~
enraged_camel
Sure, but browsers today are incredibly complex runtime environments that
support all kinds of apps. That inevitably results in bloat.

~~~
icedchai
Agreed, but not orders of magnitude more complex. It's not just browsers...
all software suffers from this bloat.

------
gok
Yeah but the authors of the Slack app didn't have to learn anything but
Javascript and HTML. What else could be more important than that?

~~~
mwkaufma
Yes, developers are more important than users.

------
hs86
Previously I ran the Slack desktop app on Windows/Mac/Android and for IRC
Hexchat on Windows, Textual on macOS and nothing on Android (I couldn't find a
good IRC client). A ZNC instance on the server was keeping these IRC clients
in sync.

Using Slack over IRC would have been interesting but then I would lose the
rich inline previews of links/media on Windows because Hexchat doesn't have
these and I don't know any other standalone IRC client for Windows which has
this feature.

Then I switches to IRCCloud and now I use it for both Slack and IRC:

\- Better synced state across clients compared to ZNC

\- The Chrome tab needs ~600 MB RAM which is less than Slack + extra IRC
client

\- Unified chat UI across Windows, Mac AND Android :)

\- inline previews like Slack

Running my own ZNC instance on a server was not a big hassle but its buffer
replays where annoying and depending on the settings it would DOS my IRC
clients for several minutes because they where busy processing the incoming
buffer backlog.

------
dtang
Haven't seen it posted here yet but wee-slack [0] works wonders if you're not
afraid of using weechat.

I'm looking at an average CPU usage of 2% and memory usage of ~30MB for three
IRC networks and three different Slack teams.

[0] [https://github.com/wee-slack/wee-slack](https://github.com/wee-slack/wee-
slack)

~~~
AndrewUnmuted
As someone who works in encoding video at resolutions greater than 8k all day,
the only way I can work with Slack is by making use of wee-slack. Every other
option is either not complete enough to use, or too expensive on CPU/GPU to
justify.

------
snappyTertle
I remember reading somewhere that the source of problem is gifs. They are kept
in memory and always running, even if off screen. If this is true, the
solution should be pretty easy?

------
apecat
I had this realization some time ago: almost everything I do on my desktop
runs in Chromium wrappers: Chrome (duh), Spotify, Slack, WhatsApp, Signal

~~~
kbenson
It's almost as if you could make a whole OS out of Chrome. Someone should look
into that. ;)

~~~
wffurr
If only there was a way to write apps that could share an instance of
Chromium, and access native resources the way they can with Electron. Oh wait:
[https://developer.chrome.com/apps/migration](https://developer.chrome.com/apps/migration)

------
dmitrygr
Javacript "apps" on desktop using too much CPU and memory?!?

Say it ain't so!

~~~
Spivak
There's nothing inherently evil about JS in this context that isn't true about
Python or Ruby -- it's just that JS's default UI toolkit is horribly bloated.

~~~
na85
Perhaps shoehorning a half-baked web scriping language into native app
development isn't such a good idea.

Not all ideas are created equal

------
mmagin
"Note: I am running a Slack desktop client on OS X with eleven (11) accounts."

Admittedly, Slack is a lot of resource usage for what is something like a
glorified IRC client, but this is not the average Slack user.

~~~
bdcravens
That's not that outlandish. Many open source projects are using Slack, in
addition to commercial projects. I've even seen some unique uses of it (like
Airpair used it to bring together mentors and clients). Of course, I only use
the Slack app for my main job, and any side projects/open source I use the
browser for :-)

------
outworlder
People will complain all day about Slack, but somehow still use it.

If we are so concerned, why aren't we all moving to Matrix?

~~~
kuschku
Because most Matrix clients are equally ridiculous, and the Matrix protocol is
even worse.

~~~
Arathorn
_sigh_ \- if you are going to badmouth Matrix, please at least disclose that
you are doing so from the perspective of working on an alternative standard
(IRCv3).

That said, agreed that Riot/Desktop suffers similar problems to Slack thanks
to being an Electron app. Pure Qt clients like nheko and quaternion have a lot
more promise on the desktop.

In terms of the protocol: yup, the baseline Matrix protocol is plain and
simple HTTPS+JSON. Patches welcome from anyone who finds this enough of a
problem to provide alternative efficient transports :)

[disclosure; i work on matrix, although grew up on IRC, and respect the IRCv3
project, despite behaviour like this.]

~~~
kuschku
I'm not an official member of the IRCv3 project, and can't speak for them - I
only engage in discussions in the IRCv3 WG which affect the client I am
working on.

That said, Matrix is a great concept, but, as mentioned, the currently
implemented clients and protocol (with HTTP polling with JSON) are very
inefficient.

With Quarternion as client, and a raw socket or websocket based protocol using
Protobuf or Flatbuffers for serialization Matrix could actually become the
fastest and most efficient open chat system.

You have to realize that I'm seeing this as someone who uses clients on 7 year
old devices on throttled 2G in daily use, to ensure that they work well enough
under any conditions. (And while some IRC clients do work there, any Matrix
client is completely unusable under those conditions).

------
scarface74
Isn't Slack just another example of what happens when developers want a "cross
platform solution" instead of writing a native app?

~~~
prewett
No, Slack is what happens developers think that HTML/Javascript is a good
platform for applications and that shipping a full-blown browser constitutes a
native app. Qt is a good cross platform solution if you want cross-platform.

Although, I wonder if Slack is constantly sending and receiving status
reports. I'd like to be able to set it to check every 5 min (or even 1 min)
and see if that helped things. I don't need to be notified immediately; if
they needed that they would call me.

------
duncan_bayne
There is a Slack client for Emacs: [https://github.com/yuya373/emacs-
slack](https://github.com/yuya373/emacs-slack)

~~~
wcummings
Slack also has an IRC bridge which you could use with erc or rcirc.

~~~
jbverschoor
[https://www.codeux.com/textual/](https://www.codeux.com/textual/) :)

------
rocky1138
I'm so glad he advocated for IRC. If we can get IRC to have inline images and
chat history, we are good to go.

~~~
cuckcuckspruce
LimeChat on the Mac supports both of those features. I'm sure there are other
clients that do as well.

And for history, there are plenty of history bots that have web searchable
archives of IRC channels.

~~~
Veratyr
Weechat with Glowing Bear does too but it needs to be set up.

------
Shank
Energy impact isn't a percentage. It doesn't have any units. I understand that
the author is trying to prove a point -- and those points are valid, but it's
not that Slack is consuming 63% of your energy. It's an arbitrary measure. [0]

> So, in conclusion, on 10.10 and 10.11, the formula used to compute “Energy
> Impact” is machine model-specific, and includes the following factors: CPU
> usage, wakeup frequency, quality of service class usage, and disk, GPU, and
> network activity.

[0]: [https://blog.mozilla.org/nnethercote/2015/08/26/what-does-
th...](https://blog.mozilla.org/nnethercote/2015/08/26/what-does-the-os-x-
activity-monitors-energy-impact-actually-measure/)

------
butz
If only browser developers would agree on some standard to "Add web app to
desktop". Something similar like Prism extension on Firefox was back in the
day, except all apps would run on single browser instance. That should solve
"electron problem".

~~~
reificator
Chrome and other Blink based browsers are doing this on Android already, PWAs
can be installed to the device and are treated like a native app. (Except that
they still use the web's more restrictive permissions model)

------
TwoBit
Can somebody tell me why a chat application should use 5% of a CPU and over
100MB per account?

~~~
barkerja
Well, to be fair, it is much more than just a "chat application". It's now
voice, screen sharing, etc.

They've built a lot of features with chat being at the core.

~~~
Zelizz
But why should any of those features consume system resources when they're not
being actively used?

------
mahyarm
At this valuation I would start shooting for writing native clients at this
point. They even have an iOS client that has done half of the work for them at
this point on OSX.

------
dingo_bat
Most people are upset with slack due to memory usage. I get that a chat app
shouldn't use so much ram. But then there was a time even a browser wouldn't.
This is how software has always grown. Windows XP minimum ram 64M, windows 7
wants minimum 1G. But we are all fine with it because the hardware has also
grown. So to those who have a problem with slacks memory usage ask yourself:
why are you using a machine with less than 32G of ram?

~~~
pdimitar
Comparing an OS and a chat client, really? Very wide conflation.

I'm fine with things using _a bit more_ resources, but not three or four
orders of magnitute compared to 10-15 years ago.

It's all about quick time to market, various Electron-based "desktop app"
maintaners have openly admitted it right here in HN (though not in this
thread). Any technical disagreements were killed off with (1) we won't hire
developers who are specialists in desktop development due to costs and (2) our
app doesn't use that much resources, everybody has strong machines nowadays
anyway.

------
Piskvorrr
Cgroups: limit memory, limit CPU, and voila - it works! Slack is one of the
resource hogs that will take all that you'll give it.

~~~
hippich
could you post some examples of limiting slack with cgroups?

~~~
kevincox
See "How do I use cgroups ?" in the kernel docs:
[https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.t...](https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt)

You can do it simply by mounting the cgroup fs and writing numbers to files.

~~~
tedunangst
Seems like there should be a better solution than making every slack user read
that document.

~~~
Spivak
Sure, but sometimes we have to wrestle with shitty software. There's a
scanning tool we use that unrestrained will consume all system resources, lock
up all the useful software, and occasionally crash severs.

Set up a cgroup with a quota and problem solved.

------
Rjevski
The answer: Electron and this new breed of lazy "developers" who can't be
bothered to actually make decent native apps.

~~~
rco8786
I know right. Real "developers" only write in assembly with a completely
separate codebase for each target platform. No code review or source control
either, because they're not lazy.

Actual issues aside (yes slack takes up way too much memory and it's due to
the platform they chose which is hugely bloaty but will undoubtedly get
smaller/faster over time just as everything does) why would you choose to
attack the developers for building a tool that millions of people use with
great success? They're not lazy. They used the best tools available to them to
deliver their product and they're reaching the limits of said tools. Now they
have to address those limits. This is exactly how software is supposed to
work.

~~~
Rjevski
I choose to attack those developers because they're taking an easy path
knowing that it will end up in a bad product, yet they still do it.

At the end of the day I don't care which technology is used as long as the end
product is good, however a chat client that uses 1,5GB of memory is the total
opposite of good. Come on, it's a f'ing chat client - a solved problem and
existing implementations (look at any IRC client) take like 100MB's max. I
would have no problems with Electron if they somehow managed to get the
resource usage similar to a native app.

~~~
kelnage
If its a "solved problem" then why aren't users flocking to IRC over Slack?

The answer is likely multifaceted, but part of it is undoubtedly the usability
of the client - which may be resource intensive, but that was likely a trade
off for speed/ease of development.

~~~
rhizome
NIH Syndrome. You can't make a walled garden out of IRC.

~~~
cuckcuckspruce
Why can't you? You just don't connect your IRC server to any other server.

~~~
rhizome
True, so maybe they're also hoping for patents or other ancillary NIH benefit.

------
brazzledazzle
I wonder what I'm doing differently (or if it's my hardware) because I don't
notice it consuming much, and it pales compared to resource hogs I run in my
day-to-day. Maybe they develop on Macs and runs better on them?

Here's my specs if anyone is curious: 3 yr old MBP 2.3 GHz i7 16 GB RAM

------
eddyg
Turning off animations in the preferences (it's under "Accessibility") has
done _wonders_ to the energy impact / CPU usage of the Mac Slack client. Much
more tolerable now.

I am _more_ than happy to not see animated party parrots in exchange for less
CPU.

------
grokas
Maybe use Slack in browser?

~~~
Piskvorrr
Tried that, doesn't help a whole lot (the desktop app is a glorified Webkit
wrapper).

~~~
kiliankoe
But it's chromium serving local content. That is somewhat of a difference.

I run Slack only in Safari. It works significantly better than the desktop
app.

~~~
Piskvorrr
I don't think serving local content would explain why the desktop app insists
on munching through all the available RAM (on a single team, no less!),
something else must be going on. But that's actually a pretty good suggestion
- I'll try the web version, thanks.

------
killermouse0
Why don't you guys use rambox? It basically loads slack's web interface in the
client. And it supports a plethora of instant messaging services. Never had
any issue with performance.

~~~
s0ss
I had never heard of this. Interesting. It looks as though this is built on
Electron too.

------
flukus
> I love Slack and have no plans to stop using it to communicate with my team
> at Ably.

As long as your willing to tolerate it don't expect anything to change. If
people stopped using slack then the bean counters would sit up and take
notice. If slack died it might even serve as a warning to others.

It's easy to blame slack, but everyone that continues to use this and other
bloated apps are also part of the problem.

------
blacksmith_tb
On my desktop, Slack's footprint looks pretty similar to Atom's, hardly
shocking given they're both Electron apps. Its 4 pids aren't using much CPU
(less than 1% each), and about 800MB of RAM combined. Sure, that's kind of
ridiculous for what it's doing, but it's about 1/20th of my total resources or
less...

------
andrewjrhill
The latest version of slack BETA solves the CPU issues on OSX. I have been
using it and its _so much better_.

~~~
ValentineC
I'm on Slack beta as well. I have nine Slack groups, with some of them having
thousands of users. It's still a CPU hog.

------
antouank
Sounds ridiculous that a chat app can consume that much.

Could we maybe use a terminal client? Seen this :
[https://github.com/evanyeung/terminal-
slack](https://github.com/evanyeung/terminal-slack) but I cannot build it.
Anyone else tried it?

~~~
barkerja
How would this work when a team member attempts to screen share or video/audio
call?

~~~
antouank
That rarely/never happens to me. I use it for chat 95% of the time, the other
5% might be someone posting a gist or quoting some code. So for my use, a
terminal client is more than enough.

------
Animats
What's it _doing_ in there? Refreshing the screen on every frame, like a video
game?

------
deftturtle
I always try to run a web version of this stuff. Web music player, web Slack,
etc. Don't need more garbage on my machine, and since it's essentially a
bundle of Chrome, it's good enough to just use it in the browser - where it
belongs.

------
nfriedly
Yea, I usually browse in Firefox and keep the Slack desktop app open, but when
I'm on battery for more than a few minutes I'll kill both and switch to Safari
with the Slack web app opened in a tab. That practically doubles my battery
life.

------
toomanybeersies
I am getting really fed up with Slack and other CEF/Electron apps. Between
Slack, Spotify, Atom, Adobe CC, and Firefox (the one program that isn't
running on Chromium), I have no RAM left.

Why does Spotify use 1 GB of RAM, and 1 GB of swap?

------
azr79
Gee I wonder why he wrote this article

> Co-founder of Ably: Simply better realtime messaging.

oh...

~~~
madamelic
I had that feeling too when the article was that light.

~~~
reificator
If you check out the site, it's not actually a competitor to Slack at all.

Slack is for one human to message another human, not for one application to
message another application.

------
frytaz
electron vs native app...

------
vladimir-y
Slack client for Mac OS to be exactly. Browser version works just fine, don't
use any client app.

------
kyrre
i had to give up on using slack for multiple teams because of this

------
nialv7
Guess they are pretty slack in terms of resource usages.

------
heifetz
ehh, the author is a co-founder of Ably, a real time messaging platform, which
competes with Slack in some areas.

~~~
wichert
I'm a happy user of Ably, and I can't think of a single place where it
competes with Slack. Can you point out where they are competing?

------
LASR
On a related note: I would like to know if there is a project/fork that brings
the oldschool threaded model for a browser. Is there one?

A single app with one purpose should all run in-process and use threads to
schedule work.

------
AzN1337c0d3r
Slack might have 1.5 GB mapped between all of its processes but probably most
of the processes many of the same pages, so it's a bit misleading to say Slack
uses up 1.5 GB of "real" memory.

~~~
jacobsenscott
Exactly this. The "Memory" tab in activity monitor is next to useless. It
doesn't give you any idea how much of that memory is shared, exclusive to the
processes, paged out, etc. Each of those processes is using some fraction of
the amount displayed in the 'Memory' column.

------
paulsutter
I would pay money for a Slack client that doesn't bog down my machine. Has
anyone reverse-engineered the protocol?

Of course Apple deserves equal blame for selling machines with limited RAM.

~~~
outworlder
What about not paying money and supporting alternatives? Such as Matrix?

[http://matrix.org/](http://matrix.org/)

~~~
paulsutter
Does Matrix let me see Slack channels for existing projects? If Matrix can
replace Slack, I'd consider using it for new projects. But if not, that just
means running both apps.

I, and many people I work with, already have Slack running for other projects.
Often projects where I didn't get to choose the system.

~~~
Arathorn
one of the big things in matrix is the existence of bridges as a first class
citizen. matrix-appservice-slack exists today (and riot.im hosts an instance
of it; you can get at it via Manage Integrations in Riot). The catch is that
right now it needs to have outgoing/incoming webhooks provisioned on the Slack
channel being bridged. We are working on fixing this with a puppeting bridge
though - and there are a few other projects like matrix-puppet-slack which
also aim to do this already. [https://matrix.org/blog/2017/03/11/how-do-i-
bridge-thee-let-...](https://matrix.org/blog/2017/03/11/how-do-i-bridge-thee-
let-me-count-the-ways/) has the gory details.

------
pablo-massa
We have digital assistants that can match photos by time+location+people and
create complex results, why OSes don't have (natively) elaborated and user
friendly alerts/solutions when apps do detrimental stuff like that?

We can blame Slack in this conversation but I think an equally interesting
discussion resides on the OS side, who can avoid not only Slack to be so
detrimental.

I think UX sometimes get too much attention on the flashy/entertainment side
and performance/speed is overlooked (look the state of websites).

