Hacker News new | past | comments | ask | show | jobs | submit login
IRC is the only viable chat protocol (2022) (koshka.love)
338 points by CHB0403085482 10 months ago | 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.


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

Search: