top | item 43120908

(no title)

danielspace23 | 1 year ago

XMPP in its current state is a mess. The bare protocol is minimal, the things which actually make the thing usable are just a bunch of extensions, barely glued onto the thing, which means that there are clients that implement different features, and you never know if whatever you send will be supported by the receiver (including encryption).

There are a gazillion clients for Android, mostly forks of Conversations implementing slightly different extensions, but like the upstream they fail at being enjoyable to use. I have not found a decent desktop client as of my last attempt.

I seriously think that XMPP is one of the best examples of why the "write protocols, not apps" approach has failed. Without an actual, complete and cohesive reference implementation, that others follow with theirs, there will always be a fragmentation like this, which will always ruin any attempt at mainstream adoption.

discuss

order

dzaima|1 year ago

Matrix isn't particularly better though; its main spec does "have" a bunch of things, sure, but they're still very bodged together (threads are replies but with a tag of "no, this is actually a thread"; and for backwards-compatibility clients are "supposed to" understand a non-marked-as-thread reply as being in the thread, but the spec doesn't facilitate any way to consistently reason about such replies (i.e. they're not included when paging through the threads messages); all formatting-ful messages contain both a HTML and plain-text version of the message; edit events contain both "* "-prepended versions of the body for clients who don't support edits, and a "proper" copy for those that do, so that's 4 copies of the body in an edit event).

And there's plenty of inconsistencies across matrix clients too: some don't support displaying spoilers and so get spoiled (incl. Element X android); most (incl. Element) don't have a way to send spoilers outside of whole-message spoilers or manually writing out the HTML. Thread support is flakey. Some clients insert a newline every 70-or-whatever chars, which is supposed to be ignored by proper HTML parsing, but some things don't. Off the top of my head.

genewitch|1 year ago

Threads are an anti-feature to me. The only time I found them remotely useful is when I was doing an AI bot integration into the Matrix channel and it was just me and the bot.