I wish xmpp would be as wide spread as matrix. It is so much more lightweight (prosody vs synapse) and doesn't make requests to anything else than the people i chat with.
The architectures are not the same. In XMPP, the server is the source of truth. It receives all stuff from the outside and arranges it in its database. You ask it "what's the status" and it can give you the snapshot you desire. Think favorite-search-engine that scrapes everything in the background and gives you instant answer to your queries.
In Matrix, it's a stream of events. So you technically have to fetch all events and then reconstruct the current state locally. Think scraping the web manually before searching locally.
There are, of course, ways to make it faster, but ultimately the fundamental difference means it will always be an upstream battle to make it as efficient, and the risk will always be to depend more on the server
Same, it feels so sluggish and slow compared to xmpp clients, even in small private chats, public rooms on matrix are on another level of unusable. Also that element is the only client that supports all features, would love to switch something more lightweight but most of them have some features missing (that i would miss) or even e2ee missing.
Because Matrix is designed as a distributed database instead of as a message passing service so Synapse has to catch up before you can do anything.. awful..
Agreed. After trying out Matrix, SimpleX Chat, and XMPP for everyday use with my spouse, XMPP has been the most reliable and has instant message delivery.
Wait, how is that different from Matrix? My Matrix server only syncs with rooms that I've joined, which is the people I'm chatting with. It's not like a Matrix server just starts syncing random rooms you're not in. I assume that an XMPP server has to accept events on your behalf when you're offline, right?
It also makes requests to the keyserver at matrix.org. Integrations make requests to vector.im. Also there are analytics gathered (which are disabled by default) that get suggested to activate in the server documentation e.g. some default config snippet. They all can be disabled/are disabled by default, but the fact that such centralized services exist in a "decentralized" protocol and get suggested to you is outrageous.
And the network traffic while idle is abnormal. Also if you disable the default keyserver, your server makes even more requests than before.
Maybe i'm exaggarating or misunderstanding something but with prosody i still had the feeling that i'm under control, that i know what happens and what connects to where and it didn't consume as much ram/cpu.
What XMPP clients are good to pair with Dino when chatting with people on other platforms?
I've heard Conversations is good on Android but I'd love to hear about interop with iOS, Web, and Windows/Mac clients if anyone cares to share anecdotes
cheogram is my current favorite fork/upgrade of conversations. it works really well with jmp.chat for an xmpp phone number and to text your friends via that phone number from xmpp. I personally like gajim better than dino, but dino 0.4 hasn't made it to my flavor of arch yet so I am waiting to find out if it's worth switching on the desktop or not.
interoperability isn't a problem as long as your clients all support the xeps the others are choosing to use (this should be true of most full fledged clients).
Yes, the whole app will be Linux Mobile ready soonish, but priority was to have the main screen first and get everything ready in-time for Debian stable inclusion
At the XMPP summit in Brussels last week we had several developers across different projects converge on an approach based on this, so I'd expect to start seeing even more clients supporting threads in the near future.
"Dino is a modern open-source chat client for the desktop. It focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind."