Hacker News new | ask | show | jobs
by jonas-w 1222 days ago
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.
4 comments

Yea I'm always depressed by how long it takes the Element client to refresh (update the history of) a medium number of subscribed channels.

It's just text messages, why does it take so long?

Slowness of all kinds have the major goal for Matrix to fix in the last few months, they recently presented very impressive improvements at FOSDEM.

https://video.fosdem.org/2023/Janson/matrix20.mp4

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

I've tried to explain this in reasonable detail (and how it's being fixed) at https://youtu.be/eUPJ9zFV5IE?t=567
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.

Kind of funny that your name matches an e2ee matrix proxy. https://github.com/matrix-org/pantalaimon

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.

Be the change you wish to see in the world ;)