top | item 36918655

IRC is the only viable chat protocol (2022)

338 points| CHB0403085482 | 2 years ago |koshka.love

428 comments

order
[+] ginko|2 years ago|reply
> The reliability and lack of bloat that are inherent to IRC ultimately also means that there are a number of fancy modern features that Discord has that IRC lacks, a big one being the inability to view backlogs of conversations that transpired while one was not connected to an IRC server. Although IRC does not itself provide this functionality, the extremely simple nature of IRC allows for a couple of lightweight options for reliably remaining on IRC around the clock and not missing out on a word that anyone says.

The article brushes over this, but IMO the lack of built-in backlog support is the main reason why IRC is essentially doomed. Logging isn't a "fancy" feature and telling people to just run an always-on logging service on top doesn't cut it.

Especially when there are open, federated chat protocols that don't have this problem.

[+] pmoriarty|2 years ago|reply
Discord has shitty logging and log-search capabilities.

Discord's logging is shitty because:

1 - The logs aren't yours, they're Discord's. If you get banned from the server, your server shuts down, or Discord bans you altogether your access to those logs is gone forever.

2 - Unlike the logs of some IRC channels, Discord's logs aren't available on the web anywhere, so they can't be indexed or searched outside of Discord.

3 - Paging through hours or days of Discord logs is so incredibly painful, because every few screenfuls or so Discord has to load the previous/next logs and that is super slow compared to paging through text logs offline. If you have a lot of logs to page through, this experience is absolutely atrocious.

4 - There's no easy way to export the logs to be processed with standard/powerful text manipulation tools, like text editors, sed, etc..

Discord's search is painful because:

1 - There's no regex search.

2 - No ability to search via web search engines, because the logs aren't available on any website (see above).

3 - No way to search through the logs of multiple servers at once.

I have IRC logs going back decades, from servers I haven't been on in decades, but they're all instantly searchable, and the text in them is easily manipulable.

My Discord logs are trapped in Discord and I'm forced to use Discord's pretty but otherwise horrible UI to search them.

No, the reason Discord is popular has nothing to do with logging, but everything to do with how easy it is to sign up, join, and get a server running. Inline images and not having to learn obscure IRC commands or figure out obtuse IRC clients are also huge plusses for your average user. Discord's client is also visually pleasing -- something that most IRC client developers still haven't figured out. Aesthetics matter to users, as Apple has proved.

But Discord is an information black hole where data goes to die.

[+] masklinn|2 years ago|reply
Beyond the backlog support, it's the addressing of the backlog.

Discord's search function is so bad it's essentially unusable so having the backlog is often useless, however the ability to "pin" a useful message or discussion by getting a link is very relevant.

Baseline IRC doesn't have message addressing, regardless of backlogging.

