A long, but interesting personal reflection on the virtues of IRC in the age of centralized services such as Discord:
Much as the dreaded Reddit has largely paved a fascist monopoly over the niche once occupied by a bounty of independent Web forums, Discord has done the same with the chat world, replacing the sea of independent and free IRC servers with a single corporate walled garden whose owners each user must avoid offending in any way, lest they be entirely cast out of the public square.
Anyone who has ever used IRC knows that there is nothing even remotely complicated about using it, but the terminology and the steps required to use one are ostensibly terrifying enough to reliably keep the technically illiterate at bay.
I'm still on IRC to communicate with various private torrent trackers. There're people who I've known for over a decade who still hangout there.
Whatever platform or protocol evolves, the communities I like to participate in will gravitate to what is useful for them. Seems like the top platforms will never be able to truly host a home for pirates. Fuck em.
Meh.... The fact that I can log on after a while and read all of messages sent before I left makes some of the async-supporting chat applications more appealing to me.
There's a cloud based IRC client called, simply enough, IRCCloud, that essentially acts as a remote client, keeping you logged into your IRC servers at all times, so that when you return you can just open up the app on your end and see them all
I think XMPP is a much more complex protocol... particularly compared to IRC. Because of this, find good XMPP clients, particularly terminal or CLI ones is hard (nothing close to weechat anyway).
Likewise, from my experience, XMPP has mostly been used for direct or individual messaging and not for group chats like IRC has. I understand that it can be used for group chats (I was in one for a while), but there are many more well known IRC channels than there are XMPP group chats.
There's also a newer federated chat (plus VoIP signalling) protocol called Matrix that's worth a look.
One feature that sets it apart from XMPP is its support for multi-client synchronization: if you log into the same user account from multiple clients (e.g. where one of them is a desktop app and another one is a smartphone app), your chat history will be synchronized across them. Or as one of the Matrix developers put it: "XMPP is all about message passing, whereas Matrix is all about state synchronisation".
On the downside, though: although the Matrix protocol is designed to support presence-status, it seems that many (?) of the public Matrix homeservers have that feature disabled for performance reasons.