▲ | lmm 4 days ago | ||||||||||||||||||||||||||||||||||||||||
XMPP missed the boat largely because it couldn't handle multiple clients correctly for years - the default is to deliver messages to one of your clients, you need an extension to do the sensible thing, and that extension spent years in bikeshed limbo right as smartphones were taking off and people started wanting to use the same messenger on their phone and computer at the same time. (I've heard that performance/battery issues from XML validation didn't help either) Personal speculation but I blame the "everything is an extension" model - it was meant to reduce fragmentation and allow clients with different featuresets to interoperate, but in practice adding a new XEP seems to have all the downsides of making a change to a non-extension-based standard (you still have to get all the clients to agree) and none of the upsides. | |||||||||||||||||||||||||||||||||||||||||
▲ | jauntywundrkind 4 days ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
This kind of checks out for me. But also, there have been decent protocols around this for a long time, that many clients & servers have implemented. From Multi-device in the excellent Modern XMPP:* > XEP-0280: Message Carbons - for "live" synchronization of conversations between online devices. XEP-0313: Message Archive Management - for "catch-up" of messages that were exchanged while a device was offline https://docs.modernxmpp.org/client/protocol/ The XEP-0313 spec dates back to 2012 which is less old than I expected, and that's only the 0.1. So, very fair point. More generally, the above complaint was about the development experience of XMPP. I feel somewhat like complaining about XMPP being failed is well tread from a why consumers didnt adopt it view, that negative sentiment abounds & everyone is more than happy to cast blame as to why. I've seen a lot less complaints about the development experience, and felt like maybe there was some novel fruitful grounds that a more developer-centric view might have been able to open up. | |||||||||||||||||||||||||||||||||||||||||
▲ | styanax 4 days ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
> but I blame the "everything is an extension" model ... 100%. If you're not keen on self-hosting and want to use any one of the many, many public servers this becomes such a pain, and leads to the same "decision deadlock" trying to get friends to join Mastodon or Lemmy ("which one do I want? there are so many, how do I know if it's good"). Because this is a thing:
"Hmmm, does xyz.com support XEP-1234 for message archiving?" or whatever it is; there's a real uphill social battle unless you make those choices for your friends to get started. While Signal is not perfect, it's easy onboarding without confusing XEP which-server choices for the average human. $0.02 I struggle to get people on Signal as it is.Edit: found it, it's XEP-0313 and only 92% of public servers support it. Only 86% support Push Notifications, 94% OMEMO. One can argue server operators have disabled them but it points back to decision deadlock. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
▲ | Flowdalic 4 days ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
> Personal speculation but I blame the "everything is an extension" model - it was meant to reduce fragmentation and allow clients with different featuresets to interoperate I could be wrong, but that reads like you suggest that there is an alternative to the "extension model". However, any solution where standardization and implementations are independent entities, and thereby experience a sufficient degree of freedom, will have a trajectory to a situation where you have a robust core specification and optional extensions. Think about protocols like SMTP and DNS—each has a foundational core that’s been expanded upon by numerous optional features. | |||||||||||||||||||||||||||||||||||||||||
|