Live data from Hacker News

Migrating Slack's Desktop App to BrowserView

slack.engineering

121–130 of 214 posts

Re: Migrating Slack's Desktop App to BrowserView

#121

Is anyone else getting chat service fatigue? Looking at my dock I have Discord, Slack, Textual (IRC), WhatsApp Web open. I wish there was a service that just amalgamated all these together into one thing, with a rough set of common features (e.g. ability to post images/gifs/videos, text etc)

I can think of a previous decade where I had to use about 5 chat apps..

Re: Migrating Slack's Desktop App to BrowserView

#122

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…

Even if it was done in Xamarin, you'd still need some kind of web client / browser to fetch and render the actual slack workspaces

Re: Migrating Slack's Desktop App to BrowserView

#123
post #95
post #74

Earlier quoted context omitted.

Just pulled up Activity Monitor - Slack + helpers are using over 1 GB while at rest.

Not sure if it's because of the amount of groups I've added but I'm using ~1.8 GB compressed on my MBP.

and that's exactly what the new version is perhaps going to solve as per the article with regard to inactive groups being unloaded to a minimal version which deals with only notifications.

Re: Migrating Slack's Desktop App to BrowserView

#124

Earlier quoted context omitted.

Have you actually written a large scale cross platform app for Linux and Windows? Sure, Qt components will show up on both platforms. But to get them to show up the same tends to be an incredible headache, especially if custom styling is applied.

Yes, I have. Well, I guess it depends what you mean by large scale. But I wrote and shipped a Windows/Mac/Linux cross platform app using JavaFX with native packaging for each platform. I didn't try and match native widgets. I styled it to look like a desktop app. It was quite productive and straightforward. That said, Java likes to use as much RAM as it can get even if it could release a lot back to the OS. It looks…

Cant you put java apps on the leash with Xmax and Xmin memory ? I might be wrong, but I thought that was the case.

Re: Migrating Slack's Desktop App to BrowserView

#125
post #34

Earlier quoted context omitted.

No-one else doing it "right" is not an excuse for anyone to do it "wrong". EDIT: Leaving aside the question of whether the other multi-platform messaging apps also do it that poorly, and merely running with your assertion to that effect. I have neither the time nor the inclination to gather data on that question.

No one else doing it right can be an argument to show that its because no alternative is much better, and so Electron is actually the possibly right choice. It still being too slow or memory hungry for your liking still remains though. But it seems that there might not be an obvious solution to this that does not compromise on features.

"No better alternative" != "right". As you observe, a compromised choice is still compromised.

Re: Migrating Slack's Desktop App to BrowserView

#126

Is anyone else getting chat service fatigue? Looking at my dock I have Discord, Slack, Textual (IRC), WhatsApp Web open. I wish there was a service that just amalgamated all these together into one thing, with a rough set of common features (e.g. ability to post images/gifs/videos, text etc)

If it doesn't exist yet, I'm sure someone will be along shortly to re-invent Trillian or Pidgin as an Electron app.

Re: Migrating Slack's Desktop App to BrowserView

#128
post #72

Earlier quoted context omitted.

I think, that he was trying to say, Typescript feels like C#, so why not use the more performant option, if you use something similar but slower anyway.

How many platforms does C# run on, with runtimes available under which licenses, again? EDIT: Not defending Slack's choice of JS, or the consequences of that choice on its memory footprint, CPU utilization, or excess consumption of my battery in any way, but it's not purely a matter of "which one is the most efficient/performant/whatever?".

.NET Framework | Proprietary | Windows 98 or later

.NET Micro Framework | Apache 2.0 | Win+Bare Metal

.NET Core | MIT License | Win+macOS+Linux(x64+armhf)

Xamarin | Proprietary | Android, iOS, and Windows

mono | MIT License | Linux Mac OS X, iOS, tvOS, watchOS Sun Solaris BSD - OpenBSD, FreeBSD, NetBSD Microsoft Windows Nintendo Wii Sony PlayStation 3 Sony PlayStation 4

Of course "having a runtime" is not the same thing as "having a good way to write cross-platform applications".

Re: Migrating Slack's Desktop App to BrowserView

#129

Earlier quoted context omitted.

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.

Interestingly, Messages.app on macOS actually is a webview (well, the chat log portion of the window).

Re: Migrating Slack's Desktop App to BrowserView

#130
post #128
post #72

Earlier quoted context omitted.

How many platforms does C# run on, with runtimes available under which licenses, again? EDIT: Not defending Slack's choice of JS, or the consequences of that choice on its memory footprint, CPU utilization, or excess consumption of my battery in any way, but it's not purely a matter of "which one is the most efficient/performant/whatever?".

.NET Framework | Proprietary | Windows 98 or later .NET Micro Framework | Apache 2.0 | Win+Bare Metal .NET Core | MIT License | Win+macOS+Linux(x64+armhf) Xamarin | Proprietary | Android, iOS, and Windows mono | MIT License | Linux Mac OS X, iOS, tvOS, watchOS Sun Solaris BSD - OpenBSD, FreeBSD, NetBSD Microsoft Windows Nintendo Wii Sony PlayStation 3 Sony PlayStation 4 Of course "having a runtime" is not the same th…

Thank you.

Are those runtimes all bytecode compatible? Or is that another layer of developer cognitive burden that the more efficient/performant/whatever choice entails, atop the whole "having a good way to write cross-platform applications" tangle?

Post reply on HN