| > RFC 6122 explicitly permits this. My mistake - it is a permitted option. Still, the standard (or at least RFC 3921) encourages servers not to - delivering to all clients is mentioned as the last MAY option, and only permitted at all if they all have the same priority (which given that clients like to do things like lower priority when you haven't been typing for a while, is very hard to achieve). > XMPP was designed for multiple devices, actually Be that as it may, it was a lot less usable in practice than any of the alternatives when used from multiple devices. > Carbons (XEP-0280) does what people want now Yeah, that's the extension I was talking about. Dated 2010 but I could swear I remember it being discussed in 2008 or earlier? Looks like it may, perhaps, have finally been standardized in 2015? Of course it's still an extension so you can't rely on any given implementation supporting it, though if you're saying it's widely deployed then that's a huge improvement over what I saw a couple of years ago. > As for federation, that's what XMPP does. It doesn't do distribution, because doing that and getting autonomy for your security domain is hard (if not impossible). Be that as it may, it leads to very poor UX. I can have one-to-one conversations with any of my contacts as though it were a peer-to-peer messenger, but as soon as I want to have a three-way conversation we have to pick a server and a room name and .... Heaven help you if you want to add a third participant to a conversation after you've started. |
RFC 3921 was superceded by RFC 6121 in 2011. You might want to update your facts before you criticize the protocol.
The message routing rules leave many things to the server implementation, adding a bit of fuzzyness, but all of this has been addressed in Carbons, and really, in the last years there was significant progress in how mobile XMPP works and feels.
as soon as I want to have a three-way conversation we have to pick a server and a room name and...
The modern mobile XMPP apps like Conversations already have a seamless 1:1 to group-chat upgrade mechanism, and people are working on writing down according specifications.