Hacker News new | past | comments | ask | show | jobs | submit login
IRC is the only viable chat protocol (2022) (koshka.love)
338 points by CHB0403085482 on July 29, 2023 | hide | past | favorite | 430 comments



> 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.


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.


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

I'm really saddened and angry that projects end up using Discord as their main forum interface.

Not everything is worth keeping around forever, but Discord is as closed a closed garden as can be.

That's great for private servers between friends, but it's contrary to the ethos of Open Source, as nothing is really in the open.

History is basically unsearchable and everyone lives in a perpetual present where topics need to be discussed over and over again instead of being easily available to newcomers. Once they disappear from the current page, they become really hard to reach.

And discord will happily close your account or prevent you from logging if your activity is deemed suspicious, i.e. if you're travelling and using VPNs, getting in can be a nightmare. The feeling of also being constantly watched, a step away from having your account blocked, is jarring.

I wish there was a good open source alternative that would also allow data to be easily made public and allowed users to just join and participate with whatever existing accounts they have (google, GitHub, any Fediverse account, etc).

Servers could be self-hosted or hosted for free or a minimal fee based on the server size, with some paying additional features (like flair, large audio rooms, automated backups, branding, more customization, etc).

But is discord too big to be taken on by an Open Source project?


Does the Matrix ecosystem fit this use case?https://github.com/matrix-org

One project I’m working on uses it instead of Slack and the Element client specifically is pretty good and constantly adding new features


Why not PHPBB? Not discourse, the UI is still endless scrolling based and obnoxious.

Using chat as a forum is... Just not a great idea. It seems most remember a strong sense of community on forums. We talked about actual interests and learned things and it was great, and stuff didn't get buried or too disorganized , nor did it feel like any kind of time pressure thing where you had to be on at the right time... Why not just... Do that? It was amazing.



Let’s not suggest IRC logs are much better. Individual clients may be able to log but say you just join a project channel with years of discussion — you’d have literally nothing to start with.

Discord gives you a chance at searching old history with zero additional setup if the permissions allow.

For both IRC and Discord you’d need to run a bot to have truly open logs online.


I've just started adding logs to notifico (ex: https://n.tkte.ch/c/1/2023-07-28), which is very barebones. Don't get much time to work on it, but I'm working on implementing search in a cost-effective manner. If the ~3000 IRC channels that use Notifico opt-in to logging they'll get it for free permanently, and I'll be offering nightly dumps to an SFTP server of your choice to make sure there's no lock-in.

You're totally right that you need a bot to have open logs online, I'm just trying to point out that a huge number of open source projects (CPython, FreeBSD, Haiku, Quotebrowser, random NASA weather balloons, thousands of others) already use a common bot so it's not that hard of a problem. The bigger problem is political, in that most IRC network discourage logging, and many communities are outright hostile to it.

Notifico discards PRIVMSG's immediately and the rest of its logs after a couple of hours normally, but in its last decade of operating it's seen more than 2 billion messages to give you an idea of how much has to get indexed.

Also, writing your own bot for IRC is trivial, and has no TOS, complicated APIs, OAuth flows, or other barriers to entry. Can absolutely do the same for Discord but they've already been making changes to make it more difficult to log or export your data.


Thanks for hosting a service to help host the logs in a public manner.

As far as logs hosting though, this only works for as long as you're willing to host though. It seems unlikely that Discord will disappear overnight -- or if this was a risk, I'd assume they'd be acquired with a large userbase.

I've written IRC and Discord bots and don't think Discord bots aren't much more difficult. One of the best strengths of writing a Discord bot is that if your bot goes down, you can query and fetch lost history fairly easily. This isn't doable in IRC unless you put a bouncer in front of your bot or the server is set up to feed clients with history.


I've already run it for more than a decade, it's not going anywhere :) The project is also open-source, and the daily SFTP log exports can be imported into another instance. I hate lock-in.

Ultimately, it uses an irrelevant % of resources on a dedicated box used for other projects, so it's not a financial or even operational burden. One of my favorite things about IRC is that if all you want to do is a JOIN a channel and PRIVMSG some people, the same code I wrote a decade ago works fine today. The project went almost 6 years without requiring a single code change from me, other than accepting 3rd party feature PRs.

I may have missed something last time I looked at it, but Discord was making it harder to react to all messages and wanted to force you to only use slash commands. The whole discord.py saga - https://gist.github.com/Rapptz/4a2f62751b9600a31a0d3c7810028....


Is there a list of channels that notifico logs? Also your calendar widget links to dates with no logs.


Not yet! The logging functionality is an alpha with only a small number of participants.


Not to mention with netsplits a canonical history may not even exist.


In case anyone is not aware, you can download Discord logs.

https://github.com/Tyrrrz/DiscordChatExporter

But beware -- it can result in account termination!

https://support.discord.com/hc/en-us/articles/115002192352-A...


Isn't this like saying you can swallow hydrofluoric acid... once?


If you have permission, nobody has been suspended for using a dedicated discord bot (one where you must be an admin to invite to a server) to run this Discord Chat Exporter, at least based on the GitHub issues/discussions of that repo.


The problem isn’t no one has - it’s that the could be.

I can not possibly understand why anyone considers discord to be anything but a company with absolute control of a product.


I don't think anyone believe otherwise. People still choose it because the feature set it provides addresses their needs and makes online chat, voice, and live streaming to friends a wonderful experience.

For 99.9% of users, they don't need to worry about Discord terminating their account or their friends' account. If Discord somehow fumbles this by randomly suspending peoples' accounts for no reason whatsoever, and on such a wide scale that everyone will know a friend affected by this, they'll quickly lose marketshare.


People still use Google, despite numerous horror stories of unexplained account suspensions without any possibility to appeal.


Perhaps if you directly contacted support and said "hey I am using a log bot come and get me" but in no other circumstance is a reasonable fear. They have no way to track what you do with on message events once they have been delivered.


IRC is an information black hole where data that crosses the event horizon (scrolls off screen) will never return.

Sure, you can write your own logs, but does your business want you creating even more information to have to submit as evidence if you’re sued? What a nightmare.


The wording reminds me of something I'd expect to read from a marketing person hoping to avert losing customers to an open source protocol.


It’s just a bot to run on IRC to log away


That's also true of Discord though to be fair


Totally fair. The concept of bots though comes from somewhere. Irc I think.


...Don't do shit worth getting sued over?


I worked for a company who interviewed someone who turned out to be a habitual scammer.

He somehow managed to know enough technical information to get past a phone screen, and in the in-person interview claimed to be the second coming of Christ. When he didn't get hired, he sued for religious discrimination.

Fortunately, all communications with and about him were entirely professional and didn't include a reference to his claim, so (iirc) the case was tossed in short order.

That being said, you don't need to do anything to get sued- you just need to have something worth suing for.


Anyone can sue for anything, asking to not do things that create lawsuits is asking not to operate a business in the US.


Anything based on endless scrolling is already inherently shitful for meaningful persistent content. It makes anything into a black hole where information goes to die. But before that, it gives you a sense of anxiety because everything is moving around and you have no fixed reference points, and encourages random idle chatter....

As far as I'm concerned it is not a technology that should exist aside from realtime viewing of feeds, and things meant from random idle chatter.

People are using Discord like as if it's a forum and a wiki in one. Which isn't the worst thing, because it's better than nothing, but I think it would be better with an integrated real forum that auto-posts new topics in the chat.

If you have something you think is worthy of preserving, say it in a paginated forum where people can find it, if you have an ephemeral shitpost, say it in the chat. If you want to scroll through history of ephemeral shitposts and see what's happening, even that should have a calendar based pagination UI.

Old forums used to have shoutboxes. Proboards and phpbb and the like were basically already perfect.

If I was going to do a community platform, I'd just build a forum. The only thing I think I'd change is I'd make it so you could download archives, and I'd consider having a wikipedia style policy of everything being Creative Commons.


The thing that's driven me crazy about Discord since its launch is how bad its read position logging is compared to the service they copied (Slack). I don't know how you catch up on any conversation regularly, especially in a work environment.


I don't think any Discord server I'm in expects people to pay particular attention to the history of the server--the affordances are for chatting, not working. They've done some pivoting to add work-responsive features, but it's a WoW guild chat room at its heart.


They added threads recently (within the last 2 years), so your server can emphasise using threads when appropriate, but the channels are much more focused on IRC-style message chat, not thread-based siloed conversations.


Literally all of your concerns are 100% solved by adding a log bot to the channels you care about, both on IRC and Discord.

I’m beyond sick of the helplessness performative shtick around Discord. This is an ancient problem with obvious solutions. Do better.


You're right, this is a solved problem. On the other hand, mobile access on IRC not being unpleasant isn't and won't be, though, so the search for something better for users will continue.

(To their credit, IRCCloud tries. They are the best swing at it I've seen. They aren't Slack-good, let alone Discord-good. The search continues.)


You might check out The Lounge.

https://thelounge.chat


Thank you for linking this--this is cool! I'm not in a place where I want to run software to solve the problem of chat, but this looks like a really good One Of Those for those so inclined, and I'm going to keep it in my back pocket for the future.


IRC isn’t an app, it’s a protocol. If you don’t like IRC clients as they exist, write or fund one of your own.


I am well aware it isn't "an app". I was using IRC in about 1997 and stopped in about 2017 because other options that were better suited to my needs, and had the people I wanted to talk to, arose.

The second part of your response isn't helping you move towards the end state you want. If anything, it's going the other way. Product empathy isn't optional--ask yourself: why would I write or fund an IRC client when I have things that work for me already? Like, this is the Linux-on-the-desktop advocacy all over again. "Your thing doesn't work for me because of X [usually literally X on Linux, but you get the idea], but Y does." "Well, expend time or money to fix X!" Why? You're the one who likes X. You're advocating for it. Why would I fix the thing you like when the thing I use already works?

Take the sibling response to yours--I learned something new in seeing https://thelounge.chat, and while I don't want to run software to deal with chat, that was a cool thing to see. I learned something! I'll remember it later!

Contrast that to "do it yourself".


[flagged]


I did "solve the problem". I use Slack and Discord to talk to the cohorts who used to be on IRC.

Your behavior in this thread is really strange. Discord's a fine tool. So is Slack. I have nothing to fix, and my posts in this thread have been explaining why for me they're fit for purpose when IRC isn't. Why would I "do something about" a situation that isn't a problem for me?


Then why bring up IRC’s lack of a “pleasant” app? Just seems like a problem you can and should solve for yourself, but is otherwise wholly unrelated to the protocol.

One doesn’t complain about http because the mobile browser options aren’t to one’s liking.


You don't have to take responsibility for fixing something just because you criticized it.

Fixating on the term used is a tad disingenuous. I think most people reading hacker news understands that the IRC ecosystem is being referenced here - not the protocol itself. IRC has been around 30+ years and it still doesn't have any great clients.

If you wanted to build a featureful chat client IRC wouldn't even be a good choice because there is so many things missing from the spec.


Sorry but this passive voice over a completely open system is intolerable. Fix it yourself.

It annoys me.


Let's put it as simply as possible, because there's the genuine possibility that you don't understand, rather than are just being an acrimonious troll.

You wouldn't be Linux-on-the-desktopping as hard as you are if you didn't want people to use it. As such, if you, as an advocate of a thing, want other people to use it when the alternative is "continue using other things", then the least effective response is "fix it yourself".

I don't need to fix it. I have alternatives that already do what I want. If you want to hector people to use the thing you want them to do, then you had best come correct.


If you have everything you need, why did you complain?

And insults do you no good here. Would any of the hateful words you wrote above mean anything at all to you if I wrote them?


> If you have everything you need, why did you complain?

Because it’s a forum for discussing technology? Why critique anything with that logic. You must be trolling.


Either you have a concern, in which case you can and should do something about it, or you don’t and just commented for no reason.


> Passive voice over a completely open system

??

What does that even mean?


> Then why bring up IRC’s lack of a “pleasant” app?

Because...I was expressing why it isn't fit for purpose?

> One doesn’t complain about http because the mobile browser options aren’t to one’s liking.

If HTTP was functionally unusable in the application model provided by mobile operating systems, you bet people would complain! But HTTP is stateless. IRC isn't. As such, HTTP is not inherently incompatible with a quality mobile experience. IRC is.

And that's not incumbent upon me to fix it--I have no stake. I'm happy with the tools I have. That's incumbent upon people who want other people to use it to fix: the necessity of making something people want to use in order to get them to use it. You get that this is really basic human-interaction stuff, yeah?


You either have a problem or you don’t; since you complained, you do have a problem, and it absolutely is on you to fix.

The “basic human interaction” you are failing to understand here is that you’re refusing to accept your role in fixing your own issues. Nobody is obligated to help you, and it’s frankly insulting to presume someone else ought to do anything about your problem for you.

The open source community doesn’t owe you shit. Your entitled attitude is toxic.


I have participated in open-source communities for over a decade now. It is likely--not guaranteed, but pretty likely--that I have written more open-source code, both for money and not, than you have. And I am befuddled how you are so toweringly angry about something you're interpreting so directly backwards.

I am not saying that IRC has to change to suit me. I never said that. I am saying that IRC is unfit for my purposes. You, as somebody who is advocating for its use, are taking the latter and inferring the former when it was never implied. I don't care if IRC changes, because I have options that better suit me--the net result if nothing changes is that I continue to not use IRC.

And I'm fine with that! I'm not over here bemoaning it. There is no value to me unlocked by pulling up stakes from Slack and Discord and going to IRC that is being kept from me because of bad mobile experiences on IRC. My initial post, which has apparently spun you off to the moon for some reason, was pointing out that it remains unfit for my purposes, and that's why I don't use it. Nothing, and I mean literally, nothing else.

But you're the one pushing the thing.

If you (or other IRC advocates) want me to use it (for whatever reason, network effects usually chief among them), then perhaps you have a problem to solve pursuant to LOE and other needs and all that. That's not my problem, because I have a solution. Usage of your pursuant-to-network-effects protocol of choice is...your...problem. To borrow a phrase from elsewhere, you have product-market fit problems. And it's not other people's responsibility to make the thing you like fit them--they have other choices.

If you insist that don't care--well, to me that's also fine, but advocating for the use of something that is unfit-for-purpose and then having an extremely normal day of responses to mild feedback about why other people use alternatives instead is...I mean, if you want to talk about toxic, find a mirror. Your behavior in this thread is shameful.


None of this changes at all the objective fact that IRC is an open source protocol that you can either adopt in the form of writing a client that's to your satisfaction, or propose changes to the protocol sufficient to resolve your remaining issues with it.

Either you agree with this and recognize your complaints as moot, or you disagree with this and your complaints end up being recognized as incessant, entitled whining about a problem you want someone else to solve for you.

What's shameful is that you're more likely doing the latter than the former, and seem to think you're immune to this because you've worked on open source projects in the past. You're not.

I don't personally give a shit about if you use IRC or not, I just saw your comment and decided to point out the entitled attitude it seemed to present. I haven't used IRC in years.


Why is this getting downvoted?

The spirit of what's argued is right in line with the spirit of free protocols, open source software, and venture capital funding for new challenges.


Generally speaking, when somebody wants other people to adopt a practice, they make sure that practice is fit-for-purpose themselves rather than expecting the people to whom they advocate to stop using things that are fit for purpose, then adopt something unfit-for-purpose, and then fix it.

Your implication that lots of open source communities have historically not done that is absolutely true. But also it's why people don't want to talk to them much, too.


Among other things, there's no way to add a log bot to private messages.


[flagged]


Huh? Supposed to what?

I was just listing a way that Discord is worse than an IRC client, in a way that you can't solve with a log bot.

You're imagining whatever standard you think I'm setting.

Anyway, the main "other things" are needing direct moderator permission and button-pressing on every server you want to join your log bot to.


Discord isn’t worse than an IRC client because it doesn’t log private chats, it’s superior because it doesn’t log private chats.

And if you thing your “other things” are unique to Discord you’re kidding yourself.


> Discord isn’t worse than an IRC client because it doesn’t log private chats, it’s superior because it doesn’t log private chats.

I would say that having it stored indefinitely on third party servers, but not stored on my local computer, is the worst of both worlds.

> And if you thing your “other things” are unique to Discord you’re kidding yourself.

Some IRC channels may have the same policies around bots, but IRC doesn't force you to use a bot to have logs.


You have no clue how Discord stores private messages, and IRC absolutely forces you to use a bot to have logs.


Oh, are you trolling?

I mean maybe you thought I meant "third party to discord" when I actually meant "third party to the conversation".

But there's no way you actually think you need a bot to log an IRC channel.


No, you said third party and meant Discord, falsely presuming Discord stores the content of your private conversations in an accessible way, and in this context in a way that makes it… harder? To publish as documentation (you know, the original topic).

And since you’ve apparently never joined an IRC channel before, you don’t get any history of the channel at all, you only get the messages that are sent while you’re in there, and IRC servers don’t log every message to some file. If you knew how these servers worked you’d know how that wouldn’t work very well.


> falsely presuming Discord stores the content of your private conversations in an accessible way

What do you mean presuming? I can log in from anywhere and access them, and they're not encrypted with any key I'm the controller of.

> and in this context in a way that makes it… harder? To publish as documentation (you know, the original topic)

You can't add a bot to an existing direct chat. You can only make new group chats. So you can't export it with a bot. So bots can't solve everything.

> And since you’ve apparently never joined an IRC channel before, you don’t get any history of the channel at all, you only get the messages that are sent while you’re in there, and IRC servers don’t log every message to some file.

Sure? But I didn't say you got history on IRC.

Being a bot is neither necessary nor sufficient for getting every message. The real requirement is staying connected constantly, which is a completely separate issue.

> If you knew how these servers worked you’d know how that wouldn’t work very well.

It's not 1993 anymore, it would work fine. It's a good chunk of the IRCv3 efforts.


Private conversations are completely irrelevant to this discussion, so not sure why you keep bringing them up.

And you did say IRC logged without bots, which it doesn't. You were wrong.

And a bot would stay connected to get every message, regardless of the year, and no a "good chunk" of IRCv3 efforts aren't around server logging, that's hilariously incorrect and just shows you're randomly saying shit to try and be right.


> Private conversations are completely irrelevant to this discussion, so not sure why you keep bringing them up.

You said "Literally all of your concerns are 100% solved by adding a log bot to the channels you care about, both on IRC and Discord." to someone that was talking about Discord being bad at logging in general, which to me would include private conversations.

> And you did say IRC logged without bots, which it doesn't. You were wrong.

I said you can log it without bots. Every standalone client I have ever used did it by default.

A client can stay connected all the time. A bot may or may not stay connected all the time. You should not conflate the two.

On Discord you need a special bot account to log without breaking the ToS. On IRC you not only don't need a bot account, you can just connect your normal client and be done.

> and no a "good chunk" of IRCv3 efforts aren't around server logging, that's hilariously incorrect and just shows you're randomly saying shit to try and be right.

Specifically I was saying that in response to "you only get the messages that are sent while you’re in there".

https://ircv3.net/specs/extensions/chathistory

https://ircv3.net/specs/extensions/read-marker

I'd call this a good chunk. Every time I've seen someone list the features of IRCv3, servers buffering messages to send channel history to clients is one of the features they mention.


The client is the “bot” , which you know and are intentionally being obtuse.

And your links aren’t in any way suggesting the server logs messages, please try again.

But none of this is relevant to the original point that you can 100% obtain equal or better outcomes using Discord in all cases for conversation persistence. Complaining about Discord as a replacement to IRC is ignorant and pointless.


I'm not being obtuse.

The biggest problem with discord bots is that you need a completely different kind of account to have a bot, and even worse that account can't join servers normally. You're not allowed to run a logger on your own personal account.

Because of that, IRC gives better results in many scenarios. Discord is not equal or better in all cases. If I don't set up a special arrangement with the moderators or break the ToS, all my channel messages are vulnerable to being deleted forever on a moment's notice. And if I get locked out of my account I lose all past private messages.


Just because you don’t know how to write a Discord bot doesn’t mean it’s meaningfully difficult due to it requiring a different account type, in fact that makes it easier in many respects.

And in the case we’re discussing, you run the server and can freely allow whatever you want.

Discord is superior or equal to IRC in every meaningful way here.


> Just because you don’t know how to write a Discord bot doesn’t mean it’s meaningfully difficult due to it requiring a different account type, in fact that makes it easier in many respects.

The difficult part isn't writing it. It's getting in a situation to use it.

> And in the case we’re discussing, you run the server and can freely allow whatever you want.

You seem confused. The very first complaint in the big post you responded to with "Literally all of your concerns are 100% solved by adding a log bot to the channels you care about" was this:

"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."

It's not just about servers you're running. It's also any channel/message you join.


Sorry but you've completely lost the plot here. We're talking about using Discord vs using IRC as a means of capturing company documentation, and in this task Discord is superior in every meaningful way.

You could use a bot to push everything to a persistent, searchable location, and as a corporation this would be braindead easy. Obviously you wouldn't want to push private convos, so your continued reference to them isn't relevant at all, and your concerns about how "hard" it would be to add a bot to the server to do this is moot considering you control the server in question.

Why would you be banned from the server? Why would you ban yourself? Why would Discord ban you? Why and how would Discord banning you remove your ability to write a bot that pushes your content out to a storage place you control?

You keep trying to find a way to be right, but you keep stumbling.


> Sorry but you've completely lost the plot here. We're talking about using Discord vs using IRC as a means of capturing company documentation, and in this task Discord is superior in every meaningful way.

No, I just double checked all the way back to the start of this thread, that's not right.

People made very general complaints, and you said bots solve all their problems. You also said that Discord matches or beats IRC in all situations.

I agree that discord bots will solve that particular problem.


"All your problems" when in response to a specific list of problems means "all of the problems listed" not "literally every conceivable problem".

not when the channel shuts down, unless discord introduces the ability to do a complete download of all the channel's old discussions


Discord's search can't even find many specific words because it conflates them with other words and the results are flooded.

It's also very bad at URLs.

And sometimes it just breaks and loses results. If I remember right I even hit a situation where searching one word found a chat line, and another word found that same line, but both words didn't find it.


> Discord's client is also visually pleasing

Actually I find it ugly, but thats firmly in personal preference territory. A decenct client would be skinnable or css-able to meet users diverse aesthetics.


I recorded logs back in my IRC days but I never used them for anything or searched through them. That is a complete red herring. Nobody who uses IRC cares about persistent chat. What most people want is to see the last X hours of chat history while they were offline, so if they open their chat client they don't have to stare at an empty window, not the last X months.

Also you forgot to say that Discord had a high quality voice chat back when such a thing was nonexistent in the web and the various desktop clients like Skype were a crapshot or were obscure and required you to host your own server like Mumble.


I don't know if you ever used IRC to get help on technical issues, but I've done that a lot, and going back to figure out what the solution was to a particularly thorny technical problem that someone told me about years ago has been something I've done multiple times.


Yeah, let’s just spend 30 minutes grepping the IRC logs!


If you have the logs as text files, then there's literally nothing you could be doing better. Want to index them? Turn them into a database? Use fuzzy search? Grepping? Everything is possible.

Therefore I don't understand your sarcasm. What's the alternative? If you find Discord's search feature good, you could implement it on top of the text logs.


There are fancy gui's to search in text files even on linux.


Why would it take 30 minutes? Maybe in the worst case, but most of the time it would maybe take a couple minutes to find the right thing to search for. And grep is pretty fast.


And even if it _did_ take 30 minutes, that's _way_ better than blowing a day, week, or even more time rediscovering the information contained in the log.


s/minutes/seconds/, but... yes? Let's just grep the IRC logs?


try ripgrep. You're welcome


This perspective is internally consistent but reveals why IRC struggles without better logging support - the sort of person who is connected and savvy enough to keep logs does fine. Doesn't need them. The people who use IRC are comfortable with that lack.

But the people who use logs won't use IRC, and the people who often miss out on important conversations because they are only casual users will not have logs. Casual users outnumber dedicated users - the lack of good logging is a real problem for them.


I worked in a global team. When I got booted off VPN I would have my irc connection drop and I would miss critical conversations. IRC sucks for collaboration.


You could just use an IRC bouncer.

But, yeah, I understand this is beyond the capabilities of your typical user, and not something most users even know exists.

This is really a UI/UX deficiency of IRC, not a functional deficiency.


I couldn’t imagine joining a workplace only to be told that I had to maintain a service to participate in essential communication channels.


Exchange servers anyone?


If my workplace made every employee run an Exchange server rather than IT running one for everyone, I'd leave


So you're saying an IRC daemon for corporate use needs a competent administrator, which is true of most daemons in business situations.


I disagree that it's merely a UX deficiency, but I agree that it's not a protocol deficiency. Yes, indeed you could just use an IRC bouncer: the problem is that many users don't have easy access to such a bouncer. What IRC "needs" is a network of open bouncers that users can subscribe to.


So IRCCloud?


Could it just be a donkey image that spins up with the convenient bits in place?

I have a hard time imagining irc heads don’t have a solution dockerized


I had a bouncer (with push notifications!), but I was in the minority.


Context of the current or recent chat when joining a channel would be in irc


"Also you forgot to say that Discord had a high quality voice chat back when such a thing was nonexistent in the web"

Camfrog video chat has been around since the beginning '00s. You could put as many video feeds as you could fit on your screen, with 20-30FPS streams, and good sound quality. Granted, resolution was 352x288, but for seeing and talking, you don't really NEED much else.

Discord, meanwhile, can't keep a reliable WebRTC stream going.


I used Roger Wilco and Ventrilo until Mumble came out. I haven't given Discord a try because it's smothering, obsessive integration just rubs me the wrong way, like Teams.

Once every 5-10 years, I look through the logs I have that aren't on textfiles because the statute of limitations hasn't run out and relive a little of the history of how certain things came to be.

Those chats are an ethnography waiting to happen. You'll wish you had yours one day.


No, you definitely want the IRC log from when a vendor was helping you troubleshoot the frobnosticator with the wonky LED panel, because 10 years from now you'll still be using that same tired old frobnosticator and the LED panel is going to go wonky again.


It is not like hosting a mumble server was a difficult thing to do.

And some communities had it setup for you so it is not something that each user had to do.


>host your own server like Mumble.

Or use one of the public ones.


Urbit's current chat implementation solves a lot of these issues and there's a clear path to things like search getting way better since all your chat data is stored on your local urbit.


I think everything discord does is still outright better. I was an IRC yser for a long time and I still have a znc server out there running, but:

Everything is painful. Clients tend to be terrible and I cannot search at all in IRC, or I get weird integrations between znc and and the chat client.

All in all, i'd rather use discord than IRC, even with the downsides. I do prefer forums or the "was" reddit for information.


> Discord has shitty logging and log-search capabilities.

It's shitty, but if you just have to beat "non existant" that will often work.


I would put logging as a bottom tier feature for most chats. The characteristic of chats is in the moment and not some archival function. I am a heavy discord and telegram user but overall I would value the benefit of everything getting deleted after 72hours higher than the few times I actually search for something older than that.


My company uses chats as information stores. Not saying it’s the best idea, but you are an outlier with your preference.


Do employee’s store stuff in the “recycle bin”/“trash”? And get upset when IT empties it when the disc is full?

Yes this is a real thing.


Some days when I am mad at the world I would want to work the help desk at a place like this and just destroy people.


More like your company is in the minority; most orgs recognize the problem with that idea…


While this would be arguing an anecdote with an anecdote, I completely disagree "most orgs" have executed information management well.

A number of places use email as their effective information store. Good luck finding content once everyone in the relevant chains have departed.


I also agree most orgs don’t execute information management well. Knowing chat isn’t a good place for that doesn’t mean they know anything else!


It’s just a bit to save a history then to your favourite search


Good point

Free slacks lose their history in 90 days


"1 - The logs aren't yours, they're Discord's." is the absolute best selling point. you are at serious risk if you say anything a censor would deem bad if the logs were ever surfaced and your anonymity were compromised.

people in the west have a lot of freedom in this and don't really need to care at the moment, but imagine living in the CCP or Thailand and bad mouthing the supreme leader?


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.


"Discord's search function is so bad it's essentially unusable"

Discord's search function is 1,000x better than what's built into Windows 10 and 11. I've found pictures I posted from years ago in discord, Windows 10 can't even find half the files I downloaded and transferred to another drive the other day.


That is to say, Discord's search actually works. It may not work great, but it will find all posts containing the word "dog" when you search for it. The search in windows explorer, on reddit and on most forums will often fail to find an item even if you search for its exact name. Last I tried it, windows explorer couldn't find a file in the folder I was already viewing. It's impressive.


There we go, another perfect example: https://www.sainsburys.co.uk. Search for "walkers". Enjoy two pages of Walkers products randomly intermixed with other crisps. You'd like the "Walkers Baked" variety? Searching for that returns 2 results, instead of the expected 4+. Example missing result: https://www.sainsburys.co.uk/gol-ui/product/walkers-baked-se.... Now try searching for "Walkers Baked Ready", different UI (???), same two results, but this time what we're looking for is in the "suggested related products".

How do companies tolerate such obviously awful search experiences?


> I've found pictures I posted from years ago in discord, Windows 10 can't even find half the files I downloaded and transferred to another drive the other day.

That sounds like indexing settings, on your end, are not sufficient for your use cases. I suggest decreasing the interval between indexing on your machine.

If indexing is correctly setup in windows any/all files will be immediately searchable and indexed.


As another replay pointed out - Windows Search some times can't even see files in the very folder you're currently viewing, indexed or not.

FWIW I have DisableBackOff = 1 set so indexing happens faster than default.


Windows is the lowest bar to clear, isn't it?


Calling search unusable is hyperbole. I've used search on discord many times to find a discussion from the past.


In the past month I've had to use Discord search to find something important twice. Both times it took 20+ minutes and when I actually found the results I noticed that I typed things that ought to have given me the results but just didn't. In one other case I never actually found the correct message but found the URL I was looking for elsewhere and decided to try it out to see if it'd find the correct message. Pasting literally the exact URL did point to the correct message but no other combination of host, part of URL, etc. would.

While that's not technically unusable it's far beyond the level where I'll even try to find something in Discord unless it's very important.


Some people have higher expectations and needs than single word matching.


Discord does support other search features. It would be nice to have a wildcard search, for sure--but, in my experience, even on busy and large servers I very rarely can't narrow something down to what I was looking for with `from` and `in` along with not-just-single-keyword matching.

But also, it's chat, so I don't really care if on the once-per-month I use the search I have to think about it for a second, because all the other stuff is there and it's good.


It’s amazing someone just doesn’t connect an existing open source search to it

Oh wait they’re probably using nosql


They're using ScyllaDB, which is indeed a NoSQL database. https://www.youtube.com/watch?v=S2xmFOAUhsk

Their main consideration is latency, not search.


At least they're large enough that that makes somewhat sense.


Discord is pretty disjointed though as a first time experience


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.


IRC was bigger while I was growing up. But due to living with an internet connection that'd drop multiple times a day, I was never able to really use IRC because I'd ask a question and then get dropped. Getting dropped does not immediately log you out, the server has a timeout period. So when I'd get back in, I'd have to ask people to repeat whatever they said since the last timestamp I'd seen.

Not to mention some IRC channels are really high latency, you leave a message and someone else replies ten hours later. If you miss the reply because you were offline, you couldn't expect anyone to be around to repeat missed conversations back to you.

Due to this I've never really liked IRC, its not good for mobile devices or people who live with DSL or dial-up. Sure you can "just get an account on a bouncer" but that's pretty esoteric knowledge that I never encountered until after university.


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.


It is unnecessary, AWAY indicates status, however people prefer changing their nick. of course, on mobile era, AWAY is unnecessary given you have a good mobile irc client.


I like my sleep undisturbed.


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.


That's nice as an optional feature but as a baseline it just seems like sentimental skeumorphism/metaphorism.

Chat being real-time is certainly "approaching real life" much moreso than fully asynchronous email, but most people don't want either to be real life: chat still needs an element of asynchronicity to distinguish it as a technologically useful medium improving over actually walking into a real room.

To put it another way: if I'm in a real life room where being present for the full conversation is necessary, it's easy to excuse being late or going to the bathroom as unfortunate parts of life when people are repeating themselves. When there's simple technological solutions that can easily prevent me from missing anything important, and someone's telling me they don't want it because they like the inconvenience, that's harder to justify.


It's a very interesting topic. Feature will alter the sociological / human aspect of the tool. I could feel it on discord, you join a room like on IRC, you join a realm, a group with lots of idiosyncrasies.

When I join an IRC chat there's a lot less baggage.. it's just a label / topic, it's very freeing.

logging, message fixing, embedded replies .. all great but not important in the end. These things are blending professional complexity with normal human moments. Not the right optimization (if optimizations are required at all)


Having the ability to reply to a message would be incredibly useful in irc, which is being worked on: https://ircv3.net/specs/client-tags/reply.html


Everyone of these feature is entirely awesome, but when talking i actually find that it changes the nature of the convos.


Threading is handy though. Although keeping track of so many convos was half the fun of irc.


The system, probably by design but also to limit capacity requirements for the server, is ephemeral, everything only exists in the moment and once everyone leaves the channel it ceases to exist, once your connection breaks your nick ceases to exist. There is no storage at all.

You need the irc services to keep specified information (like ownership of channels and nicknames) and they probably could also collect logs, with some limitations in case of netsplits of course.


