Earlier quoted context omitted.
Ripcord [1] is a (native) desktop chat client for Slack and Discord written in C++ and QT. It was posted a few months ago [2] and I’ve been using it since then, it works great. [1] https://cancel.fm/ripcord/ [2] https://news.ycombinator.com/item?id=19617699
interesting - they mention: "Slack connectivity is now available for testing. It's still pretty rough and missing a lot of features." any further insights here? could just try it myself, but slack is our key communication so getting more input would be great
When a rewrite isn’t: rebuilding Slack on the desktop
71–80 of 408 posts
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#72I know that popular opinion in the Twitterverse is that "Redux is dead", but I note that both Twitter and Slack just released major rewrites that use Redux heavily. I talked about Redux usage stats and comparison with other alternatives in my "State of Redux" talk at Reactathon earlier this year [0], and my post "Redux - Not Dead Yet!" also addresses some of these aspects [1]. Also, quick plug for our current focus.…
Also aren't communication apps a perfect use case for Redux due to the need to have events from multiple sources happen in a single store in a linear order?
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#73Earlier quoted context omitted.
Nobody has the resources for that. Some companies make OSes, and some companies send rockets to space. Those feats are also powered by thin wrappers over electron. /s People seem to forget that C++ and opengl is cross-platform. And there are projects far bigger than slack, like ffmpeg and OpenCV that have existed for decades, always had very fast development cycles, with only a subset of the funding and money that Sl…
Slack also grew out of the team that made Glitch https://en.wikipedia.org/wiki/Glitch_(video_game) That core team therefore had a lot of frontend web dev experience. It made sense that they'd stick to their strengths
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#74I will consider this benchmark vindication both for myself and the times I've had to argue as to why Electron isn't the issue, as well as the commentator from many moons ago who worked at Slack, dropped in here and explained why Electron wasn't the problem (rather, poor engineering on Slack's part was), and then was ripped to shreds over it. In fact I'm sure this comment will bring out native fanatics in force. At an…
Yes, getting a 5+ workspace client down from ~800+MB to 300MB should be applauded - but the 250MB floor is still too high.
I want to know what’s in the 250MB it’s still using.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#75Earlier quoted context omitted.
Past a certain point, the downsides of Electron outweigh the downsides of native apps. We've crossed that Rubicon years ago.
If this was the case we wouldn't see so many Electron apps. You just don't perceive enough of the upsides to see why the decisions are being made.
So "the downsides of Electron outweigh the downsides of native apps" when you're someone who patrols the task manager looking for things to be upset about. Your chat client - one of half a dozen applications you realistically have open - using 400MB of RAM on your 32GB workstation does not have a meaningful impact on your workflow. It's just offensive.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#76I know that popular opinion in the Twitterverse is that "Redux is dead", but I note that both Twitter and Slack just released major rewrites that use Redux heavily. I talked about Redux usage stats and comparison with other alternatives in my "State of Redux" talk at Reactathon earlier this year [0], and my post "Redux - Not Dead Yet!" also addresses some of these aspects [1]. Also, quick plug for our current focus.…
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#77How about a native client? I think it's safe to assume that Slack has the resources for this.
No company has infinite resources. Maintaining native mac and windows apps to appease the few people who have an irrational hatred of electron doesn't make good business sense when those resources could be going work that actually improves their product in a meaningful way.
For years slack has been a resource pig on desktop and on the web. So what improvements are you imagining they’ve been working on? Chatting on the internet is hardly such a groundbreaking subject that it can’t be done efficiently.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#78I will consider this benchmark vindication both for myself and the times I've had to argue as to why Electron isn't the issue, as well as the commentator from many moons ago who worked at Slack, dropped in here and explained why Electron wasn't the problem (rather, poor engineering on Slack's part was), and then was ripped to shreds over it. In fact I'm sure this comment will bring out native fanatics in force. At an…
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#79Slack is eventually going to write native apps once they realize that productivity software shouldn't be developed like an ad product from Google. It will take Teams winning because it gets included in the Office 365 subscription for several quarters before they come to the realization that they need to compete on user experience.
Re: When a rewrite isn’t: rebuilding Slack on the desktop
#80How about a native client? I think it's safe to assume that Slack has the resources for this.
The fact that nobody's gone out on their own and built a native client means at least one of four things is true: 1. Slack is too restrictive, and its API is too poorly supported for anyone to create a port. I find this unlikely, given that the API is extensively documented and that an Emacs port already exists, but maybe there are problems I'm not aware of. 2. Good native ports are actually a lot harder to build and…
Native GUI clients:
- Ripcord: https://cancel.fm/ripcord/
- Wey: https://github.com/yue/wey ("written in Node.js with native UI powered by the Yue library")
- Volt: https://volt-app.com
IRC bridges (allow using Slack from native IRC clients):
- wee-slack: https://github.com/wee-slack/wee-slack
- irc-slack: https://github.com/insomniacslk/irc-slack
- bitlbee: http://bitlbee.org (using libpurple)
libpurple plugin (allows using Slack from Pidgin, Adium, bitlbee):
- https://github.com/dylex/slack-libpurple
- Adium (native macOS app) plugin based on it: https://github.com/victori/slack4adium
CLI clients:
- https://github.com/erroneousboat/slack-term
- https://github.com/haskellcamargo/sclack
- the emacs one you mentioned
Most of these clients don't support 100% of Slack's features, aren't as pretty, and are generally not as 'polished' as the official client. But they're also mostly written by individuals in their spare time, as opposed to a team of full-time employees. So no, I don't think that native clients are 'actually a lot harder to build and maintain'.