28 ms·
Where’s all my CPU and memory gone? The answer: Slack
- grokas 9y agoMaybe use Slack in browser?
- Piskvorrr 9y agoTried that, doesn't help a whole lot (the desktop app is a glorified Webkit wrapper).
- kiliankoe 9y agoBut 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 9y agoI 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.
- jbergstroem 9y agoUsed to be some time ago when downloads were ~5-7mb. Nowadays it uses Electron: /Applications/Slack.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
- Piskvorrr 9y agoYup. A glorified webkit wrapper.
- wcummings 9y agoCTRL R works in the "native" app.
- lorey 9y agoWhile I have not tried the electron version, I feel that my seven slack tabs slow down my firefox noticeably. Especially during startup and after connectivity issues. While the mobile app is at least responsive on Android, I have problems, too, for example with messages from push notifications that don't show up when opening them. Subjectively, Slack performed great in the early days but has gotten worse over time.
- Piskvorrr 9y agoCgroups: 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 9y agocould you post some examples of limiting slack with cgroups?
- kevincox 9y agoSee "How do I use cgroups ?" in the kernel docs: https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.t... You can do it simply by mounting the cgroup fs and writing numbers to files.
- tedunangst 9y agoSeems like there should be a better solution than making every slack user read that document.
- Spivak 9y agoSure, 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.
- Piskvorrr 9y agoAfter some failed attempts, I gave up, copy-pasted and mangled what Sam Thursfield made for Firefox, substituting Slack where applicable and uncommenting the CPU quota: https://samthursfield.wordpress.com/2015/05/07/running-firefox-in-a-cgroup-using-systemd/ https://samthursfield.wordpress.com/2015/05/07/running-firef...
- pmoriarty 9y agoIs Slack well-behaved when it runs out of memory? Or does it just crash?
- Rjevski 9y agoThe answer: Electron and this new breed of lazy "developers" who can't be bothered to actually make decent native apps.
- johnflan 9y agonailed it
- rco8786 9y agoI 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 9y agoI 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.
- deleted 9y ago[deleted]
- npizzolato 9y agoPerhaps the attitude of measuring the good-ness of a chat client solely on how much memory it uses is one of the main contributors to the rise in popularity of Slack and the decline in popularity of IRC. I personally don't care if my chat client uses more ram than its competitors if it's easier to use. Judging by the amount of people using Slack, I don't think I'm alone.
- AzN1337c0d3r 9y agoSlack 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 9y agoExactly 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.
- mmagin 9y ago"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.
- jernejzen 9y agoDitto.. but my subjective feeling is that it's getting laggier there also. I mean, it was kinda lightweight back in the days but it's getting less and less responsive.
- bdcravens 9y agoThat'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 :-)
- butz 9y agoIf 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".
- prewett 9y agoI think WebAssembly that basically draws to a bunch of pixels is the prerequisite. Then we create a decent UI library (NOT html).
- reificator 9y agoChrome 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)
- BartSaM 9y agoI 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 9y agoThings 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 9y agoit'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.
- duncan_bayne 9y agoThere is a Slack client for Emacs: https://github.com/yuya373/emacs-slack https://github.com/yuya373/emacs-slack
- wcummings 9y agoSlack also has an IRC bridge which you could use with erc or rcirc.
- jbverschoor 9y agohttps://www.codeux.com/textual/ https://www.codeux.com/textual/ :)
- rocky1138 9y agoI'm so glad he advocated for IRC. If we can get IRC to have inline images and chat history, we are good to go.
- wcummings 9y agoIRC already has these, its just a matter of packaging it. FWIW irccloud is a lot like slack but for IRC, they offer "team" accounts and hosting. No search, though.
- rhizome 9y agoand chat history How is this not possible with IRC? Channel log bots have been around for yonks.
- inopinatus 9y agoOnly Slack's integrated view of history is acceptable to nontechnical users. Also to technical users like me who don't want to mess around maintaining and talking to bots. I believe the dismal UX in your suggestion is the reason Slack is popular. By contrast, "it just works" and it works consistently across all communities, making for a compelling product.
- cuckcuckspruce 9y agoLimeChat 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 9y agoWeechat with Glowing Bear does too but it needs to be set up.
- dgut 9y agoTextual 6 supports inline images and chat history.
- 9y ago
- countryqt30 9y agoWhy the hell does Slack need 800 MB Ram? I have just created an empty account, empty project, 0 team members (other than me). What the hell are you doing? #spyware #bloatware #adsware I don't see how any sane software dev / engineer could like this.
- heifetz 9y agoehh, the author is a co-founder of Ably, a real time messaging platform, which competes with Slack in some areas.
- wichert 9y agoI'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?
- CapacitorSet 9y agoIt does read somewhat like an advertisement, seeing that it's just four paragraphs (of which one is a tl;dr and one is not relevant to the title) and four pictures followed by an ad for Ably.
- matt_oriordan 9y agoJust to confirm, we are not in any way a competitor to Slack, we are a realtime data delivery platform. The article confirms we use Slack ourselves. See www.ably.io/platform for more info.
- yborg 9y agoThere'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 9y agoI 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 9y agoEven 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 9y ago> 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!
- TwoBit 9y agoCan somebody tell me why a chat application should use 5% of a CPU and over 100MB per account?
- tomc1985 9y agoAmazing that people are OK with this, or the misbehavior of Electron in general. Bring back IRC indeed...
- rockostrich 9y agoIt's a shame that Electron isn't modular. I think there were some attempts to make modular versions that would lead to smaller bundle sizes and resource consumption. I think the reason why Slack is os successful with such a poor performing app is most people using the app have machines provided by employers and they're good enough to handle the app without issue.
- tomc1985 9y agoThat's always been the refrain for why released software doesn't perform well, and it was a problem traditionally mtigated by software testers with a wide variety of hardware. You see the same thing on the web with slow-loading sites that clearly weren't tested outside a first-class first-world 4G or wi-fi connection. Props to Facebook for mandating low-bandwidth testing
- dijit 9y agoI 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 9y agoMy team uses matrix, it's loads better than Slack.
- 42wim 9y agoMaybe https://github.com/42wim/matterircd https://github.com/42wim/matterircd could be useful. Originally made for mattermost, but I'm adding slack support (currently in master and only basic).
- snappyTertle 9y agoI 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?
- dmitrygr 9y agoJavacript "apps" on desktop using too much CPU and memory?!? Say it ain't so!
- Spivak 9y agoThere'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 9y agoPerhaps shoehorning a half-baked web scriping language into native app development isn't such a good idea. Not all ideas are created equal
- paulsutter 9y agoI 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.
- eikenberry 9y agoYou can use XMPP or IRC clients if you enable the gateways in Slack. It is your best hope for a decent client.
- outworlder 9y agoWhat about not paying money and supporting alternatives? Such as Matrix? http://matrix.org/ http://matrix.org/
- paulsutter 9y agoDoes 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 9y agoone 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-me-count-the-ways/ https://matrix.org/blog/2017/03/11/how-do-i-bridge-thee-let-... has the gory details.
- tbodt 9y agoThe 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.
- flamedoge 9y agoBecause electron app was built on chromium
- icedchai 9y agoIt'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 9y agoSure, but browsers today are incredibly complex runtime environments that support all kinds of apps. That inevitably results in bloat.
- icedchai 9y agoAgreed, but not orders of magnitude more complex. It's not just browsers... all software suffers from this bloat.
- frytaz 9y agoelectron vs native app...
- azr79 9y agoGee I wonder why he wrote this article > Co-founder of Ably: Simply better realtime messaging. oh...
- problems 9y agohttps://www.ably.io/ https://www.ably.io/ Different kind of messaging.
- madamelic 9y agoI had that feeling too when the article was that light.
- reificator 9y agoIf 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.
- whorleater 9y agoYeah his company doesn't do that kind of real time messaging
- MBCook 9y agoSo he has a motive. He's completely right about Slack though. This is just one of many reasons I tend to hate non-native apps. And this isn't the first time I've heard of this issue with Slack (by a long shot). If this post does anything to get people to care about performance and memory usage or the Slack people to work to fix this... fine with me.
- vacri 9y agoIf his company was a competitor, why would he say that he used Slack for internal communication?
- matt_oriordan 9y agoPlease don't troll and have a look at what Ably actually is. It's data messaging, not user / VoIP / chat messaging. We are in no way a competitor to Slack or ever will be. We deliver a platform realtime data delivery. In fact, companies like Slack are often our customers. See https://www.ably.io/platform https://www.ably.io/platform if you want to see what we offer and how it is in no way related.
- killermouse0 9y agoWhy 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 9y agoI had never heard of this. Interesting. It looks as though this is built on Electron too.
- oflannabhra 9y agoI 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.
- FanaHOVA 9y agoMBP '15, 8GB of RAM: http://imgur.com/a/9GpeY http://imgur.com/a/9GpeY I rarely have more than 10 Chrome tabs open. How many Slack teams do you have open? Do you have the latest client?
- oflannabhra 9y agoI uninstalled the app, so I can't post screenshots anymore. Yes, I had the latest client with 4 teams, I also have a 2015 MBP 15", but with 16GB of RAM
- ProfessorLayton 9y agoI 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 9y agoI haven't run into that issue. Maybe background notifications prevent the tabs from being suspended?
- brazzledazzle 9y agoI 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
- apecat 9y agoI had this realization some time ago: almost everything I do on my desktop runs in Chromium wrappers: Chrome (duh), Spotify, Slack, WhatsApp, Signal
- kbenson 9y agoIt's almost as if you could make a whole OS out of Chrome. Someone should look into that. ;)
- wffurr 9y agoIf 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
- mahyarm 9y agoAt 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.
- andrewjrhill 9y agoThe latest version of slack BETA solves the CPU issues on OSX. I have been using it and its _so much better_.
- ValentineC 9y agoI'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.
- nialv7 9y agoGuess they are pretty slack in terms of resource usages.
- Shank 9y agoEnergy 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-the-os-x-activity-monitors-energy-impact-actually-measure/ https://blog.mozilla.org/nnethercote/2015/08/26/what-does-th...
- blacksmith_tb 9y agoOn 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...
- kev009 9y agoSlack 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.
- vacri 9y agoSlack's success comes from their buttery-smooth onboarding process, not the technical capabilities of their product. It's just so easy for a non-techie to set up an account with them.
- zionic 9y agoDiscord is a superior product to slack in every way I've ever used it. Including on boarding, it beats slack in it's core strength. The thing is discord has a stigma for "gaming" and slack for "work", and I can't get people to switch for that reason. It's so dumb.
- sumedh 9y ago> The thing is discord has a stigma for "gaming" Have you looked at discord's homepage, they specifically say its "Free Voice and Text Chat for Gamers"
- dijit 9y agoYou're learning an important lesson about marketing. There are many examples of inferior products winning due to marketing. Windows is one of them, x86-64 is another, AWS is a more modern example. (people are still very much on the hype train here though) Edit: I knew people wouldn't like me pointing at AWS;
- eightysixfour 9y ago> x86-64 is another Inferior to what and by whose standards? Itanium?
- hs86 9y agoPreviously 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.
- tobyjsullivan 9y agoSo, 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.
- slantyyz 9y agoI'm on Windows, and I see a similar thing. 0% CPU, ~130MB of RAM in Task Manager. Most of my 16GB of RAM is being consumed by my mess of open Chrome windows.
- Roritharr 9y agoJust looked at it, Windows 10, the main process says 83MB of RAM and 0% CPU... but scrolling down in the background tasks there is EIGHT background tasks, each consuming atleast 0,5% CPU and a staggering 943,2 MB of RAM... And its just running as a tray icon. It seems they are trying to hide what they actually use.
- slantyyz 9y agoFor my situation, I had four or five background tasks, each consuming < 50MB and 0 CPU.
- eridius 9y agoI'm signed into 6 accounts right now, but I only visit 3 regularly (and Slack supposedly no longer keeps all teams in memory if you're not looking at them), and my average energy impact is 10.07. That puts it solidly in the #2 spot (with #1 being Xcode, which makes sense because I'm compiling all the time). I currently have 8 Slack Helper processes, one of which is sticking around 6-7% CPU, but the others are between 0–1%. Slack itself is around 4% (this is without me interacting with it, and with no animated GIFs visible on the screen right now). FWIW the impact of animated GIFs (including animated custom emoji) is pretty high. Switching to a channel where there's 5 tiny animated custom emoji pushes CPU usage up to 18–20% for Slack Helper, pushes Slack itself up to about 9–10%, and makes my Energy Impact jump to 40–50 (which is insane).
- gok 9y agoYeah 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?
- antouank 9y agoSounds 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 9y agoHow would this work when a team member attempts to screen share or video/audio call?
- antouank 9y agoThat 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.
- Spivak 9y agoSlack has an IRC bridge that works incredibly well. I have used it daily on past projects. Load up your favorite terminal IRC client and go at it.
- outworlder 9y agoPeople will complain all day about Slack, but somehow still use it. If we are so concerned, why aren't we all moving to Matrix?
- ch4s3 9y agoThe only reason we don't leave slack is because there's 3 years of indexed useful chat history. And the sales guys like it. The rest of us think it's slow and bloated.
- kuschku 9y agoBecause most Matrix clients are equally ridiculous, and the Matrix protocol is even worse.
- Arathorn 9y agosigh - 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 9y agoI'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).
- pablo-massa 9y agoWe 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).
- alkonaut 9y agoWant 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.
- BartSaM 9y ago...and remember that Quake 3 required 64 MB to run, while Half Life managed to run on 96 MB of ram.
- Narishma 9y agoI'm pretty sure Half-Life required a lot less than that. The first PC I played it on only had 16 or 32MB of RAM.
- NTDF9 9y agoYou guys should remember that a lot of crap we write nowadays is a consequence of bloated languages and "move fast break things" attitude. Doom and Half life were at their core exceptionally optimized C.
- lostmsu 9y agoBehind the trees you don't see a forest: Half-Life used 32MB of memory on 1024x768 display. By 4 or even 2 byte color it is 2MB just to store picture output. Modern apps work with 4k2k*4byte color, which on itself is 8 times more memory.
- prewett 9y agoSo, 2 MB for the display. And then there are the textures for the walls, plants, people, monsters, etc. And the vertex data for each of the models on the level. And the level itself. And then there are the light maps for static lighting. That's at a minimum. After that there is the memory required for the AI. Much of the models and textures won't be used in any given scene, but might get used in the next frame, or the next half second, and to avoid long pauses when a new model is loaded they all have to be in memory. If Half Life could have been done in less memory, I'm pretty sure they would have done it. It probably started off using a lot more memory and they probably spent a lot of time getting the memory down so that your mid-class machine could play it.
- Animats 9y agoWhat's it doing in there? Refreshing the screen on every frame, like a video game?
- kyrre 9y agoi had to give up on using slack for multiple teams because of this
- LASR 9y agoOn 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.
- vladimir-y 9y agoSlack client for Mac OS to be exactly. Browser version works just fine, don't use any client app.
- nfriedly 9y agoYea, 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.
- scarface74 9y agoIsn't Slack just another example of what happens when developers want a "cross platform solution" instead of writing a native app?
- prewett 9y agoNo, 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.
- Spivak 9y agoDoesn't really make it better but if you're forced to use Slack their IRC bridge is pretty pleasant to use.
- flukus 9y ago> 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.
- dtang 9y agoHaven'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 9y agoAs 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.
- toomanybeersies 9y agoI 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?
- dingo_bat 9y agoMost 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?
- na85 9y agoSo it's okay for a chat app to be a resource hog for no other reason than developers that are incompetent and "we have lots of ram today"?
- pdimitar 9y agoComparing 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.
- eddyg 9y agoTurning 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.
- deftturtle 9y agoI 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.
- f4rker 9y ago>"Slack down from circa 65% to 18%...." That is not at all how to use Circa. Don't try to sound smart using words you don't understand. >Circa is widely used in genealogy and historical writing when the dates of events are not accurately known. When used in date ranges, circa is applied before each approximate date, while dates without circa immediately preceding them are generally assumed to be known with certainty. Circa should only be used for dates that have occurred in the past
- deleted 9y ago[deleted]