How about partial backlogs? Like say I could "subscribe" to certain keywords (upto a max limit if that's necessary, say 10) and the server will store all messages containing those words or my username.

If I need more context about those messages when I return, I can just ask those users (or a bot).


Having the days history could be useful.

Still maybe there could be a way to summarize those chats with some kind of a transforming generative text system that I hope exists one day.


Depends on the server. Many servers give you a reasonable amount of backlog before joining. A lot of regular users use something nice like Quassel or ZNC.


Good point, connecting to a client or bouncer right on the server resolves this.


Yes, but then you need a client/bouncer which costs some sort of resource, whether it being your own computer, VPS or paid service.

It's not trivial to setup a bouncer for the new guy who's just worked out how to connect to IRC.


Other chat services effectively prove this true of a solution for the client logging in.

I learned a lot about how far matrix has come along and seems to have solved many of the swipes and gripes against irc.


> It's not trivial to setup a bouncer for the new guy who's just worked out how to connect to IRC.

As I recall, newbies often figured out how to do this pretty quickly, even before the recent trend of IaaS and free tiers. Shell accounts with bouncers were a quite common offering back in the day.


It also was not uncommon to have Friends help show you how to use irc. Maybe even in person.


I fail to see the value of expending time to configure extra services for functionality that I could get by downloading a client to another service that might not be ideal, but works enough to not care about.


there's built in support for this https://www.unrealircd.org/docs/Channel_history


The IRC3 chathistory extension is less than 5 years old and still an unstable "work in progress" spec.

Absolutely fantastic that it was finally added but IRC is 34 years old, and this has been an essential feature of chat services for at least 20 of those years.

I'd love to see it's introduction now save IRC but given the seeming resistance to adding it, one wonders how long any other improvements will take.


How old is slack and discord?

Slack is just a modern irc interpretation. It literally started running on top of IRC.

Discord got popular because it was one of the only chats that kids could access and install in school. It wasn’t a serious tool.


> just a modern irc interpretation

This is the point isn't it. If IRC were fit for purpose, we wouldn't need "modern interpretations".


Is it? Could irc not modernize?

Matrix seems more than executing.

What if an interpretation veers wildly of course?

Slack is fine for many things but if I were to look during the pandemic, Teams our executed to meet people where and how they worked.

Slack is also often seen with and without context. Most people have someone pay for their slack for them to keep that precious searchable history. Non profit or free uses uses lost so much value from slack deleting their histories every 90 days unnecessarily.

Irc had bots to help.

Irc if you all me has inspired alternate experiences be it hashtags based, or a central feed like Twitter.


> Could irc not modernize?

This is the point and the problem. It could but it hasn't. People have been waiting for it to modernize for 20 or 30 years. It took almost 30 years to add a feature people were demanding 20 years ago.

Slack etc. are poor replacements, it's true. No-one is denying that. But for all their flaws it's not hard for them to be better in aggregate when IRC is as stagnant as it is. If IRC refuses to modernise (which it has, generally) these replacements will come, whether they're good or not. I'd really like if we had something good, however we get there. But waiting for IRC to get there has not been fruitful.


if IRC weren't fit for purpose, nobody would be using it


"Purpose" and "fitness" change over time, while IRC has not. And proportionally speaking, nobody is. Companies use Slack and Teams, while gamers, friend groups, and a nontrivial amount of open source projects use Discord.


That depends on your definition of purpose. If the purpose is to be niche tech, then yeah, sure, you're right.


The purpose has slided.

IRC was an instant/synchronous chat protocol. We had newsgroup/web forums for unsynychronous chat/dicussions.

The likes of slack, and later discord, had the idea of merging sync and unsync discussion to provide both.

In the end slack/discord/teams ended up being jack of all trades/master of none.

Yes the backlog is saved automatically but for most of them the search is slow and borderline unusable and it ends up being much more difficult to search for information than using google with the site:yourwebforum.example.org option.


in exactly the same way as how the post I responded to depends on your definition of purpose, a point it seems I illustrated successfully

as for your snide, obviously wrong comment at the end, it's not worth a substantial response


Sorry if it comes across as snide but I really do wish it were different, I do wish IRC were less niche. But when all of its defenders start their HN comments with "I", it's difficult to see IRC supporters ever looking beyond the needs of the niche they exist in as individuals.


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.


I worked on a global team and conversation happens 24/7. When my bouncer dropped, I would miss out on critical stuff.


If discord had a blip and stopped working for your global team then you would have a more catastrophic problem surely?

Regardless, what is your point? I never claimed that conversions can't happen when you are not online, just that you should design your conversations such that it doesn't matter if someone isn't online.

The problem you just described was caused not by IRC and its lack of backlog but by you and your team and your misuse of a backlog-less chat system.

Important announcements shouldn't be done on IRC. For that matter, neither should they be done on Teams, Slack, Discord, Matrix, XMPP, or Skype. Important announcements belong on a web page and a mailing list (both simultaneously) or alternatively on some other purpose built system which tracks who has seen an annoucement so that if important announcement is missed by a key player, someone is alerted and can reach out using an alternative method of communication.

But even if you insist on misusing a chat protocol like IRC for this, ask someone who was there for their logs? I don't understand how nobody on your global team was able to even just summarize what you missed.


IRC bots literally maintained a history for anyone to catchup.


That fair… but does that sound like a that called for a synchronous system?

It seems someone chose the wrong thing, then you needed a history feature to bridge the gap.


This is a good point.

Using chat as a source of truth is not a good idea

Over time it becomes more and more ridiculous to use it as your knowledge base.


Telling people to stop chatting is close to a nonstarter. You have to offer a better alternative.


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.


It's one of those things like "building an X server that isolates the graphics and events of untrusted clients from evert other client". It could be done, but people won't do it. They'll just whinge about its lack being inherent to the technology because there's more excitement in sweeping away the old tech and starting afresh than there is in building on what's there.


I can see that there’s no easy money in doing such a project, and that it’s quite a bit more than a few nights hobby project, so there are too many shits to give, but instead of whining about how technology is outdated, one can at least be frank about it.

I understand that a part of this whining is a desire to market one’s own proprietary silo which purports to solve these problems.


I think because many people would not want that. I think if some channels start this, people would flee.


This is a problem solvable with a newfangled thing called „server configuration”.


>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.


> 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.

As of around a year ago Discord claimed to be passing around 4 billion messages a day.

I don't know how their average message size compares to Slack, but I just took a look at an export of messages from my company's Slack server and our busiest day in six years was just over 1MB in uncompressed JSON format, around 1.4KB per message. Compressed it was around 104 bytes per message. If we assume that the average message size is similar and similar amounts of metadata are stored per message, that means we're talking about somewhere between 400GB and 5.6TB per day for the entirety of Discord.

That's a lot of space on an individual basis, but nothing for a global-scale service. Obviously that's just for text and not any uploaded files, inline previews, thumbnails, etc. but still the point remains. Archiving text is not really a hard problem to solve. It's tiny by modern standards.


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?


The average user cannot be expected to run an additional piece of software just to use chat.


The average user cna be expected to run quite a lot of things, actually; it’s just that the last decade of VC-funded services has trained them not to. Otherwise—AIM/ICQ/Pidgin, LAN game servers, Hamachi, DC++, a BitTorrent node ... Remember when Opera came with a web server? I doubt people have gotten so much stupider since then, even if computers have become much more complex and mainstream consumer software essentially troubleshooting-proof.

(Now if it’s an extra-special piece of software just to use your extra-special chat, then they’ll tell you to take a hike, true. They’ve got to actually want to get to the dancing bunnies[1] first.)

[1] https://blog.codinghorror.com/the-dancing-bunnies-problem/


I think I'm reasonably tech savvy and at no time in my life I had a system I could trust to be 100% always-on. No way you could expect average users to run their own service just so they don't miss messages.

Anyways it feels silly to require always-on service when history could just be part of the protocol.


I don’t actually disagree about chat logs. (An argument could be made that no-logging IRC was a good thing when it allowed volunteers to run genuinely large networks on the relatively wimpy contemporary machines they had access to, but it’s solely of historical relevance.)

I just think that the general argument that users are only capable of running server software with as much uptime as they care for (in the “easy” < 90% range) is unfair to users. They’re not dumb, it’s us the programmers who have made them behave as though they are and gave them little choice in it.

All that aside, a say 95- to 99-percent-online machine is pretty handy to have when you can code, you should try it if you don’t have one. The best such machine is one you don’t use interactively—an old desktop in a closet, an RPi with a USB HDD, hell, that old Eee PC you have laying around gathering dust works pretty well and even comes with builtin battery backup. You don’t—and shouldn’t—need to have one, but it’s liberating to be able to go “oh I’ll just throw that into urlwatch and have it poke me on Telegram” without a second thought. Now excuse me while I pacman -Syu && reboot my webserver :)


"The average user" is literally never a useful metric here.

Federation and federation type ideas should be enough; let's get (back?) to a place like cars mostly used to be. You should theoretically be able to know a friend who can fix your car if you don't want to be a mechanic, and the same for "computer stuff."


Where do you host the bot? Not everyone has an always-on server.


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.


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.


You can look at Matrix, but it won't help you, since Matrix additionally has a DAG datastructure for decentralized chatrooms, which allows to recognize and deal with bad servers in an open federation.

Additionally, it's richer in features


I don't understand the Matrix hate. Matrix is the defacto successor to IRC and it is getting feature parity with Discord. IRC refuses to evolve and it will become irrelevant.


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?


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...


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.


It's very interesting how different people's definition of "chat" is. The comment above yours (at the time of reading this) says "Chat without history is such a waste", so the opposite of what you are saying.

I think when I was a teenager, I did a lot of chatting online in the sense you are talking about, and I didn't really care about the backlog. But nowadays, there's no room for "chat without log" because it's way too involved. I don't do synchronous chatting anymore at all, basically. After reading your comment, it seems like "chat" in general is just not for me anymore. Asynchronous messaging, however, still has a big part in my life.


> Logging chat is really really expensive in terms of hardware and CPU.

I don't know what expense you're imagining, but my IRC logs took almost zero CPU to acquire and they add up to well under a gigabyte per year before I apply transparent 4x compression.


> 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.


> the main reason why IRC is essentially doomed

chat history is critical even for realtime chat.


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.


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"


To preserve logs, I would ssh into a screen on a server that was connected.


It’s nice when simple solutions just work.


That sure is a simple solution! As a side effect, it filters out almost all of the people I actually want to talk to in my day-to-day life.

The inability for partisans of particular technologies to understand that affordances matter more than the technologist's spherical-cow notion of "better" continues apace. And I have some empathy for that viewpoint, too, but I grew out of it as a teenager and I always find it odd that others stuck to it.

If you can't meet people where they want to be, your solution might be simple but your solution isn't good for them and fulminating about it just isn't great.


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!)


Or be told about the channels that are not for beginners


this is just actually true; a certain amount of demonstrated non-idiocy is required to get the invite to the cloaked channels.


thats why we need to go back to irc with eggdrops


Reliability? IRC? Is this article a joke?


Not at all.

Server Up 1375 days, 10:05:01

*.XXX.net[xx.x.x.xx] 0 9696 10570 56550590

Its server to server link, online 56M secs. Now do the math, how much days this link is up (no netsplit).


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.


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.


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

This is a major issue. Back in the day TeamSpeak was the primary mode of communication for game servers of a certain kind. Every game server had an associated TS for offering support and many/most of the teams had their own. This was a disaster with people's IP addresses being leaked all over the place, if you joined a server and associated yourself with your in game name there was a high chance that you'd get DDoS'd offline at an important moment. Switching to discord makes this much less likely.


I love and use discord daily. I totally understand why it is "winning".

I just wished it used an open protocol, and allowed its content to be indexed. I dislike proprietary as a principal, and I get that discord isn't going to open it's secret sauce, but at least allow the discord moderators to click a box that will index text channels for search engines and future people trying to solve the problem that's pinned on you faq I. your discord channel without having to join your discord channel. (mostly for when that discord channel goes away in the future, lal that knowledge isn't completely lost"


I don't hate Discord, but I do hate that it's being used in contexts where a good old fashioned web forum would make more sense.


It’s also like Slack but very noisy.

I don’t get its appeal at all.


discord makes hosting a real-time online place for most communities of all sizes very easy. it also doubles as a free cross-platform messaging app with a massive userbase. as the top-level GP posted, it mostly has a superset of the features of other community/messaging platforms (at the cost of searchability and data ownership/privacy).

as a student, I'm in discord servers for friend groups, school clubs, unofficial classroom servers, game communities, fanbases, etc - anything that can benefit from conversations organized into different channels is usually turned into a discord server.

when I think "how can I take this group of people interested in the same thing to gather together online?", the alternatives that come up are:

