4 ms·
IRC as a protocol is indeed incredibly simple and easy to get started with. Years ago did discover this when I was able to make [this atrocity](https://github.c
by creesch 3y ago
IRC as a protocol is indeed incredibly simple and easy to get started with. Years ago did discover this when I was able to make [this atrocity](https://github.com/creesch/discordIRCd https://github.com/creesch/discordIRCd) bridging IRC and discord where for IRC I effectively did a simple server implementation.
There is a caveat, though. Like many older protocols (ftp) there is a lot that was not initially written down or left up to clients and server implementations. This, does lead to a lot of edge cases you need to be aware of once you want to actually support a wider user group.
Also, as this is apparently is still a discussion. IRC is not simple from a modern user UX perception. Registration can be complex and confusing, though hidden a bit through clients. Managing channels with various flags is a whole other thing. Then there is also the fact that these days people are no longer used to the fact that they can't see messages from periods where they were not connected. Of course, the latter can be easily handled by a BNC or fancy clients like https://thelounge.chat https://thelounge.chat . But, that is only easy for technically inclined folks.
- lifthrasiir 3y agoNot only that, but IRC server protocol(s) are much more underwhelming. If my last recollection is correct (and I gave up with IRC before IRCv3 became viable enough, which was too late IMO), pretty much every surviving server implementation had their own server protocol.
- vilunov 3y agoIRC is not a federated protocol, so this is not a big problem. Yes, it's a "relay chat", but in the end all servers of a single network must trust each other, and that means they are being run by a single organization and it's just a mechanism for horizontal scalability. This is not the same as XMPP, which has a federation s2s protocol, but each service provider can use a custom server protocol for horizontal scaling.
- lifthrasiir 3y agoThe original IRC was federated though. It is an unreasonable assumption but imagine that the original federated network did sufficiently evolve and adapt and strive to this day...
- vilunov 3y agoPeople had very different assumptions about the Internet and security. What was a federated protocol back than wouldn't be considered now. If that hypothetical evolution of IRC had happened, then I'm sure a s2s IRC protocol would emerge, but that's not a protocol problem, it's more fundamental than that. It would have to influence the c2s protocol as well, e.g. the identity is tied to the service provider and it has to be communicated to other clients somehow to avoid collisions.
- blibble 3y agothese days operating systems have better interfaces than select() so it's not for horizontal scaling, especially given each and every server has to maintain the full state of the network more for HA in face of DDoS :(
- Sesse__ 3y agoThe RFC ostensibly covers the server protocol too, but as-is, there are tons of extensions to make things actually work well (e.g. what happens on rejoin after a netsplit). It's a bit sad IRC servers are no longer all the rage, because it would be interesting to see how good we could actually make them with current technology and programming practice. 1M+ users on a server should be easily attainable, for instance. And presumably a much more robust distributed system than just “connect them all in a spanning tree and accept any inconsistencies” (i.e., support redundant connections). I've seen a couple of times where A deopped B and B was still able to kick A (because they were on different servers), leaving the channel opless :-)
- crtasm 3y ago> only easy for technically inclined folks. Non-technical people might use a TheLounge instance someone else hosts, a free/cheap bouncer, or (likely easiest) pay for a service like IRCCloud.
- creesch 3y agoPeople like that are often still considered "technical" by the majority of people out there. Registering your nickname is still something that is more involved than sign up for any other web based chat service in the modern era. Not to mention that people need to know about these are options. You might scoff and roll your eyes, because to you, it seems easy. But I have seen it first hand for many years. Various online communities (forums, subreddits) I was involved in tried to set up chat side communities through IRC. They never really took of even with heavy promotion and sometimes nifty integrations with the accounts people already had. Then Discord entered the scene, you only had to post a discord link. Because it was just one click the discord servers would often have more people in them in the period of week than the IRC servers ever had in years.
- crtasm 3y agoEr, yes - it's certainly true you can't use something you're unaware of. Noting that I'm on lots of channels with lots of people that have never registered their nickname - agreed that it's seen as a necessity by many though. I assume you mean the discords saw much higher levels of engagement. Just looking at numbers joined isn't the best comparison, I've seen many with huge member counts but only a handful of people interacting there (not that IRC is any different in that respect). No scoffing or eyerolling here, I'm not suggesting it's easy.