
Ripcord – A desktop chat client for Discord and Slack - dpcx
https://cancel.fm/ripcord/
======
robotron
At first, I thought "what's the point?" Then I saw:

"It's not built on top of web browser technology: it responds quickly to
input, sips gently from computer resources, and gets out of your way."

~~~
jensvdh
Who cares that it's not built in Electron? Slack is plenty fast, your average
user does NOT notice the difference.

~~~
equalunique
Slack lags seconds behind when I type anything.

~~~
beatgammit
I actually ran into that today and restarting the app fixed it. That shows
that there's a pretty serious limitation if such a high profile app has these
sorts of problems.

------
tjohns
I like that "Not made from a web browser" is a headlining feature. My laptop
has 16 GB of RAM, and still doesn't have enough memory to run all the Electron
apps I use without grinding to a halt.

~~~
jimmy1
I think this meme needs to die. I run 3 massive electron apps on the regular,
in addition to my multiple IntelliJ IDE instsances and RDBMS clients on a 16gb
Macbook Pro, the latter category being the biggest resource hogs.

~~~
ogre_codes
IntelliJ has much more functionality than Slack so it's a poor choice to
compare it to. Also... comparing slow cross platform tool to another sluggish
cross platform tool isn't really a great place to start.

The fact that this Rip Cord does 99% of what Slack does and uses a fraction of
the memory and runs faster pretty much says it all. Javascript/ Electron are
resource hogs.

~~~
zepolen
Badly written Javascript/Electron apps are resource hogs.

~~~
timw4mail
Compared to virtually any compiled language, Javascript is a resource hog,
regardless of how well written.

It is also single-threaded (without workers, which have their own
limitations), and any large calculation can block that main thread.

------
Perceptes
It makes me sad that people continue to put their time and effort into
supporting these closed communication systems. If anyone else is considering
making something like this, please base your efforts on Matrix. It's so much
better for us and so much more deserving of our attention.

~~~
helge5
Chicken and Egg. People don't use Matrix.

~~~
rtpg
To be fair, for an internal communications usecase you just need to convince
your company, not half the world

I’d open source comms tools leaned more into business use cases (mattermost
does this well) then there could be more usage

~~~
CharlesW
> _To be fair, for an internal communications usecase you just need to
> convince your company, not half the world_

I imagine that's true for companies whose users stick to internal workspaces,
but often the most active/vocal users (1) participate in multiple (often
professional) non-company workspaces, and (2) don't want to run Yet Another
Chat client.

------
goodroot
YES! This is awesome. Have it up and running with Slack.

I checked for:

* Thread support (yes)

* Drag n drop images (yes)

* SSO support (yes)

* Quick Switcher (yes)

* Default dark mode (yes (!!))

There are some things missing, like search, fine grained notification controls
for muting, profile editing, code snippets, moving emojis, etc. But for daily
communication, I'll give it a try. Feels fast and light.

Edit: After some time, I think I will keep it around for when I am on the go
and want to preserve battery. I do not think I'll use it full time because I
miss some of the colourful whimsy of the Slack client.

~~~
lysp
> There are some things missing, like .... moving emojis, etc.

Isn't that a feature?

------
tyrust
Looks like a good project, I may give it a try on Windows.

On Linux, I use weechat to connect to a local bitlbee for Discord and
Hangouts. When I was using Slack I used wee-slack [0] with success, but it
looks like bitlbee has a plugin for Slack, too [1]. This lacks a few of the
features of Ripcord (e.g. voip, graphical emoji, emoji completion), but it
works.

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

