Live data from Hacker News

Migrating Slack's Desktop App to BrowserView

slack.engineering

41–50 of 214 posts

Re: Migrating Slack's Desktop App to BrowserView

#42

I'm a proponent of Electron for startups just getting off the ground with cross-platform desktop apps. Slack has raised some serious capital, however. The desktop app is the cornerstone of their product and performance is a known pain point (cpu/memory). Why haven't they left electron in the dust and taken performance seriously?

Slack can take performance seriously and stick with Electron. That's certainly what this very article is about: big steps towards better performance.

Re: Migrating Slack's Desktop App to BrowserView

#43

Earlier quoted context omitted.

If I’m not mistaken, the actual chat contents in Adium were rendered with web views, and its configurable message styling was done with HTML/CSS. The whole program wasn’t stuffed in the web view though, it was a presentation layer on top of a native backend. EDIT- here’s a source on that http://meyerweb.com/eric/thoughts/2005/12/19/adium-chatting-...

Yes, this is what the native macOS Messages.app does as well. On my Mac, with relatively heavy usage, I'm at around 100 MB of RAM.

Wow, that's crazy. The iOS Messages app is native. I'm only familiar with iOS development... is AppKit that bad?

Re: Migrating Slack's Desktop App to BrowserView

#44

I'm a proponent of Electron for startups just getting off the ground with cross-platform desktop apps. Slack has raised some serious capital, however. The desktop app is the cornerstone of their product and performance is a known pain point (cpu/memory). Why haven't they left electron in the dust and taken performance seriously?

I'd guess at this point, doing what Slack does would require a reimplementation of a web browser, with all the problems this would entail

Re: Migrating Slack's Desktop App to BrowserView

#45
What the hell is taking up all that RAM? Slack is using over 800MB of RAM on my computer right now, and it's completely idle. I've got a C# process on my computer right now handling thousands of messages per second and consuming 1/20th the RAM. If you rebuild Slack in Xamarin you'd probably drop your RAM consumption to under 50MB, just a guess. JS fiends are gonna tell me C# ain't JS, and I agree. TypeScript ain't JS either, and it's a hell of a lot closer to C# than it is JS.

I'm a big JS guy, believe me, but I wouldn't call a chat app using "only" 800MB of RAM a "win." Sorry to the guys who worked hard on this.

Re: Migrating Slack's Desktop App to BrowserView

#46
post #15

On a related note, for an app I have open all day long but interact with on an event-driven basis - Slack's UI is just too darn big. I miss the days when the only chat UI was a small column (eg. ICQ).

Yeah, it's really wasteful of screen real estate. In a way that's worse than high RAM usage because I can spare 1GB of RAM if I really have to (and I can upgrade RAM easily enough if I can't spare it). But if an app takes up 1/4 to 1/3 of the width of my monitor, there's not much I can do to change that.

Though at least there is a workaround: put it all the way to the right, then let other windows obscure the rarely-needed left portion of the Slack UI.

Re: Migrating Slack's Desktop App to BrowserView

#47
post #41

Christ, so many buzzwords and frameworks and rewrites but all users ask for is a damn chat application with few tabs. Either I'm getting old and grumpy, or it used to be possible in the year 2000 without your computer fans taking off and 1gb of ram.

In year 2000 you might only have to care about Win98. And that’s it.

In 2017 there’s no tech stack that lets you write consistent UIs across multiple platforms. Except, unsurprisingly, Electron

Re: Migrating Slack's Desktop App to BrowserView

#48

As a Linux laptop user, I fully endorse Electron. There’s so much more available for Linux because of it that would have no client at all otherwise. Between NVMe disks and the ability to have 64gb of RAM if I want...keep it coming. I’d rather have heavy software than no software.

Same here, it's really nice to have VSCode, atom, slack, etc.

RAM is pretty cheap, I'd rather put money towards a better Linux machine than give that money to Microsoft for the OS.

Re: Migrating Slack's Desktop App to BrowserView

#49

Earlier quoted context omitted.

> Maybe the detractors would prefer that the app did less. Sorry, that argument just does not hold water. On my Mac currently, MS Outlook is using 483 MB versus Slack using 704 MB, with just one tab open. For all of Outlook's bloat, one can hardly say it does less than Slack; it's just a glorified chat app for pity's sake. Even IntelliJ is using only 2x as much RAM as Slack with 4 medium sized projects open and Intel…

Yea a glorified chat app with video chat, audio chat, screen sharing and screen takeover remotely, file uploading, 3rd party integrations doing multiple things depending on your team setup, etc. I'd hardly call it a glorified chat app.

Messages.app does all of those and uses a tenth of the RAM.

Re: Migrating Slack's Desktop App to BrowserView

#50
post #7

Earlier quoted context omitted.

When these kinds of things come up there's often complaint that desktop apps running in the browser are inefficient. As it happens, I agree. An old favourite of mine, Adium, probably never used 600 MB because I'm pretty sure my PowerBook G4 had less RAM than that. But I think it's a mistake to jump to the conclusion that these apps should be written in a native framework rather than a web view. Slack is doing much mo…

That's why I'm developing eul, a lightweight native desktop client for Slack, Skype, Facebook etc: https://eul.im It's only 4 MB and handles tens of thousands of Slack messages in one chat without lag. 1.0 release is going to be out in early November.

This looks really good so far. Thanks for sharing!
Post reply on HN