- facebook (too linked to real life identity, also not really great for separating conversations into specific channels to my understanding) - reddit/forums (which can compliment a discord server in being more searchable/async, but in no way rival Discord's real time text/voice chat) - mumble/teamspeak/skype/matrix (largely just has a subset of discord features) - slack/microsoft teams (pretty much solely designated for work and not at all marketed as a general purpose communication solution)


I don’t know, I’ve tried joining some discord communities, and they were all like slack with trigger-happy channel creation, in each channel it was really hard to even grasp what the conversation was about because of emoji and meme flooding.

Maybe it’s me getting old, but while I remember quite vividly that IRC regulars liked to flood with emoticons just as much, in five minutes I’d know what the conversation was about. In discord… not so much. And there’s the whole voice layer I didn’t even touch. It’s too chaotic and demanding full immersion, so I just noped out of there.

(And there’s the whole aspect of Discord actually owning it all, and banning you discord-wide if you blow your nose funny.)

The idea of using discord as a medium for conversations you mean to log and refer to later seems like bollocks in the light of above. Also the idea of having work discussions there seems to be bollocks too and indistinguishable from Slack in 99% aspects imaginable.


But irc can’t


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

MS Teams does support this feature, though you have to activate it first: see

> https://answers.microsoft.com/en-us/msteams/forum/all/teams-... (concise answer)

> https://support.microsoft.com/en-us/office/muting-and-unmuti... (documentation)


> Until Discord appeared we had

> Ventrilo, Mumble, TeamSpeak, Skype, etc, etc

And now we have Discord, Ventrilo, Mumble, TeamSpeak, Skype, Slack, Teams, etc etc


And the 29 other chat apps on our phones because chat is too “complicated” to run with an interoperable protocol like xmpp for today



I get what you're saying, I like Discord, but I wish there was an ecosystem of custom (less bloaty) apps to connect to Discord with, like IRC had.


Except it will never exist for discord because discord is a proprietary communication service instead of an open protocol. At best it can provide an API, but that can be broken or shut down on a whim. This is why it's a much better use of time for developers to make things like Matrix clients match feature parity to discord rather than attempt to give discord the client diversity of Matrix/IRC.


Apparently Teams does have push-to-talk, although it's not switched on by default.

[ https://support.microsoft.com/en-us/office/muting-and-unmuti... ]


Unfortunately, this only works unless you have a textfield focused or something similar that "consumes" your keyboard input. At least in my experience, it's quite unreliable.


lol I bet this is a problem caused by UWP "security"

same way Wayland broke push to talk for ages in Linux desktops (incl. in Discord).


Surprising there isn’t a teams addon


Interesting, I do wonder whether this is configurable so you can use it on e.g mouse scroll button


Let's start with one account between all servers.

And one censoring authority.

Nope, not a good idea.


> Let's start with one account between all servers.

Go ahead and create 1 account per 1 server, nothing prevents you.

I've actually been doing it for some time - school (1 server) & private discord account (like 10 servers).

>And one censoring authority.

Sure, that's valid concern, I respect it.

For me it's a trade off.


Actually, if a previous account happened to have a phone number attached, and you're asked for one again when making a second account, then provide the same number, Discord will automatically ban both accounts with no way to appeal.

Which happened to me because I apparently had an old account I had forgotten about. So now I need a new phone number if I want to use Discord.


> Actually, if a previous account happened to have a phone number attached, and you're asked for one again when making a second account, then provide the same number, Discord will automatically ban both accounts with no way to appeal.

You left out that it just bans you on any servers that you're already banned on.

It doesn't deactivate/suspend your entire discord account for trying to reuse a phone number for servers that require verification.


Nope, it irrevocably banned both accounts from even being able to sign in.


I've heard of that, but I think the rule changed, Discord even includes an account switcher now.


Teenage style gossip mills on discord rumours is a great way to have a smashing chat experience


>Go ahead and create 1 account per 1 server, nothing prevents you.

Doesn't having to give up a phone number for each account (and you can't use the same number on different accounts) make it difficult? (unless you haven't had to, maybe my browser is suspicious, but it's just regular old Chromium). Would like to do this so that I can separate IRL/weak pseudonym (from random people in servers, obviously you can't be truly anonymous on Discord)


I think that depends largely - if not entirely - on the particular server? I'm on 14 servers and haven't given Discord my phone number - but there's one server I refused to join because my phone number would have been required, which is a hard nope from me.


> Go ahead and create 1 account per 1 server, nothing prevents you.

You think? I still have to use the official client to log on to all of them so they can just ban all if their AI thinks I'm a communist pedophile terrorist.


I have two Discord accounts. The desktop app supports this and lets you log into multiple accounts at once. So I doubt it's against TOS.


But if one does something that breaks ToS then both will be banned, no?


Yes, I think, because I used to run 2 accounts for a few years.

>I still have to use the official client to log on to all of them so they can just ban all if their AI thinks I'm a communist pedophile terrorist.

so... what? Your country can cause you a lot of harm too if they think you're pedophile terrorist.

That's edge case, not something that happens to 99.99% of the users.


A lot of countries tend to have some sort of due process, as opposed to a chat server's "AI".


I don't know where you live but in my country the best you can get is a tough bureaucracy process that most people can't afford that hardly can be called "due process"


I have so many discord accounts because they won't let you change your avatar based on the server.

Yeah there is a way to register accounts without phone number verification. I did it four times. The trick is that they block you if you do anything suspicious and any account created under this 'suspicious' state demands phone verification. I don't know how they identify you, but you must succeed with your first try. So your best bet is to find an email provider that is trusted by discord that does not need a phone number.


I think they added it pretty recently, but you can change your whole profile per server now if you have nitro

https://support.discord.com/hc/en-us/articles/4409388345495-...


Since you are a Push To Talk user, I'm honestly curious: how is it different from temporarily un-muting yourself? Like, how does it work better for you, or cause fewer problems, or something.

It's so popular in so many places that I assume I'm missing something obvious. I've always just hit a key to toggle mute though.


I mean, practically speaking it is just temporarily unmuting yourself. It's active while being held instead of toggling is the only major difference


That is what it seems like to me too.

Which is why I find it puzzling that it's so frequently a make-or-break feature, when everything I've used since early teamspeak days has had a keypress to toggle mute. (I have not used Teams)


I don't play multiplayer games, but I can totally see how push-to-talk would be essential for them. In an intense game with lots of keyboard work, people would be liable to accidentally leave the mic open, distracting teammates with keyboard sounds or whatever.

Push to talk also frees up your brain cycles from having to keep track of which mode you're in.


I do play multi-player games, and that is exactly my experience. Also, on occasion I've had to be connected to more than one VoIP system at the same time and having to track all the toggles would be a huge pain.


Would this imply you're using a globally available key to briefly talk, without having to see / switch to the voice app? I don't think I've seen or noticed that, if so, only "focus discord and hold a button to talk"... at which point I'm already looking at it there's nothing to track, personally.

If it's global though I can absolutely see why that's useful.


Yes, keybinds in gaming oriented VoIP apps can be global, you can press them from anywhere, or at least a select set of apps where an overlay is configured. This includes Discord (at least in the electron app).

As to why? It depends on the game, but Eve Online can get the most complicated. The most complex set up I can recall offhand, was when we were in cross coalition operations, where I had 2 mumbles and a teamspeak up where the teamspeak had 3 separate server tabs. It was my alliance mumble, my coalition mumble, other coalition teamspeak, my corp teamspeak, and half way through the operation we had to change the other coalition teamspeak servers to a backup because of what looked like a ddos. (In eve you have players who join a corporation, who join an alliance, who form a coalition. Coalitions are not internal to the game mechanics and often incorporate multiple timezone and language groups.)

As a side note, the open source mumble is popular because the corp/coalition/alliance IT services can easily configure it to work with external authorization systems, like the SSO provided in the Eve API or in [1]. For small orgs where security is less of a concern, you are probably better off with a discord server.

[1] https://gitlab.com/allianceauth/allianceauth


e.g

You're playing video game / sharing your IDE / whatever

with discord/ventrilo/whatever being in the background

you push e.g MOUSE3 (scroll) button - talk, and stop holding it.

And you were unmuted just for the moment of holding scroll button.


The way I remember discord is it’s the only chat app kids could generally install, access or use as in school chat.

Then it was the voice chat for any video game play.

Being a Swiss Army knife of chat can be handy to get users together from different chat platforms

How am I doing


> Voice Chat

Integrating a Jitsi bot into the channel solves this.

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

All possible with good old web linking. Link to an image host, a pastebin, or a file host of your choice. Many IRC clients support inline display of image/media URLs.

All major IRC clients and servers support UTF-8 as well, so emoji away.

> Streaming Video (!!)

Jitsi (with a bot) or web linking.

> File share

Web linking.

> Robust bot integration

Quite possibly one of the strongest arguments for IRC. The protocol is well-documented, and it's very easy to write an IRC bot.

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

Also lack of transparency. The self-hosted open alternatives are auditable and can be inspected. Nobody knows what Discord does with user data or what security issues exist.

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

Your (possibly self-hosted) Jitsi instance already has this.

> One account between all servers with ability to customize your identity

Until you get banned/blocked for some arbitrary reason, at which point you might as well start over, since everything is gone.

tl;dr: Web linking + some bot integration and client affordances solve all these. This is how the web is supposed to work.


So supplement IRC with a bunch of other services? Realising people didn't want to deal with this shit is why discord is so popular.

(Seriously, this response and others like it demonstrate that IRC will continue to remain a niche. I won't fault you if this kind of setup works for you but suggesting this kind of thing is acceptable for the average user is really, truly, genuinely out of touch. I'm among the demographic who can and has done this kind of thing, and I don't want to do it!)


> So supplement IRC with a bunch of other services? Realising people didn't want to deal with this shit is why discord is so popular.

Supplementing services with other interoperable services is how most of the internet works, and still remains a valid and successful approach.

An IRC client with some bells and & some plugins that expand web-linked media would offer most of Discord's feature set.

Discord is popular because of network effects, virality, and marketing. But that kind of popularity is ephemeral and will disappear when Discord inevitably falls victim to enshittification like its many predecessors: https://pomf2.lain.la/f/7sl51lqf.png - at that point, few will remember Discord, and none will be able to recreate it (owing to its closed nature), but IRC will be still around.


People always mention "marketing" as a reason for Discord's success, and I always wonder what they mean. It's a poster child of adoption through word-of-mouth, I don't know if they've engaged seriously with advertising. I'm serious, you have absolutely no clue what the average user values and how your suggestions don't meet that while discord does. Discord may go the way of the dodo due to enshittification but the successor will be another option that actually adresses most users needs, not IRC (which I'm sure will still be around: gopher's still around, people are still tinkering with 9600 baud modems and the like, a tech like that will never completely die but it's also delusional to expect that it's not mainstream just because the alternative has better marketing)


You seem to have completely missed tester756's point: Discord became popular because it bundled good-enough versions of all of those features with no extra hassle. No one has to keep track of which client you're using in order to decide which features you can interact with, no one has to spin up a new server for voice chat or anything else—it's handled for you automatically.

You might be comfortable stringing together a bunch of plugins for IRC in order to get the same functionality, but the average Discord user never will be.


so many conversation about discord/slack/$currentThing vs IRC end up repeating the "why Dropbox when you can rsync" meme


> Discord is popular because of network effects, virality, and marketing

I don't think you are even attempting to fairly represent Discord if this is what you actually believe


>An IRC client with some bells and & some plugins that expand web-linked media would offer most of Discord's feature set.

And yet, this hypothetical client does not exist. Discord does.


IRCCloud and The Lounge do it natively. Maybe KiwiIRC too.


>Also lack of transparency. The self-hosted open alternatives are auditable and can be inspected. Nobody knows what Discord does with user data or what security issues exist.

This doesnt solve (or doesnt even tries to solve) my issue AT ALL.

I'd rather have Discord have some user data that I'm consciously putting there instead of my enemies from the game DDoSing/Stalking me

I've played hardcore MMORPGs and this is serious concern.

>tl;dr: Web linking + some bot integration and client affordances solve all these. This is how the web is supposed to work.

sounds like: go put effort and decrease your UX.


> I'd rather have Discord some user data that I'm consciously putting there instead of my enemies from the game DDoSing/Stalking me

Security by obscurity is not a real solution. If you have a public IP connected to the internet, you will be subjected to attacks and port scans either way.

Configure your network and firewall correctly and ensure no ports are open instead of trusting the false sense of security given by some proprietary vendor who has your data.

> sounds like: go put effort and decrease your UX.

"UX" is subjective. For me, Discord has horrible UX, with its flashy, slow, obnoxious UI and its incessant cacophony of tips, "new feature" notifications, and advertisements for "Discord Nitro".

Putting in the one-time effort to configure an IRC client (and making it "fancy") seems worth it to me instead of having to continually put up with Discord's whims. At least there is no threat of enshittification with this approach. "IRC Nitro" will never be a real thing. With Discord, you can never be sure. Elon might just decide to buy it on a whim and rename it something like "XDickswords" if he feels like it.


>If you have a public IP connected to the internet, you will be subjected to attacks and port scans either way.

Yes, and somehow it magically happened this way that during decades of having access to internet we were being DDoSed only when targeted by ppl from the game that had access to our IPs from TeamSpeak/Ventrilo, right?

Because what incentives attacker would have to DDoS random IPs?

>Configure your network and firewall correctly and ensure no ports are open instead of trusting the false sense of security given by some proprietary vendor who has your data.

Again, put effort, time to manage firewalls and security solutions.

I'm not even sure if this would work this way.

They purchase $5 (or who knows how much nowadays) stressers and DDoS your IP, so even your ISP feels it and you lose internet access.

My friend's village had no internet access for X hours.

And all of that for actually what? solving issue which could be easily avoided?


You don't understand the threat model of OP: it's not a case of "general internet port scanner getting into my network" it's a case of "guy I've pissed off in this video game DDossing my residential internet connection or using that information to dox me". For the latter no level of security on my own network is going to prevent the bad outcome, but effectively having a proxy through a 3rd party does (and discord does go to extra lengths to avoid webRTC from leaking IP info)


The "threat model" of OP is the consequence of a wrong usage pattern. You keep your identities separate. If you're in a high-stakes environment where being DDoSed or attacked is an actual threat, you compartmentalize that identity adequately by going through a proxy, VPN, TOR, I2P, or using a different medium altogether. Fortunately, unlike other services, this is extremely easy with IRC since the identity is just a nick, and nothing prevents one from having as many identities as needed.

This obsession with having a single centralized identity where some vendor is trusted to painstakingly guard the linked PIID is misguided, unsafe, and harmful. Discord will fall prey to a data exfiltration attack eventually, and affected people will only then realize that this trust was misplaced. The fact that people are comfortable giving Discord their phone numbers while being worried about their client IP being exposed on IRC is baffling.


It's not a matter of one single identity. Whether you use one or multiple you have a real practical problem which does actually happen which is prevented by discord without the need for using a 3rd party tool or you have a selection of alternatives which don't. Giving discord your phone number (which theoretically could be a problem) is really not an issue by comparison (hint: while not exactly the paragon of virtue, discord in general is more trustworthy than a random user of it).


> a real practical problem

It's not a real practical problem – and I'm not sure why we're pretending that it is one. Let's clearly state what the problem is: OP wants to play MMOs & online games against potential threat actors who may DDoS and/or doxx them. Which is why they simultaneously also want to shield their identity from them. An analogy would be somebody who wants to play games with the neighbourhood meth gang while not wanting to get stabbed.

This is not safe or reasonable behaviour. Even if these people lack a client IP, a motivated attacker can piece your identity together from what you say and/or post eventually. Discord just makes that a bit more difficult at the cost of you handing over PIID of greater importance.


Every other player on a public game server is a potential threat actor of this nature, is the point.


Then don't talk to them on a public Mumble/Ventrilo/IRC server without adequate precautions.

Most MMOs & online games offer an in-game chat client that does appropriate cloaking & is also moderated (so an offender risks a ban if they engage in harassment). Nobody is forcing OP to invite these people onto his VoIP server.


Exactly.


You sound like the Dropbox guy. No one wants to jump 10 hoops for what’s considered a basic feature set nowadays.

Can you even write multi-line messages with IRC now?


Except Discord is not a forum replacement because there is no easily searchable and accessible history. As simple as that.


> Push to talk

Isn't that solveable on the OS level? I have a global mic mute toggle hotkey, this could be done on keydown/keyup too.


It being apart of the app is what makes it intuitive. Most people don't want to have to go through setting something like that up at the OS level.


> Ventrilo, Mumble, TeamSpeak, Skype, etc, etc

Looks to me that Discord went after those and not after IRC.


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.


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 :)


>bloated python monstrosity

>an ultra lightweight

370 crates in Cargo.lock

176 crates downloaded by cargo-tree


Not a surprise, Rust has attracted the Node.js crowd and they've brought their packaging philosophy with them, if not their love for reinventing the wheel every few weeks.


lightweight refers to resource utilization; it's disingenuous to pretend that has anything to do with compile-time dependencies.


To be fair this is a problem of the Rust web ecosystem. Include a few de-facto standard Rust web crates and you're up to 200 transitive dependencies


Thanks, will check it out. Last time I looked, dendrite, construct, and conduit were not ready, so synapse was the only option (which I used).

Look forward to trying out conduit.


Its still somewhat slow with loading existing chats but Matrix has serious potential. It is already doing much better than the fediverse in terms of discovering niche communities.


Matrix 2.0 will put an end to that trait plaguing the protocol's viability. With the new "sliding" sync, clients will be able to fetch stuff much more efficiently (and more akin to Discord's API, for example) than before. Syncing an freshly logged-in account takes seconds instead of minutes and syncing messages when returning to the app is instant. They presented this at FOSDEM this year: https://www.youtube.com/watch?v=eUPJ9zFV5IE


Agreed.

Some rooms have so many user and so much chat history, that my own puny homeserver struggles to join them. I've tried all sorts of tweaks - from tweaking the PostgreSQL service, to using things like noatime etc. on the ext4 filesystem. This has helped immensely, but some rooms, like the Python room on matrix.org, brings my homeserver to its knees :)

Perhaps in the future the Synapse devs will improve the code so that mammoth rooms don't bring more resource-starved homeservers down. Alternatively I could throw more resources at the homeserver, but for my use-case, the 6GB ram and 6 cores I assign to the VM running the Synapse instance and the PostgreSQL service - and the IRC bridge heheh - is the bare-minimum I can get away with.

On saying all that, I like Matrix more than I like IRC, nowadays, and more folks should IMO get on Matrix.

(p.s. custom emoji's would be lovely on Matrix ;) )


So somebody running a Matrix home server needs an excess of 6GB of RAM and 6 devoted cores? And you call that puny??


conduit runs on pi zero -- though you can't directly migrate so that is of limited use to you. It would probably fail to join matrixhq or python room but, this is due to obvious resource constraints. Any reasonable horsepower and you won't have an issue.


The slow loading and tracking of who has read what are the two biggest gripes I have about the protocol.

If I'm joining a huge channel with thousands of people I _really_ don't care whether astroboy8756 has read my message or not. I don't want that traffic to enter my client at all.


Same thought – I was surprised to see no mention of Matrix or XMPP.


XMPP is a monstrosity, just let it die… The X is why it failed, depending on the client used by participants, some features wouldn’t work as expected. I remember someone shitting me because the messages I sent were ugly in his client, maybe because of a bad font on one side or the other or something, don’t know, don’t care.


This may sound true, until you realize that matrix is just as extensible, and it has the same problem with clients which don’t support the full set of features.

This is not the problem. I’d say that XMPP is just as alive as Matrix, except it’s not so hip anymore. It definitely feels faster with more mature clients.


Pretty sure the client feature parity problem is inherent to open ecosystems with many vendors with varying priorities and budgets. Just look at the web back when there were more browsers in the game, or email clients etc.


Absolutely. Which may be a lesser problem than a closed protocol.


Big miss


Do you have the same opinion on GitHub, a completely closed source Git frontend where 99% of OSS code lives?


In a way, I do.

Which is why I use self-hosted Gitlab ;)


> 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.


The only threat to message data on Discord is third party bots like mee6 who are gateway connected to tons of public, private, and "small friend-group" servers, vacuuming up every message data to some data lake for later use. This is why Discord pushed Application Commands[0], which only receive data from Discord when the application is initialized by the user, and made Message Contents a privileged intent[1] that requires identity verification if your bot is in 100 or more servers.

0: https://discord.com/developers/docs/interactions/application...

1: https://support-dev.discord.com/hc/en-us/articles/4404772028...


I don't think the idea of rogue Discord employees accessing uploaded images for nudes or searching logs for personal information is far fetched.

Consider that a Ring employee was doing exactly that, with customer security cameras, and the only reason they were caught is another employee reported them (and Ring has no idea how many other employees were doing the same thing). [1]

[1] https://news.ycombinator.com/item?id=36146062


If we have rogue Discord employees accessing all server logs to steal nudes, why is IRC not suspectible to the same problem?


Oh for sure, IRC has a similar problem (except there are no images hosted on IRC).

But if the analog for a "private" Discord server is a private IRC server then in one you're trusting all the employees and in the other you're trusting yourself (or whatever admin).

And there do exist IRC client plugins that allow for E2EE chat (but I've never met anyone who used them).

IRC certainly has plenty of problems and Discord is very convenient but I think assuming privacy is assured on Discord is a bad bet.


The lack of features, is a feature.


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.


I don't think these are the use cases that the article is against. There are plenty of text-only uses of Discord, see e.g.:

https://news.ycombinator.com/item?id=36746154

https://news.ycombinator.com/item?id=29712098


Yeah, I think there's just a disconnect in culture. Making IRC more viable towards those who like Discord etc. would fundamentally change and ruin it for many who like IRC. And vice versa. So IRC will never resurrect and be used by the masses again.


I think it never was used by masses... Maybe teens and even then I never found it particularly ergonomic.


Discord was definitely the school age crowd.

Voice chat before cell phones with unlimited meant calling your friends


> 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.


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").


That's on the things (vbulletin forums, etc) that Discord and Reddit have replaced for being so bad that people would prefer using Discord over them. It's hard to blame Discord for making a good product. As to users, a UX principle is that users aren't wrong, the UX is wrong. There's a reason people use Discord for these purposes, and you need to resolve that reason, not make punitive actions towards users.


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.


His friends passed the documents along to their friends, and they eventually got the attention of the New York Times. At that point tracing the documents back to him would probably have happened regardless of whether he used IRC or anything else.

Do you have any evidence that him using a centralized platform like Discord played a role in him getting caught?


Discord handing over his billing details certainly made it quicker at least https://www.forbes.com/sites/mattnovak/2023/04/14/fbi-used-d...


Every company will hand over your data if subpoenaed by a law enforcement agency in the country they operate in.


you don't need a company in the country you reside with your billing address on file to run an irc server though


The Buffalo shooter organized on a public Discord and unfortunately that had no effect in preventing him. But, this is getting back to my initial point, you are using Discord because you are hoping for private communication then you are using the wrong product.


Hypothetically speaking if instead of using Discord normally and using his real info for billing Discord only accepted Monero and was only accessible via Tor it would be harder to identify him.

But that's not really my point, just picking a random famous example of someone who would want Discord to be private.


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.


> But all of the modern services like Teams, Slack and Discord, have seamlessness between client devices as their first priority.

Can't speak for the others, but Teams is really hit-or-miss. Missed notifications, missed messages, out of order messages. Then it appears to be fixed for three months only to happen again. It mostly seems to happen on Android.

In general, you're right, multi-device appeared to have been solved for IM - at least MSN messenger and Skype had it - right around the time when the smart phone came around, but then, because somehow those messengers couldn't successfully move to phones, we had the same problem again in the mobile world: WhatsApp and the likes was bound to one device again. They added web access later, but that was more of a hack than true multi-device support.

The big problem the phone messaging apps solved was that their protocols didn't require a persistent connection. Theoretically, all the other protocols, MSN, ICQ, Skype, IRC could have been extended to support this too, but it's always faster to just build something new and be first to market.

If you want to use IRC today and have that modern multi-device experience, IMO the most decent solution is Quassel[1] (and Quasseldroid for Android). It's like a bouncer, but uses a custom protocol between the bouncer (quassel-core) and the GUI (quassel-client), so that it can perfectly sync state across all devices, and work with flaky connections on mobile. It obviously requires you to run the core on some server so it's accessible from everywhere, so nothing for "normies" as TFA calls them, but to me it's what makes IRC usable in the modern world. I wouldn't want to use irssi in a screen via ssh in termux on my phone.

The next best thing, if you're a Web 2.0 aficionado is probably The Lounge[2].

[1] https://quassel-irc.org/

[2] https://thelounge.chat/


What you describe is basically this: https://en.wikipedia.org/wiki/BNC_(software)

Also, tangentially related to your first point; I am personally exploring more ways to disconnect. Even if it’s just briefly, like not bringing my phone to the bathroom as you describe. I realize now that I hate being always connected. Vanilla irc sounds like a dream compared to the nightmare of constant connection.


> But all of the modern services like Teams, Slack and Discord, have seamlessness between client devices as their first priority.

First? Slack takes ages to sync lately (sometimes you have to explicitly refresh) and has a ... random ... idea of how to move unread counts around.

Discord never notifies me of direct messages from my daughter but always notifies me of announcements in a gaming discord i've explicitly muted to hell and back.


> 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.

On IRC, I leave my desktop (quasselclient), go to the bathroom, get out my phone and go on typing (quassel app) (*)

All functioning because I'm actually connected to Quassel.

(*) actually I would never do this.


> The whole protocol you would have to build around IRC to achieve client agnosticity would arguably be more complex than IRC itself.

You don't have to build a new protocol. The Ergo IRCd supports multiple clients connecting to the same account (and using the same nick) at the same time using the regular IRC protocol: https://github.com/ergochat/ergo/blob/master/docs/USERGUIDE....


> 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.


This person’s view is so insular and so self-centered that they truly seem to believe that IRC is not complicated. This is an excellent illustration of how important it is to stay grounded and connected to your real-world user base.


When the irreducible complexity of a problem is met with a simple implementation the complexity has to go somewhere else, usually the user.


This is a silly statement. The technology doesn't embody any 'elitism', back in the day there were many channels/networks with non-technical users. Back when Shoutcast was a thing, servers often had an associated IRC channel where people would make requests, or just talk music, just as one example. This also makes the "keep technically illiterate users away" statement silly, I've seen middle school age kids connect to IRC channels without any apparent difficulty.


I stopped being engaged when the author uses "normalcattle" in a unironic, disdainful tone. Then later on there's praise of RMS. I like the overall message, as a long time daily IRC user, but the contempt seeping from the whole article is a turn off.


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).


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.


I'm not sure why you don't trust Element. It's open source, so you could just look at the code yourself to determine whether you can trust it.

I personally use the nheko client since it is a native client and less bloat (in other words, no Electron stuff).


I didn't mean trust as in safety but as in reliability


In general it's not the smoothest but okay. Using bridges, for the mobile app the same applies: WhatsApp or Telegram are snappier but Element is still okay for me. Element web beats WhatsApp web, though. The Telegram desktop app is unbeaten, unless you want a TUI like me.

I don't have any problems with message delivery.


Same. Element is the single reason I dislike Matrix with a passion, and any other client is either another Electron monstrosity, or a crappy native app that's little more than a proof of concept.

Element is so bloated and slow, it's impossible not to feel Matrix is bloated and slow as well.


If you’re on macOS on Apple Silicon, try the Element X iOS app. Am hoping that we will end up with a proper native macOS port in the end, which should stop the Electron complaints dead.


I'm on Linux.


Element mobile isn't as smooth as WhatsApp/Telegram but it isn't terrible either.

If you don't trust then there a few alternative mobile clients and plenty of options on desktop. I use iamb which is modal TUI like vim.


From my experience it's very buggy, images don't show up, just black boxes, messages get stuck sending, mentions don't work in replies, and many other issues.


What trust issues are there with elements if someone is self hosting?


I didn't mean trust as in safety but as in reliability


Oh, ok.

Reliability as in uptime?


No the client is just too buggy


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).


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!