[1] - [https://wiki.bitlbee.org/](https://wiki.bitlbee.org/)

------
saagarjha
How does this work? Discord has been notorious in shutting down third-party
clients; what makes this different than the others?

~~~
simlevesque
This one is different in that is says that they will one day charge for it so
instead of just shutting it down the author will have a lawsuit on his lap.

~~~
jjeaff
Are there examples where an alternative client was successfully sued? Seems
like it would be like suing Firefox because you want your users to use the
browser you provided.

I would think that worst case, slack could kick users off for breaking their
terms of service (assuming there is a clause for that). But a random software
maker is not subject to slack's terms.

~~~
jonathanlydall
Not exactly an alternative client scenario, but Blizzard successfully shutdown
a US company that developed and sold World of Warcraft botting software.

[https://en.wikipedia.org/wiki/MDY_Industries,_LLC_v._Blizzar...](https://en.wikipedia.org/wiki/MDY_Industries,_LLC_v._Blizzard_Entertainment,_Inc).

The gist of Blizzard’s argument was that the software was designed for the
sole purpose of facilitating customer violations of their EULA causing
monetary harm to Blizzard.

Disclaimer: I used to be a customer service representative of Blizzard Europe,
but not since 2012.

~~~
jjeaff
Ya, I'd say that case is quite a bit different due to the actively harmful
effect it would have on other users.

Slack would also need to prove monetary harm. I can't imagine a more efficient
client would hurt their service. Maybe just their pride.

------
mostlysimilar
I love the interface, but how does it connect with Discord and how long until
they try to shut it down?

~~~
Lowkeyloki
I'm not very familiar with Discord, but I thought the same about Slack. Slack
has been aggressive in the past sending C&D letters to those who threaten
their walled garden. I'm not saying it'll definitely happen in this case and I
wish all the best to the developers and users of Ripcord. I sympathize with
their want for non-electron desktop clients. But I wouldn't be surprised at
all if they received a terse and disapproving letter from Slack's legal team.

~~~
helge5
> Slack has been aggressive in the past sending C&D letters

Could you elaborate? Slack provides client tokens and they don't seem to
forbid that in the way Discord does (in fact they explicitly provide client
tokens via OAuth).

~~~
Lowkeyloki
To be fair, the ones I specifically remember were various browser extensions
and plug-ins that would modify the browser version of Slack's official client.

However, I could have sworn there were a few full-fledged clients that Slack
didn't like. I feel like one of them was a terminal-based client.

------
computerquip
Unfortunately, there isn't a chance this survives, especially if it's closed-
source and for money. Discord doesn't allow third-party clients (which I swear
should be a legal issue since it's a PUBLIC API but whatever), and Discord is
known to aggressively block and prevent third-party clients.

If you want something that doesn't suck, look somewhere other than Discord. It
sucks that it's so embedded into so many groups but Discord isn't a very
friendly entity.

------
mrbad101
Feels like IRC with Trillian mixed in.

Pretty funny the iterations chatting over the internet has went through over
the years. Feels like bell-bottoms just came back into fashion.

~~~
RHSeeger
I miss Trillian. That was a fine program. I actually wrote an extension for it
that allowed me to automate things with Tcl/Tk.

~~~
hackily
Trillian isn't dead though. I still use it, despite the internet becoming more
and more of a walled garden. Trillian still works just fine with Google
hangouts, and facebook messenger too, as long as it's not a group chat.

~~~
Semaphor
> and facebook messenger too

Mostly. It doesn't show messages with the facebook link-preview.

------
samdixon
Thoughts after around 5 minutes. It's fast, really fast. Cmd + P Fuzzy Find
for switching chats between Discord/Slack and person/channel is amazing. Will
continue to use as it doesn't appear to be near as buggy as Volt.

However I do wish this was an open source project. Seems odd to close
something like this off in this day and age. Seems like another one of these
chat clones destined to die off unfortunately.

~~~
ahartmetz
It's a better client for a proprietary service. If you / your org cared about
freedom, you'd be using Matrix or Rocket.chat.

~~~
samdixon
Unfortunately it's not so much me, but my friends in this case. If I want to
stay in touch with a large group of past co-workers who are all in the same
slack, it isn't feasible to convince them all to switch to a self hosted
service.

Even in the case of those programs you mentioned though, aren't they still
plagued by a slow/electron based client?

*edit: I just looked into Matrix. Looks awesome. Wish my friends used chat programs like this. I will try to implement this with some of my closer friends.

~~~
ahartmetz
I have this problem myself, I like very little about Slack but I have to use
it for work. And since it's all proprietary anyway, I don't particularly care
about the client being Free.

~~~
samdixon
I just wish the client was free in this case because it would be a shame to
see it turn into abandonware. I've only used it since yesterday now, but it's
quite performant.

------
longnguyen
I tried Ripcord but my main problem is that it just looks ugly on macOS.
That's why I decided to build a new Slack client instead (Ben [1]). It started
out as a dogfood for my other side-project (ReactQML [2]) but then I believe
we can build high performance yet good looking native applications, using
front-end technologies (no, not Electron/webview). Currently here is Ben's
tech stacks:

\- Back-end: Qt5, breakpad, QtKeychain

\- Front-end: TypeScript, webpack, babel, react, redux, redux-observable,
redux-persist, QML.

The best part is that we can truly "code one, deploy everywhere". I was able
to compile Ben to both desktop (MacOS, Windows) and mobile (iOS, Android) from
same one codebase.

Though it's still far from feature-complete but I hope I can finally uninstall
the official Slack app for good. You can try latest build here [3]

[1]:
[https://github.com/longseespace/ben](https://github.com/longseespace/ben)

[2]: [https://github.com/longseespace/react-
qml](https://github.com/longseespace/react-qml)

[3]:
[https://github.com/longseespace/ben/releases/download/v0.2/B...](https://github.com/longseespace/ben/releases/download/v0.2/Ben.dmg).

~~~
Zanneth
Your app looks great, and props to completing a project for something you
wanted. However, I'd reconsider using the word "native" in your marketing
since TypeScript and QML on a macOS desktop is not by any means native.
TypeScript compiles into JavaScript which must run in a virtual machine like
any other JavaScript program.

~~~
pknopf
The business logic may be in JavaScript, but the rendering is all native
opengl/c++.

I think it's fair to refer to it as native.

------
JensRex
Too bad it's closed source.

------
w-ll
I exclusively use the web interface for both, as its easier to shut off from
work when its just a tab I can close, as well of not liking the bloat of
chromium based apps.

But if this is stable and lightweight I might use it. Gonna test it for a
while.

Thanks.

------
formalsystem
Why not just make a new client? As others have mentioned, I don't see this
landing well with Discord.

Just because there are a bunch of group chat apps already, doesn't mean people
won't switch to a better one.

------
indigodaddy
Does this support Azure login on Slack?

This seems to be a common hurdle on non-Electron Slack clients (well at least
on the one or two others I tried within the last few years that I can't
remember the names of now).

~~~
tenryuu
There's support for importing your login from your browser. This has to be
used if your slack domain doesn't use the generic slack login page.

If you're familiar with HAR files, this is what's used

------
pndy
I'd try and even use it because Electron-based Discord client acts like
resource hungry pig on my machine, especially when I'm already running
multiprocess browser and GW2 who happens to use CoherentUI to render some of
its UI (which happens to be also based on Chromium fork), but: I'm afraid
being banned and creating new account every now and then, getting onto
servers, asking for invitations isn't something I'd like to do.

So, what are chances that Discord may feel "offended" by user login with and
using Ripcord?

------
amatecha
Ah, so cool to see this on HN! I've kinda snooped on the development of this
software over quite some time and always been impressed by the author's
persistent attention to performance/optimization. The "minimalistic" approach
has been refreshing to see when nearly every popular new online software seems
to require gigabytes of RAM for its embedded web-rendering engine. ;)

------
fady
This is awesome!! really. like really. Great job! As a power user myself, I
tend to go for the CLI style of view, in most cases that txt heavy.

I do have one question. <!here> is how you notify everyone in a channel about
your msg. Can you customize this in the settings? otherwise, its a small
adjustment I can make as you already have an app that I like more than the
native slack app on macOS.

------
merlincorey
Will this support Mattermost as well?

------
gcledingham
The client feels fantastic! Is there any way to have unread channels bubble-up
to the top of the cmd-k quick switcher?

This seems like the only functionality that would keep me from using Ripcord
full-time.

------
VectorLock
I have to reload Discord every hour or so when the audio goes down the tubes
and starts constantly breaking up so if this client doesn't do that I will
consider it a winner.

------
FridgeSeal
Fantastic! I’ve been running some memory-heavy jobs on my computer recently
and literally had to close Slack so I could get a chunk of memory back and it
have my job killed.

------
EvangelicalPig
I'd rather someone would spend time on a better Matrix or XMPP client but
assuming the Discord staff have a hissy fit over ToS it looks quite nice.

------
solarkraft
Looks great! What technology is it built on? Did you reverse engineer
Discord's API or is there a documentation or library?

~~~
penagwin
The discord api is pretty well documented. The bot api and the user api are
actually the same thing, but you're only allowed to use the bot api. You can
still use the user api but if they catch you they'll ban you, so we'll see how
this client pans out.

~~~
tenryuu
There's only been one known case of someone being banned from Ripcord usage,
due to too many requests being sent, triggering spam protection. Their account
was unlocked after contacting support.

The software now doesn't sync users to a sqlite local database if there's over
10k members in a guild, as a precaution

~~~
penagwin
Oh that's cool, are you affiliated with Ripcord?

Discord is a pretty decent company so far IMO, I figure if they're okay with
3rd party clients then they'll be extra lenient on the rules. So far their
success has been how much the community loves love (not to mention how well it
works).

------
DC-3
This is nice. Not perfect - I wish it was FLOSS for one, and the icons are a
bit clunky. But much better than the alternative.

------
mikroskeem
Been using it for a while. Fits perfectly for every day use, except it lacks
searching feature present on official client

~~~
chocolatkey
Same, works very nicely, especially for memory-hogging slack, a shame the
search isn't integrated

------
cknoxrun
I just wanted to check in -- I've been using this for a few days now and love
it. I would pay for this.

------
mitjak
I was skeptical but this looks p feature rich already! I love it :)

------
LeoPanthera
If this had Telegram support I wouldn't need anything else.