You need the "message-tags" extension (https://ircv3.net/specs/extensions/message-tags) and message-ids support (https://ircv3.net/specs/extensions/message-ids.html) for that to even be entertained, plus probably echo-message (https://ircv3.net/specs/extensions/echo-message). I've no idea how well those are supported in servers, to say nothing of clients (which would need a way to surface message ids, and possibly permalinks).

At that point, you probably also want the WIP chathistory extension (https://ircv3.net/specs/extensions/chathistory) which provides backlog support.

[+] zemo|2 years ago|reply
Not having a backlog is actually the thing I like about it. Discord (and Slack) have this thing where because there’s a backlog, people expect other people to have read everything. I prefer the experience where the assumption is that the people not in the room are assumed to have not seen a message. It makes it more unambiguously a synchronous experience, whereas Discord and Slack chat is pretty ambiguous as to whether it is synchronous or asynchronous.
[+] op00to|2 years ago|reply
Chat without history is such a waste. I used IRC recreationally back in the day, then at work for 10 years. What a total garbage communication format IRC is. People changing nicks to indicate being away was my biggest complaint.
[+] veave|2 years ago|reply
I like that IRC has no backlog support. When you join a channel it's like you actually joined a room. You don't know what they were talking about when you weren't there.
[+] Arch-TK|2 years ago|reply
There are good reasons to not have a backlog in a chat system.

For one it stops you from being lazy and not maintaining FAQs and documentation.

It also forces you to stop treating the chat as something you need to keep up to date with. At work I see people commonly scrolling back for pages and pages to find the last read marker and continue reading from there. This seems unhealthy to me.

I use a bouncer but I very rarely use the logs. For all the purposes for which I would use logs, there are normally bots in the channel which can compensate.

[+] WesolyKubeczek|2 years ago|reply
I somehow fail to see how you cannot implement an IRC server that does logging and offers search/download of them on the side.

That existing IRC implementations may be antiquated mammoth shit shouldn’t prevent anyone from building something new.

[+] Dalewyn|2 years ago|reply
>Logging isn't a "fancy" feature

If you're storing data, someone somewhere has to pay for housing it. One of the reasons IRC is lightweight is because a network and its constituent servers only facilitates exchanging data between users.

Consider how Discord is begging you and everyone to sign up for Nitro because they're housing and serving all of their data. Most IRC networks on the other hand operate perfectly fine off of donated volunteer time and hardware for tens of thousands or even hundreds of thousands of users.

No data to store means cheaper and easier logistics. IRC is just a simple bridge, whereas Discord is a Costco.

[+] jrm4|2 years ago|reply
Genuine question: Why isn't "run bot on top" a solution for this?

And for that matter, for "pretty much everything?"

Seems to me the simplicity of the bot is the biggest feature?

[+] eternityforest|2 years ago|reply
Tinkerers really don't seem to understand how much average people want stuff to just work.

It's almost like how math educators sometimes don't understand that we mostly don't have checkbooks to balance. Math is important, but that doesn't mean I have ever sat down with paper and made a budget by hand.

Everyone always talks about flexibility and modularity and control, but what people want is stuff you just install and it works and has all the features already there.

Maintaining even trivial software can be hard, and people are very good at using what they have even if it's not explicitly meant to do the use case, like the story where the old lady was annoyed at her family for not telling her about the knitting program, which was Excel, that she found and figured out herself.

[+] phoronixrly|2 years ago|reply
I prefer no built-in logging (which is and has been easily achieved with bots that loiter in the channel and store messages) in place of orders of magnitude more resources required to run the server. Looking at Matrix btw. XMPP does not have the resource issue, and has XEPs for message archives.
[+] ChainOfFools|2 years ago|reply
Maybe my memory has decayed a little too much on this, but I thought this is was a solved problem in IRC a long time ago, with the Op running one of the numerous journaling bots available at the time that posted logs to a web page associated with the channel. I realize that bolting on a web server is going outside the IRC protocol itself, but does that matter in context?
[+] johnea|2 years ago|reply
The "standard" config of a leet IRC user is an always on "bouncer", that's then connected to by the user's IRC client.

This provides a really reliable chat framework in a totally open-standards compliant way.

Of course, most people don't care. This is why the corps business model of profit via surveilance is so successful. So, to jump straight to Godwin's Law: this is the same lack of concern, and passive cooperation, that led to the rise of hitler...

[+] jokoon|2 years ago|reply
Logging chat is really really expensive in terms of hardware and CPU.

I don't really understand why people would need to log chat, it doesn't really make sense to me. Chat is meant to be ephemeral, short lived, and not leave trace. Chat is spontaneous.

If users want to leave a trace, they use a database or email.

Discord added threads and forums, and those should be logged, but not channels.

[+] tharne|2 years ago|reply
> Logging isn't a "fancy" feature and telling people to just run an always-on logging service on top doesn't cut it.

If you want a full conversation history then use something like email/listservs. IRC is for real-time chat. We already have a plethora of async options.

[+] zer8k|2 years ago|reply
I don’t understand the problem. No one really connects to IRC directly. You always go through a bouncer. Bouncers can log.

I understand if what you mean is it’s an extra step the technically challenged don’t want to do but the ability to do so has existed forever.

[+] pmarreck|2 years ago|reply
Retaining old IRC chat while I wasn't present was the original reason I learned how to use the "screen" command.

Of course, this was over 20+ years ago now.

I had an IRCCloud account for the same exact reason until freenode "blew up"

[+] hoyd|2 years ago|reply
To preserve logs, I would ssh into a screen on a server that was connected.
[+] hprotagonist|2 years ago|reply
let’s rebrand “mosh and a vps” as “irc nitro”, and then everyone will be happy.

(ripgrep is a very nice log searching tool, only top tier users will be told about it!)

[+] nathias|2 years ago|reply
thats why we need to go back to irc with eggdrops
[+] TylerE|2 years ago|reply
Reliability? IRC? Is this article a joke?
[+] donpark|2 years ago|reply
Importance of a feature depends largely on use-cases.

Chat is not just for business. Its use-case existed even before notion of business came to be.

[+] tester756|2 years ago|reply
Discord haters look, it is simple.

Until Discord appeared we had

Ventrilo, Mumble, TeamSpeak, Skype, etc, etc

I've been using those for like 10 years almost everyday

They had voice chat, some had viable text chat, etc, etc.

And then Discord appeared which had:

Voice Chat,

Good text chat (images, code snippets, emojis, reactions, etc)

Streaming Video (!!)

File share

Robust bot integration

Lack of security problem unlike the self-hosted alternatives have.

This one is important in gaming communities in e.g MMORPG games cuz there's nothing better than being DDoSd cuz you left team or because you talked to somebody on wrong TeamSpeak server 5 months ago :)

Push2Talk - this is also important, I dont understand how e.g Teams dont have this shit.

Imagine you're working on remote with kids in the background - having an ability to push button and talk is really useful! So you don't have constantly mute/unmute yourself! Gamers have been doing it for over 2 decades but with the parents in the background instead of kids

One account between all servers with ability to customize your identity

All of that in one solution. That won its market.

Provide something as innovative and robust as Discord and people may consider switching.

__________________

I know that IRC's simplicity may be beautiful for hacker's mind, but it doesn't solve my problems nor make my life easier, so I'm not going to use it over Discord.

[+] scarygliders|2 years ago|reply
I've been on IRC since the 90's and was an Op for Undernet #Linux & #Japan for many years, used to run an IRC server for a small IRC network back in my London days, and also ran a server for the same little network in my Japan days...

The article was excellent, however, it made no mention of Matrix.

Matrix, like IRC, is decentralised.

You can run your own homeserver - just like running an ircd.

Connecting to a Matrix homeserver with a suitable client - I use Element - you get all the equivalent benefits of IRC (chat) but with the additional Discord-like benefits of being able to post images in-chat, text formatting.

Another benefit is chat history (if configured for a room). Also, fully encrypted rooms. You can have voice and video rooms too.

What I'm trying to say, I suppose, is that I'm a full convert now to Matrix. It's better than Discord in that Discord is a walled garden, whereas Matrix - like IRC - is completely decentralised, and I highly recommend using Matrix over IRC these days.

[+] chromatin|2 years ago|reply
Many who have causally read about Matrix and looked into running a homeserver have run across the reference implementation Synapse, which is (IMO only, pls no flame) a bloated python monstrosity. This turned me off for years.

A second-gen (?) alternative written in Go called Dendrite is much lighter weight, but is lacking in some features last I looked.

A couple of years ago, I found Conduit (https://conduit.rs/) an ultra lightweight homeserver implementation written in Rust with an engaged and responsive community. I've been running this for 18-24 months now and use it for family communications, as well as small business and my group at my $DAYJOB. I highly recommend anyone who hasn't already to check out Conduit :)

[+] madeofpalk|2 years ago|reply
> Even if you have full-on Stockholm syndrome in regard to advertisers data-mining your life to sell you garbage, who knows where else your data could be going? Considering the horrific epidemic of sexual abuse being abetted and covered up in the workplace, is it really too difficult to imagine malicious actors at Discord (or any other technology company) illegitimately accessing the data of their business' users and using it for stalking or other nefarious purposes?

Maybe the author could write something based in fact, rather than their dogmatic authoritarian fan fiction?

IRC isn't viable for the pretty simple and obvious reason - it lacks features users expect. It's telling that things like Signal and Telegram have built IRC-like services (large chat rooms) not on top of IRC.

[+] __david__|2 years ago|reply
I don’t have anything against IRC, but to suggest it as an alternative to Discord shows such a fundamental lack of understanding of what Discord is good for that I’m kind of baffled. If you’re looking for self hosted alternatives then Matrix (especially with the latest video/voice chat rooms)is much closer to what Discord offers, but even that isn’t really a viable replacement for the core use case of Discord: voice chat while gaming + seamless video streaming of captured game footage with a UI so smooth that my 8 year old nephews figured it out on their own.
[+] MildRant|2 years ago|reply
> The fundamental fact that Discord users refuse to see is that the platform isn't run on magic dust and fairy incantations, but actual human beings. Using Discord is no different from having a group of strangers sitting in your room with you, noting down every word you say to your friends and everything you run on your computer, and doing the devil knows what with it.

Anyone making this argument doesn't understand why people use Discord. These articles about why Discord is bad crop up over time and they ALL miss the boat. If your argument is that "Discord isn't private" then you've already lost because no one who uses Discord cares about that and you've shown that you don't actually understand Discord.

[+] lbourdages|2 years ago|reply
My main issue about Discord is not what it is, but what it replaced. A lot of websites or forums have been replaced by Discord. It sucks, because it's fundamentally a messaging app, but people will use it for reasons where a website would male sense ("link is in my Discord").
[+] jowea|2 years ago|reply
Well, in fairness, I believe the guy that got caught posting classified docs in a small private discord server would appreciate privacy, even if I myself and a lot of people almost exclusively use public servers and would prefer if they were even less private so internet search would work.
[+] hengheng|2 years ago|reply
At its core, I agree that the bare-bones nature of IRC can be wonderful. But all of the modern services like Teams, Slack and Discord, have seamlessness between client devices as their first priority. People leave their laptop, go to the bathroom, get their phone out and go on typing.

I used IRC for a brief period even after we began to have multiple devices. It was always through some kind of proxy, or basically an ssh connection through GNU screen, just so that basic functionality like asynchronous messaging worked, and so that my setup would carry over. The whole protocol you would have to build around IRC to achieve client agnosticity would arguably be more complex than IRC itself. To a point where any of the big players could introduce IRC-style channels as a fun retro feature. I'd bet more money on that feature becoming popular than on an IRC resurgence.

[+] soldeace|2 years ago|reply
> Anyone who has ever used IRC knows that there is nothing even remotely complicated about using it, but the terminology and the steps required to use one are ostensibly terrifying enough to reliably keep the technically illiterate at bay.

This remark, topped with the author's piece on "normiefication", is the kind of intellectual elitism that reliably keeps me away from IRC whenever I think of coming back to it.

[+] the_gipsy|2 years ago|reply
Matrix is a very viable chat protocol: I have been using it now full-time for some months. I even bridged my whatsapp and telegram accounts so that I exclusively use the matrix clients on my phone and desktop without hiccups.

I find that I can use it both for IRL friend groups á la whatsapp, and for online "rooms" á la IRC/discord/slack (but with history, which IRC is lacking).

[+] jacooper|2 years ago|reply
How do you deal with the terrible element client? I use matrix, but I don't bridge my accounts because I can't trust element.
[+] doix|2 years ago|reply
My friends and I started a private IRC server when we were in university and still use it to this day (15ish years later). We also used to run a ventrilo server that quickly got replaced by mumble. I can't see us ever switching to discord.

IRC was always a pretty big part of my life, it's where I got into organized quake/cs1.6/Dota matches. I'm not as involved in hardcore gaming now, but I suspect that's all been replaced by discord and automated match-making in games.

I was also a great resource for learning about technical topics. Nowadays most open source communities point to discord/slack/gitter or something like that.

I really wish IRC would make a comeback. All these new networks force you to use their client to connect, and I hate the modern design trends. mIRC (on windows) and irssi(on Linux) got the UX/UI pretty much perfect in my book. Everything since then just adds more whitespace and distractions from the actual important content (the chat).

[+] b112|2 years ago|reply
Everything since then just adds more whitespace

I always felt that UX people are self-loathing, and thus, view their best work as... nothingness!

The more of nothing they add, the more space, the more emptiness, the more comfortable they are with their work!

The less of them, the better they did!

"Hi, I took this perfect thing, and added ... nothingness, and got paid for it!"

Perhaps, a little voice in my head whispers, the nothingness matches their soul!

[+] nmz|2 years ago|reply
~~irssi~~ weechat
[+] Y_Y|2 years ago|reply
I haven't used IRC in a long time, but I'd be open to it, especially if it gave that "old internet" feel that I haven't been able to get from the tildaverse.

I dream of having my company use IRC for chat, and I used to fake it by using Slack through the awesome Emacs modes, but now that we're on Teams all hope is dead.

[+] jokoon|2 years ago|reply
Discord Server moderators will create too many channels, which completely fragment conversations, and many channels have zero conversation. Users cannot "bookmark" channels to only follow one or two channels per server, they have to view a server and then select a channel. Discord should limit the amount of channel and force people to pay to have more channels.

Chatting "accelerates" conversations which considerably reduce their quality, which is cancelled by discord adding the "slow" mode. Online forums are slow which encourage people to make a better effort to write posts and answers.

The UX is not that simple. I have to say discord "forums" are a bit better, but it adds more complexity and there already are threads. It's a lot of noise. Should I write in chat or start a forum post? Discords makes several things at once which will often confuse the user. Discord is mixing chat and forums in a single confusing thing.

On top of this, discord is not federated, because communities are often redundant. For example if I just want to join a community to play a certain game, it's all spread across so many communities that those communities are just awful. Quantity over quality. You have some many battlefield or overwatch servers, it's pointless. Quakenet has one channel per game, and it worked well.

The single thing that IRC needs is a good frontend interface.

I just like minimal software. Discord bloated, and their carbon footprint must be quite high. Not to mention so few people use it for voice or visioconference.

[+] bhickey|2 years ago|reply
Why not matrix? Due to the creeping shitification of Discord my friends moved over to a self-hosted matrix server. It costs about $5/mo and does everything we need it to do.
[+] gorgoiler|2 years ago|reply
We span up a Synapse instance the other day and connected to it with Element on a few different laptops. (This is the Matrix server and client btw — they really need a marketing / branding person!)

It was both hellish and amazing. Hellish in that I had absolutely no idea how to use anything. Channels and rooms and stuff. All very complicated and weird. I just wanted a single, default place to hang out!

It was also amazing because it all worked beautifully all the way from text chit chat up to in channel video calls. Snappy and fast and reliable. Bliss. LDAP integration out of the box (or near enough out of the box) too. Lovely.

If it was just a little bit more seamless it would probably take over the world.

[+] NoboruWataya|2 years ago|reply
Discord vs IRC is just another extension of the "open, decentralised vs proprietary, centralised social media" debate. It baffles me that even people who are aware of, and opposed to, the ongoing enshittification of Twitter and Reddit would so happily choose Discord.

That said, I think privacy is a weak argument against Discord (or, rather, a weak argument for IRC). I have used IRC for many years and I never assumed that anything I put on there was private. Everything you post can be seen and trivially recorded by other users as well as the server operator.

To me it's more about not having your access to social media entirely at the whim of a corporation whose incentives are not aligned with yours and who, sooner or later, is going to come under significant pressure to monetise you. So I guess, in a word, control is the main advantage. This includes control over whether you can access the service, how you access it, what you can access and on what terms you can access it. IRC's simplicity is a definite plus in that regard.

And then you have the "average user", who ruthlessly selects for ease of use and cost and doesn't care about any of this stuff. I think that is a short-sighted position, but ultimately people will make their choice and the average user's preference for walled gardens built by VC-backed corporations is so strong I think it unlikely to be reversed by any amount of blogs or HN comments. I think these services (or their successors) will always continue to exist and will probably always be far more popular than the open alternatives, but it is still worth maintaining and promoting those alternatives, which can provide a sustainable platform for those of us who care about such things.

[+] wsdookadr|2 years ago|reply
I'd say IRC and Matrix are the only viable protocols.

The rest are just proprietary, centralized, corporate-owned.

Here's a short list of those: Teams, Zoom, Discord, Whatsapp, Telegram, Skype, Ring.

[+] Grom_PE|2 years ago|reply
No, I much prefer XMPP MUC to IRC.

- Doesn't expose your IP address by default

- No need to fiddle with automating responses to NickServ to log in

- No need to register with that specific chat server, can simply use your XMPP account for any server

- No annoying netsplits

- Supports multiline text messages

- Has avatar, away status, profile info support

- Can show about 20 last messages when you join a chat so you have some context of the conversation

- Nicknames can have spaces and Unicode

- Can transparently join from multiple devices under a single nickname, no need to kill a "ghost" from time to time after a lost connection

- Configurable with GUI instead of cryptic modes designated by a single character symbol that varies from server to server

[+] _xivi|2 years ago|reply
Not receiving a message unless you're online is really the deal breaker for most people
[+] sylware|2 years ago|reply
IRC is the perfect chat protocol for interoperabitily between Big Tech and small tech, ofc where it is reasonable. Namely, regulators should enforce the availability of an IRC bridge (with TLS where pertinent authentication is to be used).

Twitch has been providing a non-TLS and public IRC bridge.

Moreover, IRC chat can be extremely well extented, namely with bells and whistle features if the client supports them, and if not can be ignored and and then displays harmless garbage (you can encode A LOT in a short text string, and now with utf-8... you can encode MASSIVE load of things within a short text string).

From a noscript/basic (x)html, just need a irc:// URL and were good. We can even have pre-authencitated irc connection using a transient TCP port opening with IP[46] locking (ok... you will need a pool of IP[46]s for significantly sized services).

Ofc, the bad thing: most of the time the noscript/basic (x)html browser will fire up an irc client, then you get 2 windows. Or we could have an IRC client integrated into a noscript/basic (x)html browser which will open a "frame"/new tab, well... modularity, and this would still be cosmically less costly from a technical point of view than any Big Tech web engine.

It is like some _LEAN_ p2p protocols (streaming, live or not) directly integrated into noscript/basic (x)html browsers with good and honest default (that's the hard part, it will be abused, and if it is too much, won't actually work). Well, a "private" tracker would do the "trick". Still, it could fire up an external p2p-enabled media player (via <video> with the p2p URL with the private tracker and video hash, or the private tracker infos could be part of a dash file).

Ofc, you have to expect the worst from Big Tech: adamant lobbying against that, sabotage up to shadow-hire hacker teams, etc...

[+] kyrofa|2 years ago|reply
> The reliability and lack of bloat that are inherent to IRC [...]

First off, I love IRC and always will. But boy, the author sure must have a stable internet connection. In my experience one blip means a lost message with no indication that it's been lost. That is not my definition of reliable.