~~irssi~~ weechat


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.


I occasionally connect to IRC on an Apple SE over wifi using an original ethernet card and a raspberry pi. Fun project.


Which client do you use? Back in the day i first loved Homer and then ircle



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.


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.


What’s Discord done to make itself worse?


The username change seems like a harbinger.


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.


I'd probably switch to Discord before using Matrix as my primary way of communication. It's a clusterfuck held together by duct-tape and ADHS.

I try it every now and then and within a couple minutes, I manage to break something, that my Matrix-using friends just shrug off. As an example, just a few days ago I used the web client again and had a chat with a friend. Just for fun, he added a bazillion emoji reactions to one of my messages, and after that the client would always claim our conversation has unread messages, even after right-clicking and selecting "mark as read".

But my favorite is how they broke the IRC bridge about 3 months ago: It randomly drops messages from IRC -> Matrix. There's an issue[1] for this with pretty much no reaction from the devs. Like, nobody cares. So on one hand, the Matrix folks always stress how it's the best chat protocol on the planet because of all the bridges that connect it to everything, but then in reality those brides are unreliable and apparently only there to tick a box, working as well as Microsoft's POSIX layer for Windows NT in the 90s.

And apart from the complete lack of interest in getting this fixed, it also just boggles the mind how you can even break it in this way. IRC has a persistent connection and streams messages separated by CRLF. How do you end up parsing the protocol properly and then randomly ignore a received message?

