I really feel like the messaging experience had moved backwards in the past 10 years for one on one convos.
I used to just have pidgin, have a single client for loads of protocols, and be in a pretty good place! Now it’s a whole thing and I need 10 different apps
The one thing that’s a bit nicer is how sharing media between apps on mobile makes sharing a file pretty easy nowadays, but still….
I think that one of the reasons for this is the increasing prevalence of mobile clients. With desktops (and to some degree laptops) you can be constantly connected. Mobile clients such as phones require push notifications (or occasional polling) to deliver messages without wasting energy. Some protocols support this while other just assume a constant, stable connection.
This is a big weakness for IRC on mobile imho. It can be mitigated with bouncers and proxies like IRCweb but the fundamental architecture is predicated on a connection that either works all the time or tries to reconnect if there’s an issue.
Why not Jabber or XMPP? It has OMEMO (and OTR) “included”, as opposed to IRC. I think it’s more persistent that IRC when it comes to messages and you can basically just hop on somebody’s server being pretty safe about your messages (encryption I’ve mentioned earlier).
Besides, Jabber is more distributed than IRC and doesn’t require you to connect to a 1 particular server. While you can dismiss my previous claim about encryption, by saying that you can just self-host and own the data, which is perfectly correct, the another problem arises: what if you have some of your friends on 1 server and some on another? You’ll have to connect to both one way or another (or they’ll have to; or your bouncer), no? And that isn’t very convenient… With XMPP you’ll just connect to 1 server – be it yours or someone’s – and then it connects to other servers. And I do admit that I’m no expert on it, but something tells me that this connection doesn’t have to be persistent for messages to get through, which seems to be a must in IRC.
For the record, I love IRC and use it far more than Jabber, but I don’t think that it should be a go-to solution for personal instant communication.
I completely agree regarding the lack of federation though.
That said, IRC is no better in this regard; I can’t just federate with Rizon or freenode, since IRC is not set up for a distributed system of untrusted server instances.
This mentions Slack and Discord, but not their open alternative: Mattermost. Maybe something to consider too? (I have no experience with it, but it looks interesting.)
Open core is a product which is open source for the basic functionality and non-free and paid for extras: https://mattermost.com/pricing-feature-comparison/ . It is one way to monetize open source. Typically the sales speak doesn’t mention where the line between open source features and paid features is.
We used it for a few years at my last gig. I’d recommend doing something else. Lately I’ve been using Matrix/Riot with a growing group of people and I think it shows much more promise than Mattermost.
I am not sure what in the Signal client on Android sucks? Could you elaborate? I’ve been using it for years to communicate with friends and family and I don’t have any big frustrations with it.
I find the mobile client acceptable (iOS in my case) but my real problem is when using both mobile and desktop clients, I get very erratic behavior on desktop: messages very often get reordered or dropped. Like, the conversation will be seriously scrambled. This doesn’t seem acceptable to me—I can imagine it leading to serious confusion, even danger.
I use the Android app and the desktop app every day and have never seem messaged dropped, and only very rarely seem misordering. Hopefully they can address whatever’s causing the issues you’re seeing.
I think it’s more likely to happen if you use the desktop client occasionally so it has to sync a batch of messages… I’ve seen GitHub issues about it but no solution.
The fact that you can “swipe” from the settings menu to the home menu. You don’t have to reach with your thumb the button in the left upper corner, which is quite inconvenient with today’s screen sizes. You can do the same from conversations to the homscreen and from the contacts detail window.
I don’t think it sucks, I think that SMS is a tough problem. In my experience on Signal, “MMS download failed” and “Error downloading MMS, tap to retry” was really frustrating. It’s still my default SMS client, but I’d rather not SMS.
I’m missing the part where you explain how the other party gets the messages when offline - is that weechat that’s only mentioned in passing?
Don’t get me wrong, I’m probably IRC’s biggest fan but using it for this doesn’t sound really good to me. I’m using quassel, so I have a proper backlog, but even with znc and playback it has always been a little meh for me.
If by offline you mean off Weechat – we have both our mobile phones always connect to IRC (thru ZNC) using Revolution IRC. I have never had a case where the other party has missed a text. ZNC playbacks only make this a lot more pleasant, since we now have chat history synced across both desktop and mobile.
but using it for this doesn’t sound really good to me
As I mentioned in the post, this probably won’t work for everyone.
Maybe my phone just shuts down stuff more aggressively or runs out of battery too fast. I’ve never tried Revolution IRC and I suppose if that’s your only channel with only 1 person talking the client doesn’t have to alert all the time (I am in many channels and notifications thus would be a lot spammier and more frequent).
Yeah, mine does too (Oxygen OS) – had to add Revolution as an exception. And I’m in a ton of channels too, but I have notifications for all messages only for this one specific channel. Revolution has rules that you can setup, server-wise and channel-wise. It’s great, really.
IRC is wonderful, and has its time and place. But it feels a bit silly to be talking about IRC’s merits as a direct messaging platform when I know that I can’t ask a new acquaintance what their nick is on Freenode (or insert your preferred IRC network here) without expecting a blank stare in return. If you can’t meet a person and reasonably expect to connect with them on platform X, then none of platform X’s usability or technical merits matter because it lacks the social scale for it to be a viable option for regular conversations.
IRC is wonderful, and has its time and place. But it feels a bit silly
to be talking about IRC’s merits […]
Absolutely, and that was never the intent of the post. It was merely
describing what setup I have going on to talk to my brother, because
the alternatives aren’t that great (for me anyway).
Given this point about Signal (btw there is a typo in “centralzied”) Keybase is actually worse than Signal (no federation but also closed-source server):
Signal: It straight up sucks on Android. Not to mention the centralzied architecture, and OWS’s refusal to federate.
Yeah, to be honest I did a messaging apps review with my friend 2 years ago and most of them were either not fully open-source or barely usable. We did end up using XMPP (with Conversations.im and Dino.im) but this is only due to the fact that we’re all using Android and Linux (including our families) so the experience is fine.
Yeah I do on a small VPS, it’s not a big chore once you set it up (I’ve seen people using Raspberry Pis for that). My friend pays for a Conversations.im accounts for their family though.
In case you’d be selecting/setting up a server do check out Compliance Tester. It’s like an SSLabs test but for modern XMPP.
Look out for “you get what you measure”. If you ranked messengers by that something using non-encrypted, binary protocol (MQTT?) would clearly win.
As for the answer: nope, we did not compare traffic, but we did compare battery usage and there was no noticeable difference. If one uses the app often it takes more energy if it’s in background the battery depletion is not significant.
The author appears to be using Rizon. Without going into their infrastructure and why I personally believe it’s trustworthy, you still do have intermediaries between your messages (at least one server if you’re both on the same server, likely more since Rizon makes it hard to connect to a specific server as a DDoS countermeasure). I’d therefore recommend using an OTR plugin for your client of choice if this is a pressing concern; irssi ships one natively since 1.2.0 (released 2019-02-11), but it’s only usable for 1:1 via query (which the author has discarded as an option).
I see they’re using +i for protecting the channel against outside access (and presumably +I invite exceptions to not have to use ChanServ invites every time, especially since a vHost can be used to signal identification wtih NickServ). +k is probably just overkill in that case. As an added precaution, consider the ChanServ SET RESTRICTED option that will auto-kickban anyone without an entry in the access list.
I’m surprised to see +S missing; if you’re privacy-conscious enough to put Signal at the top of your evaluated messaging applications, you probably want to make sure you don’t leak information via non-TLS connections.
It so happens that I’m fairly familiar with Rizon’s stack and how their IRCd/services work, so feel free to hit me up on Rizon.
As an added precaution, consider the ChanServ SET RESTRICTED option that will auto-kickban anyone without an entry in the access list.
Thanks, I’ll check this out.
I’m surprised to see +S missing; if you’re privacy-conscious enough to put Signal at the top of your evaluated messaging applications, you probably want to make sure you don’t leak information via non-TLS connections.
The bot, at the moment, doesn’t connect via TLS – which will be fixed soon.
I know for a fact that the other participant also connects via TLS (as do I), since I host the ZNC server we both use.
It so happens that I’m fairly familiar with Rizon’s stack and how their IRCd/services work, so feel free to hit me up on Rizon.
That’s awesome, I’m always on #rice and #homescreen, come say hi!
Telegram really does have the best messenger UI/UX on any platform. It’s fast, has any feature you could need (fun ones AND useful ones), constantly has minor improvements that don’t seem like bloat or feature-creep, etc. If it had multi-device e2ee, I wouldn’t want to use anything else.
We’re ~10-20 people now on an instance that started with less than 5, it’s the reunion of people who all had left IRC ages ago, kickstarted by one of the 3 people left in an empty channel - so far it works perfectly for us and my main point (see above) is that Riot (the Android Matrix Client) doesn’t kill my battery and works pretty nicely.
Listed instant messaging apps have mobile applications and that makes it easier to use and receive notifications. Unfortunately, I’m not sure there is a good IRC protocol mobile application on iOS that can receive notifications and make it suitable for DMs.
I have a specific question about security/message integrity.
How good is (TLS-enabled) IRC in general and Rizon in particular in making sure that the text you write in a private channel are only seen and read by the other participants in that channel?
Edit I lack reading comprehension, a few of my questions have been answered in this comment by @xorhash in this thread.
Generally, when the course starts, the prof creates a group for everyone in their class for sharing assignments, class rescheduling notices etc. It’s completely unofficial, in the sense that the University has no rule that these groups must exist, but if I choose to leave WhatsApp now, I’ll miss out on a ton of information that’s shared, since they aren’t communicated anywhere else. It is assumed that everyone has WhatsApp.
So yes, you can say that it is a prerequisite of sorts.
Maybe clarify that in this context, DM means “direct messsages”, not “Dungeon Master”.
For me, Whatsapp and Telegram are mobile-first clients. Are you communicating via mobile? If so, what IRC client(s) are you using?
IRC is perfectly good for dungeon masters too. ;)
Seriously though, there’s a bunch of people I mainly communicate to on IRC and I’m more than comfortable with it, just like the post author.
Ahh, that didn’t occur to me. Guess I’m an actual zoomer. :^)
I use IRC on mobile and on the desktop. The best client on Android so far has been Revolution IRC, available via F-Droid and the Play Store.
I use weechat for IRC, and the weechat-android for mobile. Works great!
Quassel and Quassel Droid.
I really feel like the messaging experience had moved backwards in the past 10 years for one on one convos.
I used to just have pidgin, have a single client for loads of protocols, and be in a pretty good place! Now it’s a whole thing and I need 10 different apps
The one thing that’s a bit nicer is how sharing media between apps on mobile makes sharing a file pretty easy nowadays, but still….
I think that one of the reasons for this is the increasing prevalence of mobile clients. With desktops (and to some degree laptops) you can be constantly connected. Mobile clients such as phones require push notifications (or occasional polling) to deliver messages without wasting energy. Some protocols support this while other just assume a constant, stable connection.
This is a big weakness for IRC on mobile imho. It can be mitigated with bouncers and proxies like IRCweb but the fundamental architecture is predicated on a connection that either works all the time or tries to reconnect if there’s an issue.
Why not Jabber or XMPP? It has OMEMO (and OTR) “included”, as opposed to IRC. I think it’s more persistent that IRC when it comes to messages and you can basically just hop on somebody’s server being pretty safe about your messages (encryption I’ve mentioned earlier).
Besides, Jabber is more distributed than IRC and doesn’t require you to connect to a 1 particular server. While you can dismiss my previous claim about encryption, by saying that you can just self-host and own the data, which is perfectly correct, the another problem arises: what if you have some of your friends on 1 server and some on another? You’ll have to connect to both one way or another (or they’ll have to; or your bouncer), no? And that isn’t very convenient… With XMPP you’ll just connect to 1 server – be it yours or someone’s – and then it connects to other servers. And I do admit that I’m no expert on it, but something tells me that this connection doesn’t have to be persistent for messages to get through, which seems to be a must in IRC.
For the record, I love IRC and use it far more than Jabber, but I don’t think that it should be a go-to solution for personal instant communication.
That’s completely not my experience. It does everything I want or know I need from a messaging client.
I completely agree regarding the lack of federation though.
That said, IRC is no better in this regard; I can’t just federate with Rizon or freenode, since IRC is not set up for a distributed system of untrusted server instances.
IRC was originally a single network, but an incident occured, because the net was too trusting…
This mentions Slack and Discord, but not their open alternative: Mattermost. Maybe something to consider too? (I have no experience with it, but it looks interesting.)
mattermost is open core, please avoid
What is “open core”, and why should it be avoided?
Open core is a product which is open source for the basic functionality and non-free and paid for extras: https://mattermost.com/pricing-feature-comparison/ . It is one way to monetize open source. Typically the sales speak doesn’t mention where the line between open source features and paid features is.
Open Core according to Wikipedia.
We used it for a few years at my last gig. I’d recommend doing something else. Lately I’ve been using Matrix/Riot with a growing group of people and I think it shows much more promise than Mattermost.
I am not sure what in the Signal client on Android sucks? Could you elaborate? I’ve been using it for years to communicate with friends and family and I don’t have any big frustrations with it.
I find the mobile client acceptable (iOS in my case) but my real problem is when using both mobile and desktop clients, I get very erratic behavior on desktop: messages very often get reordered or dropped. Like, the conversation will be seriously scrambled. This doesn’t seem acceptable to me—I can imagine it leading to serious confusion, even danger.
I use the Android app and the desktop app every day and have never seem messaged dropped, and only very rarely seem misordering. Hopefully they can address whatever’s causing the issues you’re seeing.
I think it’s more likely to happen if you use the desktop client occasionally so it has to sync a batch of messages… I’ve seen GitHub issues about it but no solution.
This is just my opinion, mind you, but I’m not a big fan of the UI. Maybe Telegram’s UI has spoiled me.
I do agree with @icyphox. It is not as smooth as the Telegram GUI. You can’t use gestures for example.
Pardon me for being out of the loop but what gestures do you need for for communication with people?
On the contrary, I found using IRC on the phone to be some of the worst experiences with regards to UI.
The fact that you can “swipe” from the settings menu to the home menu. You don’t have to reach with your thumb the button in the left upper corner, which is quite inconvenient with today’s screen sizes. You can do the same from conversations to the homscreen and from the contacts detail window.
I don’t think it sucks, I think that SMS is a tough problem. In my experience on Signal, “MMS download failed” and “Error downloading MMS, tap to retry” was really frustrating. It’s still my default SMS client, but I’d rather not SMS.
I like Wire quite a lot! Desktop & mobile apps are both great.
I’m missing the part where you explain how the other party gets the messages when offline - is that weechat that’s only mentioned in passing?
Don’t get me wrong, I’m probably IRC’s biggest fan but using it for this doesn’t sound really good to me. I’m using quassel, so I have a proper backlog, but even with znc and playback it has always been a little meh for me.
If by offline you mean off Weechat – we have both our mobile phones always connect to IRC (thru ZNC) using Revolution IRC. I have never had a case where the other party has missed a text. ZNC playbacks only make this a lot more pleasant, since we now have chat history synced across both desktop and mobile.
As I mentioned in the post, this probably won’t work for everyone.
Maybe my phone just shuts down stuff more aggressively or runs out of battery too fast. I’ve never tried Revolution IRC and I suppose if that’s your only channel with only 1 person talking the client doesn’t have to alert all the time (I am in many channels and notifications thus would be a lot spammier and more frequent).
Yeah, mine does too (Oxygen OS) – had to add Revolution as an exception. And I’m in a ton of channels too, but I have notifications for all messages only for this one specific channel. Revolution has rules that you can setup, server-wise and channel-wise. It’s great, really.
IRC is wonderful, and has its time and place. But it feels a bit silly to be talking about IRC’s merits as a direct messaging platform when I know that I can’t ask a new acquaintance what their nick is on Freenode (or insert your preferred IRC network here) without expecting a blank stare in return. If you can’t meet a person and reasonably expect to connect with them on
platform X
, then none ofplatform X
’s usability or technical merits matter because it lacks the social scale for it to be a viable option for regular conversations.Absolutely, and that was never the intent of the post. It was merely describing what setup I have going on to talk to my brother, because the alternatives aren’t that great (for me anyway).
Curious if you’ve considered keybase?
Actually, I have not. It’s been a while since I took a serious look at it since their initial release in 2017. I might give it a shot again.
Given this point about Signal (btw there is a typo in “centralzied”) Keybase is actually worse than Signal (no federation but also closed-source server):
Oh great, now I know to stay away from it then. And thanks, fixed the typo.
Yeah, to be honest I did a messaging apps review with my friend 2 years ago and most of them were either not fully open-source or barely usable. We did end up using XMPP (with Conversations.im and Dino.im) but this is only due to the fact that we’re all using Android and Linux (including our families) so the experience is fine.
Do you host your own XMPP server? Dino looks awesome by the way, TIL about it.
Yeah I do on a small VPS, it’s not a big chore once you set it up (I’ve seen people using Raspberry Pis for that). My friend pays for a Conversations.im accounts for their family though.
In case you’d be selecting/setting up a server do check out Compliance Tester. It’s like an SSLabs test but for modern XMPP.
Good info, thanks.
Did you compare the amount of traffic the messengers use?
E.g., how much bytes on the wire will “hello word” via Jabber/Telegram/Signal result in?
Look out for “you get what you measure”. If you ranked messengers by that something using non-encrypted, binary protocol (MQTT?) would clearly win.
As for the answer: nope, we did not compare traffic, but we did compare battery usage and there was no noticeable difference. If one uses the app often it takes more energy if it’s in background the battery depletion is not significant.
The author appears to be using Rizon. Without going into their infrastructure and why I personally believe it’s trustworthy, you still do have intermediaries between your messages (at least one server if you’re both on the same server, likely more since Rizon makes it hard to connect to a specific server as a DDoS countermeasure). I’d therefore recommend using an OTR plugin for your client of choice if this is a pressing concern; irssi ships one natively since 1.2.0 (released 2019-02-11), but it’s only usable for 1:1 via query (which the author has discarded as an option).
I see they’re using
+i
for protecting the channel against outside access (and presumably+I
invite exceptions to not have to use ChanServ invites every time, especially since a vHost can be used to signal identification wtih NickServ).+k
is probably just overkill in that case. As an added precaution, consider the ChanServSET RESTRICTED
option that will auto-kickban anyone without an entry in the access list.I’m surprised to see
+S
missing; if you’re privacy-conscious enough to put Signal at the top of your evaluated messaging applications, you probably want to make sure you don’t leak information via non-TLS connections.It so happens that I’m fairly familiar with Rizon’s stack and how their IRCd/services work, so feel free to hit me up on Rizon.
Thanks, I’ll check this out.
That’s awesome, I’m always on
#rice
and#homescreen
, come say hi!Zulip? https://github.com/zulip/zulip
Telegram really does have the best messenger UI/UX on any platform. It’s fast, has any feature you could need (fun ones AND useful ones), constantly has minor improvements that don’t seem like bloat or feature-creep, etc. If it had multi-device e2ee, I wouldn’t want to use anything else.
Why is matrix slow? Have you tried your own homeserver or are you using (the quite overloaded) matrix.org?
Yes, my experience is from matrix.org; hosting my own server for just two people to chat seems a bit silly, no? ;)
It depends. It can be used for so much more. There are other homeservers besides matrix.org that are free to join: https://www.hello-matrix.net/public_servers.php . And setting up your own one isn’t very hard: https://matrix.org/docs/guides/free-small-matrix-server
2 is a start, convert some friends :)
We’re ~10-20 people now on an instance that started with less than 5, it’s the reunion of people who all had left IRC ages ago, kickstarted by one of the 3 people left in an empty channel - so far it works perfectly for us and my main point (see above) is that Riot (the Android Matrix Client) doesn’t kill my battery and works pretty nicely.
Listed instant messaging apps have mobile applications and that makes it easier to use and receive notifications. Unfortunately, I’m not sure there is a good IRC protocol mobile application on iOS that can receive notifications and make it suitable for DMs.
I have a specific question about security/message integrity.
How good is (TLS-enabled) IRC in general and Rizon in particular in making sure that the text you write in a private channel are only seen and read by the other participants in that channel?
Edit I lack reading comprehension, a few of my questions have been answered in this comment by @xorhash in this thread.
Is this just for communication with fellow students or is it a prerequisite for taking the course?
Generally, when the course starts, the prof creates a group for everyone in their class for sharing assignments, class rescheduling notices etc. It’s completely unofficial, in the sense that the University has no rule that these groups must exist, but if I choose to leave WhatsApp now, I’ll miss out on a ton of information that’s shared, since they aren’t communicated anywhere else. It is assumed that everyone has WhatsApp.
So yes, you can say that it is a prerequisite of sorts.