9 ms·
I love the simplicity of IRC, I still use it to this day, but I have to say, I understand why IRC cannot be used for any serious team communication. The two bi
by maeln 7y ago
I love the simplicity of IRC, I still use it to this day, but I have to say, I understand why IRC cannot be used for any serious team communication.
The two biggest pain point that I see is:
1. Because there is no real account management you don't have any proper authentication, which make administrating a channel real dodgy (even with network provided bots).
2. No offline history: You have to have a client/bouncer running 24/24 if you want history.
One thing though, because of how IRC work, you don't have the problem that other protocol like XMPP faced with multy-device sync (there is a extension for that in XMPP but, like almost every extension in XMPP, not many client support it).
Also, nowadays we should consider end-to-end encryption standard.
I feel like IRC is in the same space as email: It's a very good technology that just lack a few feature to be perfect but any project that try to replace them just end up over-bloated with features ...
- Sir_Cmpwn 7y agoI think both of these are important problems (and number among the issues I alluded to in the conclusion of the article). I hope to see them improved in the future and will provide whatever support I can to IRC networks working on them. However, if you're going to run your own IRC server you can also run your own bouncer service. Lots of authentication options exist as well. IRC is totally fine for an org who can stand up a server. It's pretty low-maintenance too.
- swebs 7y agoAfter doing some digging, it looks like there's some people working on a new spec for IRC version 3. One of the additions is the ability to request chat history from the server. Though I'm not sure when it will be implemented since it's been on the table for 4 years now. https://github.com/ircv3/ircv3-specifications/milestone/4/ https://github.com/ircv3/ircv3-specifications/milestone/4/
- derefr 7y ago> Though I’m not sure when it will be implemented Presumably, when some random IRCd hacker decides to spend their spare time doing so. Most of the IRCds are FOSS, no?
- swebs 7y agoWell there's still active discussion on how the extension should work. This needs to be squared away first since you'll need all server software and client software to agree. https://github.com/ircv3/ircv3-specifications/pull/393 https://github.com/ircv3/ircv3-specifications/pull/393
- Sendotsh 7y agoIRCv3, InspIRCd, and other IRC projects are now getting funding to push their development. https://irc.com/lets-take-irc-further https://irc.com/lets-take-irc-further Latest update from the team: https://irc.com/blog/2019-04-Development_updates https://irc.com/blog/2019-04-Development_updates
- welterde 7y ago> 1. Because there is no real account management you don't have any proper authentication, which make administrating a channel real dodgy (even with network provided bots). That's not really an issue of IRC itself, but the IRC network you are using. Running your own IRC server would solve that issue - ngircd for instance supports authentication using PAM or inspircd can directly perform authentication against either LDAP or a SQL database. And doesn't IRCv3 SASL authentication + only allowing registered users into the channel pretty much solve the issue as well?
- asveikau 7y ago> No offline history: You have to have a client/bouncer running 24/24 if you want history. I would say it's even worse than this. Even if you attempt to have a client 24/7, the lack of an acknowledgement and re-transmit on lack of acknowledgement means that if you have any hiccup that causes you to need to reset the TCP connection, you can drop messages.
- KirinDave 7y agoIndeed, the dependence on a persistent connection itself is an absolute non-starter for this feature. It's statistically guaranteed to fail, and IRC as a protocol spec is powerless to do anything other than shrug.
- ganzuul 7y agoHaving been on IRC for maybe two decades now, I find the impermanence to be part of IRC's charm. People engage with you when you ask them what has been going on; just like in real life. It's a social protocol.
- cwyers 7y agoCertain use cases that Slack et al cater to, you might not get to choose impermanence. There might be compliance/regulatory issues that require you to have document retention policies.
- ganzuul 7y agoAnd if you have retention you need retrieval, and backups, and audit trails for access, and pretty soon you're a SAP customer suffering the Curse of Greyface. I did change careers to escape that...
- asveikau 7y agoBut the lack of reliability I described a few comments up is not just a problem for 24/7 archiving. You will see it in everyday use: your connection will drop, it will take a while for a timeout to notice, and you will miss messages for that period. Now in a real life situation you can mishear or fail to hear. But technology can make this better.
- lossolo 7y ago1. Use nickserv and chanserv? This is solved problem. 2. This is also a solved problem, there are bots that log everything on the channel and then you can read/search through channel history from web interface. But mostly this is not needed as you can just spin znc for whole your team.
- KirinDave 7y ago1 doesn't really solve the problem. 2 is a problem with the architectural decisions modern IRC has inherited. It cannot be fixed because it depends on persistent TCP connections and that is not the way the internet works.
- lossolo 7y ago> doesn't really solve the problem. Care to elaborate? It solves authentication for us and we are using it for 10+ years like this. > is a problem with the architectural decisions modern IRC has inherited. It cannot be fixed because it depends on persistent TCP connections and that is not the way the internet works. Let me check my current znc IRC session signon: Wed Jul 18 07:43:12 So almost a year.
- KirinDave 7y ago> Care to elaborate? It solves authentication for us and we are using it for 10+ years like this If "we use plaintext passwords communicated to a faux user" is your idea of "solved" then we have very different standards. > Let me check my current znc IRC session signon: Wed Jul 18 07:43:12 Congrats on being rich and lucky I guess? That's not a thing most folks can replicate at scale. I have had more than one IP address in the duration of writing this post.
- aidenn0 7y agoI agree with you on persistent logs, but I authenticate with an SSL client certificate, not a password. This is supported by several networks. Also, what do you mean by "plaintext"? Good id services will store a hashed password and the irc connection can be over SSL. That's no more plaintext than any web service login.
- LinuxBender 7y agoFor chat persistence, you can use TheLounge [1] [1] - https://thelounge.chat/ https://thelounge.chat/ https://github.com/thelounge/thelounge https://github.com/thelounge/thelounge
- tapland 7y ago'Forget about bouncers', but how isn't this just a bouncer like ZNC, Irccloud etc?
- zaarn 7y agoIn my experience, the lounge leaks a lot of memory. After about 30 days of running, it used 8GB and the shared hoster I put it on killed it. Would definitely not recommend as bouncer.
- xPaw 7y agoIf you have many users/channels, you can tweak `maxHistory`, which controls how many messages are kept in memory per channel for the backlog. That's where most of the memory usage comes from. https://thelounge.chat/docs/configuration#maxhistory https://thelounge.chat/docs/configuration#maxhistory
- la_barba 7y agoCouldn't you layer your own account management and other conveniences on top of IRC ? Like use the underlying chansrv tech for auth but add your own layer on top for password retrieval or 2FA. You could always run a server which has dedicated bots doing the bounce per user. That way you never have to auth directly with the server, etc. Maybe a little over-complicated, but it lets you use the existing tech which is already widespread.
- ganzuul 7y agoYou can layer OTR over IRC, if you wish.
- glacials 7y agoThe author specifically calls out ephemerality as a feature of IRC. If it's easy to get history people will assume everyone is reading what they're typing. This would make people feel obligated to play catch-up every time they miss some messages due to being AFK or in the zone. By making history hard to obtain, IRC simulates real-world conversation -- you're either in the room or you're not.
- phicoh 7y agoAnd then lots of people have bouncers to be there 24x7.
- nxrabl 7y agoWhich makes for an interesting dynamic, since it's the people with the most experience for whom the chat is least ephemeral, and the people who would benefit most from having scrollback who are least likely to have it set up properly.
- phicoh 7y agoOne of the nice things about the IRC bridges between Matrix and big IRC networks is that you can experience IRC from the comfort of Matrix.
- Etheryte 7y agoPersonally, the main benefit of a bouncer is not missing highlights when someone wants to turn your attention to something interesting, reading up the logs for even a single channel isn't a reasonable way to invest your time.
- echelon 7y ago> reading up the logs for even a single channel isn't a reasonable way to invest your time. I'm beginning to feel this way about everything. Reddit, Twitter, social media in general... The hoarder mentality likes for this stuff to still exist in the hopes it might one day be useful. In fact, it has very little value. Snapchat got it right when they started with ephemerality.
- zzo38computer 7y ago"Because there is no real account management you don't have any proper authentication, which make administrating a channel real dodgy" I think often that lack of needing an accout is an advantage, and not a disadvantage. However, sometimes you do want some, and many IRC services include NS REGISTER and NS INFO and so on for account management; even without that, channels can be passworded if needed. "You have to have a client/bouncer running 24/24 if you want history." Or a logging bot, which some channels have. Another alternative is for the logging to be part of the server implementation; I have once done this, and it is possible, but it does not seem to be common (although I think maybe it should be done more). Another thing about IRC is that it can be used without any kind of special software (although software specifically for IRC is still useful; for one thing, if you do not have a IRC client then you must manually respond to pings). It isn't too complicated; Matrix and Discord and so on are too complicated.
- progval 7y ago> alternative is for the logging to be part of the server implementation; I have once done this, and it is possible, but it does not seem to be common IRCv3 has support for this: https://ircv3.net/specs/extensions/batch/chathistory-3.3.html https://ircv3.net/specs/extensions/batch/chathistory-3.3.htm... and at least InspIRCd (a major server implementation) implements it.