In its current form, the bridge does more harm than good, as you can't always keep in mind during a conversation that the bridge might just have dropped a message again, leading to frustrating misunderstandings every now and then.

[1] https://github.com/matrix-org/libera-chat/issues/6


FWIW, someone identified the issue, and next Monday's update (https://matrix.org/blog/2023/07/postponing-libera-chat-depor...) may include a fix


Thanks for the hint. While they don't mention the issue in that post (and neither in the linked one regarding plumbing, where they say they regret libera's decision to request disabling portalling, like it came out of the blue), let's still hope it is fixed in this release.

Again, I find the communication from matrix' side absolutely pathetic. Yes I know, it's an open source project, I don't pay them, they don't owe me anything, but come on, wtf. I really wonder how many people have had weird miscommunication because of this and never became aware of it.


fwiw, i would be first to agree (as project lead for Matrix) that we (I) have fucked up the communication about libera irc bridging problems, and I am sorry for it.

the root cause is lack of bandwidth: the bridge is both written and run by one guy, alongside a tonne of other stuff which often takes priority given it revolves around trying to generate $ to fund matrix dev.

Around the beginning of the year, we had some nasty problems on the bridge (from memory, some delayed traffic, and a security bug). Libera started threatening to deportal us, so we rushed out a major feature (persistent IRC connections, so Matrix users don’t reconnect when the bridge restarts) to try to address the longest running series of issues and avoid Libera killing portals (ie stopping users bouncing via Matrix). Unfortunately, while this seemingly worked, it introduced the nightmare subtle traffic loss bug which the parent is complaining about, which we haven’t been able to repro outside of production. Meanwhile, rather than averting deportalling, the new problem reinforced the case, combined with false concerns about archive.matrix.org (https://matrix.org/blog/2023/07/what-happened-with-the-archi...).

This has caused a particularly unpleasant vicious negative feedback loop where we’ve had to split time fixing the reliability bug with: fixing plumbing, preparing deportalling, handling tonnes of community reqs about deportaling and the awkward UX of plumbing, dealing with the libera team, and dealing with a new brace of security issues which showed up thanks to newfound attention on the bridge.

Meanwhile it’s fair to say that we have badly failed to communicate about this with the wider IRC community, focusing on trying to fix bugs while talking to the libera team instead. This is clearly a huge screwup, and, again, I apologise for it (and for the bad job I’ve done on resourcing keeping the bridge running).

At this point, the our best hope is that we’ve fixed the root message loss bug, and that the bridge will go back to being lower maintenance again, and plumbing will prove usable in practice. However, we’re also in a catch 22 when the main use of the bridge (portalling, ie acting as a bouncer) is now gone, meaning fewer people will be able to use it and it’ll be even harder to justify spend time on it going forwards. If libera hoped that by turning off portals they would somehow make it easier for us to improve the bridge, they were wrong.

Our fallback position, if plumbing doesn’t work out, is to try to find a set of people who libera trust to run/maintain the bridge and hand it over to them - or alternatively give up and encourage the community to run their own personal bridges via matrix-appservice-irc or heisenbridge or even matterbridge, if empirically running a huge bridge to libera’s satisfaction is impossible.

If anyone has any other bright ideas, please let me know.

Finally: the reason we have run the bridge for the last 8 years is, perversely, to try to support IRC and let xkcd.com/1810 style users still participate in communities which have otherwise migrated to discord/slack/matrix and avoid community fragmentation. Right now the Libera Matrix bridge has around 10K IRC connections - around 25% of Libera’s total users. By knifing portaling, I’d guess this will drop 10x. So the whole thing ends up being an utterly depressing spiral of fail.


Appreciate the feedback, this gives much needed insight into the situation. I just wish something even half as informative could have ended up in that issue a couple weeks ago.


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.


I care about privacy and flexibility and the other things decentralization gets you, but I grew up with instant messengers (Yahoo, WLM, now Discord, which is the closest thing to WLM in feature completeness yet still not at parity since it's a thin client where every feature rent seeks). Not only could I barely figure out how to use IRC last time I tried, but it doesn't have things I've come to expect, like avatars, emoticons, file transfer with embedded previews, etc. D: That shit's in the Stone Age!

I'm excited by projects like Element, which is Matrix protocol-powered Discord but open source, but, aside from network performance and feature parity, network effects rule social tech. You're doomed to use Discord if nobody uses Element.


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.


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


Not receiving a message unless you're online is really the deal breaker for most people



That's a feature in many people's eyes


Define many.


Most IRC networks have a MemoServ, so that's not an issue.


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...


> 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.


IRC uses persistent TCP connections as a transport. You can't lose a message in the middle of a stream without the whole connection being closed, and your client would tell you about that.


> You can't lose a message in the middle of a stream without the whole connection being closed, and your client would tell you about that.

I don't know what to tell you other than "that doesn't mesh up with the reality of my experience" shrug. Even if they did tell me about a connection issue (which they often didn't), those messages are still gone with no indication that I missed anything ("hey your connection blipped" != "here are the messages you missed while you were gone").


Well, I don't know what to tell you other than "that doesn't mesh up with the reality of TCP".


What client do you use? I can try looking for why it would hide it from you.


This was not a really issue... as long as you had access to a shell on a reliable server to screen+irssi (or tmux+weechat if you felt fancy).


Well sure, I used a bouncer like everyone else because of this issue (and for persistent presence since I dealt with people in different timezones), but that is a workaround for a protocol that isn't actually reliable, which is sort of my point.


Yes, I know :)

My comment was ironic, solution like that are not practicable for common users.

The rise of alternative chat platforms (discord, matrix, slack) really demonstrates IRC was too limited.

I will remember it foundly but the era where IRC was the dominent open channel chat platform is at its end.

I just hope Discord will not be it's long term replacement.


IRC is great! I access through the excellent biboumi gateway, which offers bouncer-like functionality and let me choose between various clients. There are open instances available for everyone to use, although I couldn't give a list of them since I self-host. I like that it's very lightweight, making it a reasonable permacomputing approach to group chats.

I wouldn't go as far as saying it's the only viable chat protocol, if you follow the link below you'll guess what I have in mind saying that. (it starts with an X and ends with two Ps)

https://biboumi.louiz.org/


A lot of the original ircd/ircII devs and I are on Signal these days, we had a private channel on efnet for about 25 years. Open e2e with history is pretty compelling, and decent mobile clients on top. But we still love irc.


I dislike web chat for one reason, the overview is very limited.

So Matrix, with a bitlbee plugin or a text client, would be amazing imho.

I'm just so used to seeing many lines of text, and getting a good quick overview of what is going on that way. Sometimes I use /last in irssi, and very rarely I've searched through a channel's web archive. But mostly I just see whatever it is I need directl in the client. If it's a slow chat I see it the next day. It's not going anywhere.


I used to use PidGin for years. It has both IRC and XMPP. Thinking about using it again. I wonder also about the Freenode shenanigans in recent times and who was behind it. https://pidgin.im/posts/2021-06-irc-network-changes/


One thing I miss about IRC is the lack of a typing indicator.


Read receipts plus typing indicators... too much information!

It applies heavy pressure and behind that is the motive to monetise attention. Snapchat is the worst for this; it notifies your recipient once you start typing.


I always disable that feature in chat software whenever I am allowed to... (prevent it from sending information about me)


IRCv3 has it. I've tried it. It truly brings modern levels of irritation to this age-old protocol.


IRC had huge momentum like 5 years ago that just disappeared overnight. Freenode jumping the shark didn't help but I'm still surprised.

I loved the days where I'd be in a couple IRC rooms and a couple slack rooms all in the same IRC client. Slack killing IRC support still bums me out.


The one thing I dislike about matrix is how it has to use http. IRC is an escape from the web. The matrix api is simple enough to use a couple of curl commands for basic chat though.

A simple "everything is a json schema" protocol but over TCP/UDP would be cool.


discord is great, ideal maybe, except for the closed nature.

IRC as a protocol is extremely simple and that has value, and I feel that Discord's UI, search, built-in history, and finer-grained permissions (finer than anything IRC can do, anyway) are all plusses that IRC advocates should not discount.

other great features that Discord has which are discounted by IRC afficionados: replies. inline image and short video support. reactions. very high quality video streaming and voice chat (though IRC can be forgiven here given the time period in which it arose.)

these things almost all matter to modern day users. saying that no one needs them because you don't need them or want them is gatekeeping and is myopic and short-sighted.


Was IRC ever used privately and internally within the workplace? I'd like to know if anyone did. I only ever used it briefly with forum communities and some older OSS projects.

At work, it has only ever been Slack. Some older employees recall using Skype for Business.


It's funny, still actively working in the tech space I usually don't really feel my age, but topics like this remind me that I've been around a long time. At one point I think you would have found most large *ix-using organizations running internal IRC servers or even networks. When Slack first came out, it had a first-party IRC bridge, partly for this reason.

IRC is very much a first-generation distributed comm protocol, but by the time it was mature it had most of the capabilities of current systems, mostly provided by external services. As Jamie Zawinski once observed about email, team chat has a common set of functions that people will always want and any system used for that eventually implements all of them or is replaced; and if a system implements these functions better, it also replaces its predecessors. I mean, I'm old enough to have regularly used 'talk' at work, evolution is a good thing.


Absolutely. Most big tech companies had, at one point, or still have (Google's is alive and well - how do you talk to your coworkers over Google Meet to troubleshoot why Meet is down when Meet is down?) their own internal IRC server that the sysadmins setup because it was easy enough to stand one up and all the tech people were on IRC anyway, back in the day. IRC predates cloud and the virtual machine proliferation, nevermind Docker.


Yes in Swiss Bank/UBS with logging and other extensions to make it effectively one server across regions. - This was either sold to Microsoft as MindAlign


Yes we had a private irc server for work in the 2000s.


Ericsson had an internal IRC server a long time ago.


RH still has IRC, but it's rather deprecated.


US Army did. Not sure if they still do.


I am still perplexed that people accept the UX of Discord. It is just so horrible that I can not get myself to use it even if I am looking for a place to engage with communities. There are way too many channels which you cannot opt out of.


IRC has some advantages. You can use with without specialized software (and I have done many times when not having a IRC client), or you can write your own IRC client or use one of many. There may also be web interface if you want them.

Note that you can make IRC server which makes logs of channels and could provide a link to access the file in the MOTD or HELP file, if desired. It can also be done by clients and link in the TOPIC message, which is more common.

IRC is good for fast communication with short messages, but for slow communication with long form messages is also sometimes more useful and for that, NNTP would be better, I think.


I use Discord for my CTF team going back four years. Our lead will sometimes say “to prepare for the next one, search Discord…” which kind of works. There are some software that uses Discord for tech support. Since Discord isn’t indexable by Google, all of that information is then locked up in Discord’s “knowledge base” forever.

This is more against the migration of these “knowledge base” services to Discord chat than a knock against Discord itself.


I like that Prosody MUCs default to just giving you the last 20 messages–enough to give you context of the current topic. Shipping the entire history like Matrix & others do is more that should be necessary for the communications best suited for chatrooms. If you needed something to be longer lived, it should have been on the forum and/or mailing list.


I wonder why Mattermost hasn’t caught on more. It has most of what I expect from Slack/Discord but it’s open source.


Incase the website owner is checking HN and sees this:

On mobile the links in your header are fiddly because the links clickable area overlap.


I've tried Slack and Discord. Of course, ICQ & MSN Messenger long ago.

IRC is #1 in my book. I always come back to it. I like its simplicity and its community. It has been immensely valuable to me, to get guidance and answers to questions, from software engineers with tons of experience.

Libera server all day!


TIL about Comic Chat. Looks like a novelty thing to me, but also I would probably use it today! I'm wondering if they do some sort of sentiment analysis on messages sent from other clients.

Working at Microsoft surely must have been a lot more fun back then.


IRC leaks your IP address, for that one reason I wouldn't use it. People can be insane and emboldened by anonymity on the internet, and one disagreement turns into some guy swatting your home and getting you killed. No thanks.


why not using an end2end encrypted p2p only chat lioe https://cabal.chat instead?


I’d love to use open source solutions but my friends would never switch over to that because they are lazy and don’t care.

I assume there are many such cases


Chanel-less tag-only chat protocols are missing.


What are some examples of such protocols?


Why can't we "solve" instant messaging like we have solved email?


How did we solve email?


No the only viable option is Messaging Layer Security (MLS)


IRC Rulz! Those corps chats suck!


This kind of article occasionally pops up on HN and for lack of a better word, it's just kind of detached from reality.

As a preface, I'm not telling you not to use IRC. If it works for you, if you like to use it and deal with its quirks and anachronisms, more power to you. There are loads of great communities out there on various servers.

Having said that...

I couldn't in good conscience recommend IRC to a hypothetical someone who's never used a chat program, under almost any circumstance. The feature set is truly beyond meagre by modern standard, with some, though not all of these shortcomings being resolved by standing up, and administering, a bouncer, and (if you're using something like irssi) a stew of Perl incantations. Which, again — I'm not bashing, necessarily, but Perl just isn't a language most people are learning these days, for a number of reasons.

Following up, though:

- Admining a bouncer, while not a full-time job in the long run, is something you need to keep on top of, from keeping the host up (both in terms of potentially paying bills if you're using commercial hosting and in terms of making sure resource usage is fine, nothing's crashing, and security updates). It's also nontrivial in the strict sense: I couldn't teach my parents to do this.

  - `tmux` or `screen` are _easier_ options, but man, it always feels dodgy to use them like this. I ran Python servers like this when I was an intern because I hadn't figured out how to create an init script and before Docker was the staple that it is now.
- Multi-device support is rough. If you have a bouncer, you're better off, but without one, you're talking about either strictly logging out and back in, or having multiple `handles`, `_handles`, `__handles`, etc.

  - Other commenters have pointed out that Discord, Slack, etc., have occasional sync issues between devices -- but *at least they support multiple devices.*
- Server federation/decentralization, while a feature for some, is more of an extra complication for most, I'd wager, especially without a reasonable central source of truth about identity. In Discord, there are server usernames as well as a global username (which is editable by the user), as well as a non-editable numeric identifier.

- Search is functionally non-existent without a bouncer

  - Once again: this is a feature that's not prefect on other platforms, but at least it's *there.*
- Bots in IRC have no concept of permissions outside of what the default handful of roles offer, because IRC doesn't really do granular permissions on its own (which sort of makes sense, that's application-level, not protocol-level.

I'm not making the argument that Discord/Slack/whatever are universally better than IRC in every way. I'm trying to argue that their usability is top-tier compared to IRC, for most people. I also won't say that Discord "killed" IRC. IRC is an older-generation chat protocol/UX, and by that logic it's gonna keep getting killed with every new generation of chat client. First, it got killed by Teamspeak, then Slack, and now Discord, each using their feature sets and UXes to chip away at what's left of the IRC user base.

This isn't even touching on the other features offered by these chat platforms that IRC just doesn't really touch -- mainly, reasonably reliable audio/video calls and screen sharing. And I gotta say, dealing with self-hosted live video streaming is surprisingly hard to get right for calls of more than 2-3 people, generally speaking.

There's some argument to be made about data ownership, but honestly, the more time goes on the less I believe most people care about that very much for casual chats. If you're worried about the government or (much more likely,) advertisers coming after your private chats, IRC is absolutely not an inherent solution to this, and is by default probably about as bad as any centralized platform in this regard.

Use whatever you want and what works for you. I genuinely don't care. But don't deal in absolutes like this; you'd have to be really full of yourself, or totally out of touch with reality and how users interact with software to make a claim like this article's title. Discord and Slack aren't perfect, and certainly, IRC power users who've been on that platform for years or decades may find it falls short in some ways, but for the average person, they're both likely better alternatives.

It's also kinda weird to fanboy over this kind of thing, which is the impression I always get from these posts. "I use X because the communities/friend groups/features/tools I like or am part of are there" is an extremely valid subjective argument for preferring a platform. "I dislike Y because it has A, B, and C issues which break the user experience for me" is just as valid and more objective. "Everything that's not Z is bad because of $PERSONAL_MORAL_FRAMEWORK reasons, and if you wanna put the work into it, Z can be usable actually."


Tell me what happened your freenode?

Discord is IRC's next evolution. Next generation chat. Good voice, excellent interactivity.

It has problems (bugs & weak beta phases) but after nearly 20 years of irc, i stopped my bnc (currently znc) instance last week. ~20 years of irc, countless bots, tons of good memories.

it is time to say goodbye for now.


> Tell me what happened your freenode?

It shat the bed, just like Twitter and Reddit did recently.

The huge difference is that with IRC we were able to painlessly hop over to libera.chat pretty much the same day while a lot of people are still struggling to leave the other two behind. I have learned my lesson, it's open services for anything important.


Look how quick the transition libera.chat was.

If Discord went away no one can just spin up a discord server.


That ship has sailed. IRC lost to Discord years ago. Don't care about it being closed source. IRC also lost to the Matrix protocol as not only that is much better, it is also just as competitive with Element and they are making money, meaning that they can afford to add more features.

IRC is prehistoric ancient history. It's time to evolve and leave that protocol in the dust and go with modern alternatives like Matrix.


> IRC lost to Discord years ago.

A couple of years ago you'd have told me the exact same thing but with s/Discord/Slack/

IRC has "lost" many times before and yet it's still around while the previous "winners" are all gone or irrelevant. Even if Discord is tolerable today how long before it becomes terminally enshittified?


Last I checked Slack has many more users than IRC


IRC will still be around after Slack is long gone.


FidoNet is also still around, but...


> IRC has "lost" many times before and yet it's still around.

IRC is no more relevant than the fossils that are still underneath the ground.

> while the previous "winners" are all gone or irrelevant.

So Matrix is gone and irrelevant?

> Even if Discord is tolerable today how long before it becomes terminally enshittified?

Even if that happens I can guarantee you that they won't be going back to IRC.


Matrix is very much alive and well; we just hit 100M total addressable users on the network :)


How do you count users? I couldn't find a way to get stats from other people's homeservers when I looked into it


the optional phonehome stats in synapse. this is total mxids reported (104M or something).


Does matrix.org publish these stats somewhere?


https://pomf2.lain.la/f/7sl51lqf.png

Yes, it totally lost, like it has lost the other 34 times.

The reality is, IRC will probably be still around after Discord and its successor have bitten the dust. The Lindy effect has been trustworthy so far.


It will be around, but it will be used by about same number of people... It won't grow from where it is now. Unless it fundamentally changes.


> The reality is, IRC will probably be still around after Discord and its successor have bitten the dust. The Lindy effect has been trustworthy so far.

You do realize that even if Discord dies, its users on there won't be going back to IRC? That is the point.

We have already seen the Matrix protocol being used in the tens of millions whilst IRC is in decline.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: