On the Fate of XMPP/Jabber
old.reddit.com
old.reddit.com
I originally posted the permalink to this insightful comment: https://old.reddit.com/r/irc/comments/17633me/problems_with_...
XMPP-without-extensions is missing all sorts of essential non-media features like multi-device, history, offline
XMPP-with-extensions supports all that.. and also media as well
The whole "modern connection are persistent" seems just plainly wrong - it's worse than ever. Back in IRC time even someone without bouncer would have hours of uptime from their PC. Today, I am using my laptop which sleeps many times per day, and cellphone which is only active in short intervals. Neither IRC nor XMPP-without-extensions are suitable for that kind of usecase.
IRC and (by default/without extensions) XMPP rooms are ephemeral and have no "scrollback" for new joiners. This makes them feel a bit more like personal conversations, which can be both good and bad depending on the context. The same is true for WhatsApp, iMessage etc. group chats.
By contrast, Slack/Discord/Matrix have "stateful rooms": Scrollback is visible to everybody joining, at least by default. While I'd consider this a downside in some cases, this is what people have become accustomed to, and any potential alternative will be judged by that.
The former follows natural from the federated, mostly ephemeral message-passing nature of IRC and XMPP; the latter needs conscious effort to do well in a federated environment.
A bit of a tangent, but... "XMPP without extensions" is generally not a useful thing to discuss. It's not like XMPP was ever expected to be used without extensions (for IM, at least, which is one of XMPP's most popular use cases).
The core protocol was standardized at the IETF as an RFC. The rest was always governed by the XMPP Standards Foundation.
Server-side message archiving is part of the XSF's compliance requirements for XMPP-based IM, and it is implemented and deployed everywhere, so who cares about "XMPP without extensions"?
These are effectively different layers. E.g. Linux/POSIX is not incomplete just because it doesn't come with a spreadsheet application. However such functionality is expected by most users and provided by most distros.
The modularity is what has allowed the protocol to evolve over the years, rather than being frozen in time (something that happened to IRC, and that IRCv3 is working to fix).
The ones I’m familiar with only archive direct messages, not group messages (or at least not those sent before joining a given room), and going offline on the last client means leaving a room.
It has been this way for a long time... I quickly checked the repo history, and Prosody's code for this dates back to 2012.
Can I query the room’s message archive after rejoining? And is there a solution to not display me as having left and rejoined the room to others every time this happens, i.e. persistent room membership?
I think these days the term "leave" is a bit vague, and it's important to note that what you're talking about is pretty much just down to the UI that clients used for presence in the past. Most clients no longer show presence in that way, because it has been noisy and useless now for many years, and because mobile connectivity is the norm and "offline" does not mean "offline" (thanks to push notifications). Instead they prefer to show membership info instead (which is persistent).
Most platforms (Slack, Matrix, etc.) also support presence and membership as separate things. But (as far as I know) they never rendered presence the way you describe ("X has left the chat"), as they were created after the mobile era was already in full swing.
Given those two things, it seems like MUC really does support a Slack-like experience these days. That’s great – it definitely didn’t when I last used XMPP extensively!
(Rest in peace, Google Talk XMPP federation – for a while, I could talk to all my friends on Jabber between that and MSN/ICQ bridges.)
It basically works, and makes me mostly very happy
Shout out to 404.city !