14 ms·
> 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 la
by ginko 3y ago
> 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.
- ChainOfFools 3y agoMaybe 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?
- RomanAlexander 3y agothere's built in support for this https://www.unrealircd.org/docs/Channel_history https://www.unrealircd.org/docs/Channel_history
- lucideer 3y agoThe 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.
- j45 3y agoHow 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.
- lucideer 3y ago> just a modern irc interpretation This is the point isn't it. If IRC were fit for purpose, we wouldn't need "modern interpretations".
- ImPostingOnHN 3y agoif IRC weren't fit for purpose, nobody would be using it
- Karunamon 3y ago"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.
- lucideer 3y agoThat depends on your definition of purpose. If the purpose is to be niche tech, then yeah, sure, you're right.
- prmoustache 3y agoThe 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.
- veave 3y agoI 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.
- j45 3y agoHaving 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.
- Avamander 3y agoDepends 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.
- j45 3y agoGood point, connecting to a client or bouncer right on the server resolves this.
- doublerabbit 3y agoYes, 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.
- nulbyte 3y ago> 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.
- j45 3y ago
- phoronixrly 3y agoI 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.
- tcfhgj 3y agoYou 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
- imtringued 3y agoI 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.
- masklinn 3y agoBeyond 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 https://ircv3.net/specs/extensions/message-tags) and message-ids support (https://ircv3.net/specs/extensions/message-ids.html 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 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 https://ircv3.net/specs/extensions/chathistory) which provides backlog support.
- cout 3y agoCalling search unusable is hyperbole. I've used search on discord many times to find a discussion from the past.
- ungamedplayer 3y agoSome people have higher expectations and needs than single word matching.
- donpark 3y agoImportance 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.
- pmoriarty 3y agoDiscord 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.
- imtringued 3y agoI 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.
- Arch-TK 3y agoThere 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.
- op00to 3y agoI worked on a global team and conversation happens 24/7. When my bouncer dropped, I would miss out on critical stuff.
- Arch-TK 3y agoIf 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.
- j45 3y agoIRC bots literally maintained a history for anyone to catchup.
- op00to 3y agoChat 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.
- hoyd 3y agoTo preserve logs, I would ssh into a screen on a server that was connected.
- j45 3y agoIt’s nice when simple solutions just work.
- eropple 3y agoThat 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.
- hprotagonist 3y agolet’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!)
- j45 3y agoOr be told about the channels that are not for beginners
- hprotagonist 3y agothis is just actually true; a certain amount of demonstrated non-idiocy is required to get the invite to the cloaked channels.
- WesolyKubeczek 3y agoI 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.
- bitwize 3y agoIt'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.
- WesolyKubeczek 3y agoI 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.
- jmclnx 3y agoI think because many people would not want that. I think if some channels start this, people would flee.
- WesolyKubeczek 3y agoThis is a problem solvable with a newfangled thing called „server configuration”.
- zemo 3y agoNot 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.
- webstrand 3y agoIRC 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.
- TylerE 3y agoReliability? IRC? Is this article a joke?
- Borg3 3y agoNot 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).
- jrm4 3y agoGenuine 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?
- mplewis 3y agoThe average user cannot be expected to run an additional piece of software just to use chat.
- mananaysiempre 3y agoThe 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/ https://blog.codinghorror.com/the-dancing-bunnies-problem/
- ginko 3y agoI 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.
- mananaysiempre 3y agoI 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 :)
- Dalewyn 3y ago>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.
- wolrah 3y ago> 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.
- jokoon 3y agoLogging 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.
- stefandesu 3y agoIt'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.
- Dylan16807 3y ago> 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.
- tharne 3y ago> 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.
- qudat 3y ago> the main reason why IRC is essentially doomed chat history is critical even for realtime chat.
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- johnea 3y agoThe "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...
- zer8k 3y agoI 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.
- nathias 3y agothats why we need to go back to irc with eggdrops
- pmarreck 3y agoRetaining 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"
- eternityforest 3y agoTinkerers 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.