What struck me in particular from these numbers is the dislike of IRC versus the dislike of Matrix. Unfortunately, the data doesn't seem to differentiate between the people who use IRC regularly and those who don't for the question of whether they like IRC. The question I'm wondering; is it the people who use Matrix who dislike IRC or is it evenly split between those who use IRC or Matrix? (I have a suspicion, but that would be speculating without evidence.)
Reasonable people will disagree, but I think IRC's lack of features is actually an advantage and not a disadvantage. My opinion is that the Matrix protocol is too powerful. That being said, for a project like GNOME, it's extremely important that one maintains a form of communication that those engaged are willing to use.
I realise I'm an old fart for being extremely hesitant about Matrix and Discord, but fortunately, I am also not in charge of deciding any community's lines of communication.
I share some of your sensibilities regarding the lack of features being a possible advantage. But I don't think the Gnome Project is one that values minimalism in software design that much. And I think it's valid to for there to be projects that choose to sacrifice minimalism for other advantages. I think Gnome is one of those projects, so I think Matrix is a good fit for it.
In some aspects it does, for example a lot of Gnome apps have very minimal designs. That's ok for individual apps. The problem is, you can't really apply that to a chat tool that needs to be used by everyone in a large community. The problem space itself requires you to deal with a lot of complex and competing interests and make difficult compromises, so you can't always please the minimalists trying to run IRC bots off a ESP32.
For me, the single issue with IRC is that it doesn't fit well in a world where I communicate with multiple devices, each of which is only attached to the internet occasionally.
If there was (is there now?) a standard way of clients requesting all messages since they were last connected, that would solve my biggest problem.
AFAIK many people use a bouncer (e.g. ZNC) for connecting to IRC. ZNC at least supports individual backlog for multiple devices. So I think that is a fairly standard solution.
Multi-device with history is not built-in to the spec which makes it a non-starter for big rollout. IRC has had many years to adapt but it didn't so here we are.
Well, IRC 3 has been in development hell longer than Duke Nukem Forever was.
As someone who was essentially constantly on IRC back in the 90s to early 2000s, IRC is just significantly less usable "out of the box" than Discord or Matrix; either is significantly easier to teach someone to use, especially multiple-device.
The ship has sailed and I don't think IRC3 will ever get traction even if it ends up actually being good.
Just check the channel log. There's no reason to make this so complicated. We're not even talking about "normal users" these are people involved in the Gnome project. I'm sure they can figure out how to click a link in the channel topic.
I consider that a feature. If you are on IRC I know that you are in front of your "main" computer and can dedicate your attention to me, instead of being on the tube and typing with a shitty phone keyboard trying to pay attention so you don't miss your station.
There is a common way to solve this kind of setup, just run IRC client on a server within screen, and then log from these devices to the server and re-attach screen.
Lol, I mean. I get it but you could just be running a raspberry pi in your local network and connecting to that, screen just keeps the process running even if you detach from it etc..
Yeah, it's terrible what smart phones have done to computing. They're such incapable, weak computers with such bad networking and user interface that all software is being dumbed down and gimped to act as a crutch for their users.
Random round trip time combined with the energy storage limitations of the radio modem mean tcp back-off and inability to actually hold open a port (if they even have a routable ipv4!). But somehow that's everyone else's problem, not the smart phone's.
This is one of my bigger use cases for Matrix. Having a consistent UI with complete history for IRC is pretty great.
Although it also helps that Matrix being relatively close to Discord in terms of basic feature set made it possible for me to convince friends to use it as a Discord backup and for more private conversations. With IRC they would've probably shrugged it off as another "Linux nerd" thing.
>I think IRC's lack of features is actually an advantage and not a disadvantage.
It's an advantage in the sense that if you want those features, you get to implement them yourself in a very complex series of IRC bots and server plugins.
"How long does it take me to build an IRC bot" was my test for trying new languages for a long time.
You need to:
- open a TCP connection to a specific port and keep it open
- check for PING/PONG messages asynchronously and automatically
- parse a bunch of kinda-sorta RFC defined strings and parse them to a structure of some sort
- and if you want to be fancy, you can start storing all kinds of stuff what happens on channels and keep a in-memory state of everything and (try to) keep it in sync
- on a pro-level you need to be able to have multiple TCP connections open to multiple servers (different irc networks) and not mix up channel #hackernews on network A with #hackernews on network B
It still is, it reveals flaws in language ecosystems pretty quickly. Lisp was the fastest to fail, just because of the tedium required to open a TCP socket and keep it open =)
Telegram/Discord/Slack bots are a fun project too, but they're a lot easier because they are asynchronous by default.
> being extremely hesitant about Matrix and Discord
Matrix is an open source protocol run by a community interest company, Discord is proprietary software which needs to be monetised. There's a big difference between the two.
I agree Id be happy with IRC and dont care much for extra features. But I think the Freenode "hostile takeover" of 2021 dealt a heavy blow to the IRC community. At the same time Matrix has seen a lot of growth including Firefox who had a rigorous and public selection process.
> But I think the Freenode "hostile takeover" of 2021 dealt a heavy blow to the IRC community.
Perhaps.
It was a painful experience for many but I think what came from the ashes (libera.chat) is a yet better FOSS-centric IRC network and now it is on much more solid footing than what Lee burned to the ground. This resurgence was due to the hard work of very dedicated opers and the users all wanting to keep the good parts of freenode and fix the bad.
I just checked netsplit.de and libera.chat has around 45k current users. Less than freenode showed before the coup but also I think clear that this number is less inflated by zombie bouncer connections than it naturally was for any long running network. Point being that all the "real" users moved and largely picked up where they left off.
In any case, my feeling about the Gnome IRC vs matrix thing is that the game is not zero sum.
From my single IRC client (weechat) I connect to multiple IRC networks and a few matrix channels. In some cases I'm in several channels of the same topic across these connections. And, that doesn't really degrade the experience. I don't use Gnome any more so have no skin in this particular game, but I think "officially" moving to matrix (specifically) would not be damaging to the community (the same is not true for the proprietary options). Any Gnome IRC channels continue (assuming Gnome doesn't get pushy on that front!) and Gnome matrix will become yet another way for people to connect.
> Matrix is an open source protocol run by a community interest company, Discord is proprietary software which needs to be monetised. There's a big difference between the two.
When I lumped Matrix and Discord together, I was thinking of them as "modern instant messaging systems" (not sure whether this is generation 3 or 4). You are correct, there is a huge difference between the two, and given the choice, I would always chose Matrix over Discord.
On a user level, my resilience towards Matrix and Discord is generally motivated by the same reasons (powerful protocols compared to IRC), but thinking beyond merely that, Discord's proprietary nature makes it a non-starter for me.
I always find the term "community" to be a bit of a stretch here. I don't think I've ever seen anybody say "the telephone community" or "the e-mail community" (not to mention the socio-racial variations).
New tech tends to be adopted by something that could quite reasonably be called a community at first. As it's adopted by more and more people it becomes less so. So when email was new, talking about the email community probably would have made some sense, and I'd assume similar for telephones way back when.
It's financed by the same company that does telephone surveillance in the US and last time I checked self hosting was a major pain compared to running, say, a minimal python IRC server.
> My opinion is that the Matrix protocol is too powerful.
It's going to turn out like TheWeb(tm), where there are only one and a half clients to choose from and instead of a protocol with real standards you just get pseudocode documenting whatever the current version of the dominant client does.
IRC is an IETF standard. Matrix has gone the WHATWG route.
This is not entirely fair - there are loads of very functional independent Matrix client implementations today already (Element, FluffyChat, Nheko, Hydrogen, Fractal-next, Neochat etc), and a growing number of independent server impls too (Synapse, Dendrite, Conduit, Polyjuice…).
It’s true to compare Matrix with WHATWG though - we used the model of WHATWG’s pragmatism as a direct inspiration for Matrix as an implementation-first approach, where we’d then write an open governance spec (having proven it worked) as per https://spec.matrix.org and eventually merge it into an established standards body like W3C or IETF when stable.
> there are loads of very functional independent Matrix client implementations []today[]
There used to be loads of very functional independent web browsers too. There still are, if you count "only works with websites that haven't been up^Wworsegraded in the past decade and a half" as "functional".
I love the simplicity of IRC, and I'd use it every day if I found a community. The only places that I can find that are active are programming related (I am not a programmer) or piracy related.
Matrix, meanwhile, is complex in some places and simple in others all in the wrong ways. For all of its features, all major clients still lack the capability for video previews from links, something that has been a feature in forums for as long as I can remember now.
I find it hard to believe that not showing video previews from links is a breaking issue for a lot of users. But I get your point that Matrix is kind of complex in some ways. Federation surely doesn't help to combat complexity.
By no means is it a breaking issue, but it's one of quite a few issues which make it very difficult, at least in my experience, to convince anyone from services that do have them (typically Discord) to use it.
It's hard to speak in earnest about the benefits of Matrix when you know the people you're talking to will immediately view it as a downgrade, and from the user's perspective in many ways won't even be wrong.
I don't hate IRC but its simplicity is not an advantage in the modern world. And you just end up building around that weakness with powerful editors and tools.
IRC is so far behind it almost seems unusable these days. My primary use for communication apps is IMs on my phone with embedded media, and voice chat also often on my phone.
Gone are the days where people left a desktop running 24/7 to run irc and a torrent client. And sat at a desk to chat.
> Reasonable people will disagree, but I think IRC's lack of features is actually an advantage and not a disadvantage.
Everybody always cries "IRC is minimal and good!"
Except ...
You have to start installing a whole bunch of extra crap to make IRC useful. Want to be offline? You need a bouncer. Want to search? Well, you need to record things. And why is it that every IRC channel seems to have a custom bot to do a bunch of things and they all have different syntax?
Sorry, as an occasional user of IRC, I found IRC to be lousy. How do I get a nick on your node? Which node? Which port? Okay, great, I finally got onto the node. Now, which room? Oh, okay, and finally I can ask my question. "That's in the FAQ. Download it." Erm, I thought I checked the FAQ elsewhere, but maybe not. What cryptic command downloads the FAQ and then displays it on my computer? Ah, finally. Oh, guess what, my question ISN'T in the FAQ ... whoops, I bumped into one of the know-it-all jerkbags of the channel. Okay, mark that nick to be ignored and ask again. etc.
I'm happy that Matrix bridges to IRC--that is good. I'm also happy that I don't have to use IRC directly.
While open source under Apache, Zulip is still centralized and single-server. It can make sense for internal communication e.g. in a company but for a public open source project like Gnome, a federated protocol like Matrix makes a lot more sense. Namely, outsiders can join the chat without registering accounts to a server used by the Gnome project. It absolves them of having to take or outsource responsibility for the security of everyone joining in.
I find it quite reasonable to pick IRC and Matrix as the two contenders. If there would have been a third, XMPP.
It's readable now. Thank you for addressing the issue!
Also I feel like mobile view would be in usable state if one could just collapse that side panel on left side. But desktop view is quite functional for now.
While it's a feature that could use some work in implementation, it's orthogonal to the Matrix protocol. There is (and should be IMO) no notion of this in Matrix as such, while great support in implementations can be desirable (and is underway).
The question would actually be why XMPP multi user conferences (MUC) are not in the running. Regular XMPP is one on one.
XMPP has archives and carbons now and in theory they work with MUCs. Dunno about the practice.
A recent article suggested that the ability to edit and delete old messages is essential. Pretty sure a MUC would not let you do that. I am personally not all that concerned about this particular feature.
It's understandable that the Gnome Foundation would want to leave IRC. It goes against the Gnome ethos they've been pushing since 2014: simpler, heavier, fewer choices. It's not like any user input on Gnome IRC over the last decade did anything to save gtk anyway. gtkfilechooserwidget.c in both gtk3 and 4 is unsalvagable and they'd much rather work on high DPI screen support for mobile and other non-computer devices. Gotta follow what Apple does.
As smart as the tech is, the smartest thing Matrix ever did was investing in solid bridging. Backwards compatibility is the best way to transition to something new, particularly if it's only incrementally better. Which is why large companies will always kill open APIs sooner or later. It's just too big of a vulnerability.
58 comments
[ 3.1 ms ] story [ 110 ms ] threadReasonable people will disagree, but I think IRC's lack of features is actually an advantage and not a disadvantage. My opinion is that the Matrix protocol is too powerful. That being said, for a project like GNOME, it's extremely important that one maintains a form of communication that those engaged are willing to use.
I realise I'm an old fart for being extremely hesitant about Matrix and Discord, but fortunately, I am also not in charge of deciding any community's lines of communication.
If there was (is there now?) a standard way of clients requesting all messages since they were last connected, that would solve my biggest problem.
As someone who was essentially constantly on IRC back in the 90s to early 2000s, IRC is just significantly less usable "out of the box" than Discord or Matrix; either is significantly easier to teach someone to use, especially multiple-device.
The ship has sailed and I don't think IRC3 will ever get traction even if it ends up actually being good.
Sysadmin's do lot more stuff y'know
Random round trip time combined with the energy storage limitations of the radio modem mean tcp back-off and inability to actually hold open a port (if they even have a routable ipv4!). But somehow that's everyone else's problem, not the smart phone's.
Although it also helps that Matrix being relatively close to Discord in terms of basic feature set made it possible for me to convince friends to use it as a Discord backup and for more private conversations. With IRC they would've probably shrugged it off as another "Linux nerd" thing.
It's an advantage in the sense that if you want those features, you get to implement them yourself in a very complex series of IRC bots and server plugins.
You need to:
Telegram/Discord/Slack bots are a fun project too, but they're a lot easier because they are asynchronous by default.
Matrix is an open source protocol run by a community interest company, Discord is proprietary software which needs to be monetised. There's a big difference between the two.
I agree Id be happy with IRC and dont care much for extra features. But I think the Freenode "hostile takeover" of 2021 dealt a heavy blow to the IRC community. At the same time Matrix has seen a lot of growth including Firefox who had a rigorous and public selection process.
Perhaps.
It was a painful experience for many but I think what came from the ashes (libera.chat) is a yet better FOSS-centric IRC network and now it is on much more solid footing than what Lee burned to the ground. This resurgence was due to the hard work of very dedicated opers and the users all wanting to keep the good parts of freenode and fix the bad.
I just checked netsplit.de and libera.chat has around 45k current users. Less than freenode showed before the coup but also I think clear that this number is less inflated by zombie bouncer connections than it naturally was for any long running network. Point being that all the "real" users moved and largely picked up where they left off.
In any case, my feeling about the Gnome IRC vs matrix thing is that the game is not zero sum.
From my single IRC client (weechat) I connect to multiple IRC networks and a few matrix channels. In some cases I'm in several channels of the same topic across these connections. And, that doesn't really degrade the experience. I don't use Gnome any more so have no skin in this particular game, but I think "officially" moving to matrix (specifically) would not be damaging to the community (the same is not true for the proprietary options). Any Gnome IRC channels continue (assuming Gnome doesn't get pushy on that front!) and Gnome matrix will become yet another way for people to connect.
If you see me on IRC, say "hi".
When I lumped Matrix and Discord together, I was thinking of them as "modern instant messaging systems" (not sure whether this is generation 3 or 4). You are correct, there is a huge difference between the two, and given the choice, I would always chose Matrix over Discord.
On a user level, my resilience towards Matrix and Discord is generally motivated by the same reasons (powerful protocols compared to IRC), but thinking beyond merely that, Discord's proprietary nature makes it a non-starter for me.
It's going to turn out like TheWeb(tm), where there are only one and a half clients to choose from and instead of a protocol with real standards you just get pseudocode documenting whatever the current version of the dominant client does.
IRC is an IETF standard. Matrix has gone the WHATWG route.
v1?
v2?
v3?
v1?
v1.2?
v1.3?
What is the point of your comment?
It’s true to compare Matrix with WHATWG though - we used the model of WHATWG’s pragmatism as a direct inspiration for Matrix as an implementation-first approach, where we’d then write an open governance spec (having proven it worked) as per https://spec.matrix.org and eventually merge it into an established standards body like W3C or IETF when stable.
There used to be loads of very functional independent web browsers too. There still are, if you count "only works with websites that haven't been up^Wworsegraded in the past decade and a half" as "functional".
No, there's only one.
Matrix tries to confuse people by calling the important part of the client a "homeserver".
These are different hesitations! Please keep being old, someone has to keep us from straying too far.
Matrix, meanwhile, is complex in some places and simple in others all in the wrong ways. For all of its features, all major clients still lack the capability for video previews from links, something that has been a feature in forums for as long as I can remember now.
It's hard to speak in earnest about the benefits of Matrix when you know the people you're talking to will immediately view it as a downgrade, and from the user's perspective in many ways won't even be wrong.
Of the 20K issues on https://github.com/vector-im/element-web/issues i can only find one where someone (indirectly) asked for this: https://github.com/vector-im/element-web/issues/17072. And it has no upvotes at all, and simply isn’t on our radar.
If this is a showstopper for you, please upvote it. (It’d also be a fairly easy PR if anyone wanted to help out).
Gone are the days where people left a desktop running 24/7 to run irc and a torrent client. And sat at a desk to chat.
Everybody always cries "IRC is minimal and good!"
Except ...
You have to start installing a whole bunch of extra crap to make IRC useful. Want to be offline? You need a bouncer. Want to search? Well, you need to record things. And why is it that every IRC channel seems to have a custom bot to do a bunch of things and they all have different syntax?
Sorry, as an occasional user of IRC, I found IRC to be lousy. How do I get a nick on your node? Which node? Which port? Okay, great, I finally got onto the node. Now, which room? Oh, okay, and finally I can ask my question. "That's in the FAQ. Download it." Erm, I thought I checked the FAQ elsewhere, but maybe not. What cryptic command downloads the FAQ and then displays it on my computer? Ah, finally. Oh, guess what, my question ISN'T in the FAQ ... whoops, I bumped into one of the know-it-all jerkbags of the channel. Okay, mark that nick to be ignored and ask again. etc.
I'm happy that Matrix bridges to IRC--that is good. I'm also happy that I don't have to use IRC directly.
I find it quite reasonable to pick IRC and Matrix as the two contenders. If there would have been a third, XMPP.
AFAIK, Matrix currently only supports this properly via its Gitter network. It’s in progress as a core feature though.
Meanwhile we’re also applying the Gitter approach to the whole Matrix ecosystem: https://github.com/matrix-org/matrix-public-archive
It doesn't. That page has all sort of placeholder elements on it and Signup/Login buttons instead of what I assume would be a room view.
Try using incognito mode yourself.
It's far from perfect (e.g. doesn't support mobile web; very sluggish to load) but the feature is at least there in principle.
Also I feel like mobile view would be in usable state if one could just collapse that side panel on left side. But desktop view is quite functional for now.
XMPP has archives and carbons now and in theory they work with MUCs. Dunno about the practice.
A recent article suggested that the ability to edit and delete old messages is essential. Pretty sure a MUC would not let you do that. I am personally not all that concerned about this particular feature.