Hacker News new | ask | show | jobs
by simfree 1216 days ago
Signal without SMS support is a poorer performing version of Element to me. There is little practical difference between Signal and most other popular messaging apps that implements end to end encryption.

Compare Element and Signal Desktop startup times, Element is nearly instantaneous, while Signal takes significant time to even open. Both are using the same software stack on desktop, Electron with SQLite.

1 comments

When you get up to the thousands of rooms and tens of millions of messages (bridging and integrations will do that to you), Element Desktop Linux performance degrades severely and will regularly lose connection requiring restarts. And good luck getting out of that scenario or splitting up/archiving the account or groups of the rooms in a digestible format...

We've had Matrix in an org I'm in for a few years now and this has become a meme now.

Fixing this has been the primary focus of the core Matrix team over the last year - we revealed the end result at FOSDEM a few weeks ago, and it literally improves performance to be better than Telegram/Discord/Slack or anything else we've benchmarked against: https://youtu.be/eUPJ9zFV5IE?t=566

If you're feeling adventurous, try develop.element.io and enable Sliding Sync in Labs, and you should get instant login, sync, and orders of magnitude better performance (but it is definitely beta). You may need to run your own SS proxy, for which we published a guide yesterday: https://youtu.be/25wkV2ZCSsM

Thanks for the follow-up.

Unfortunately, those are all orthogonal: you are referring to server and client-server-sync performance. I'm referring to opening and navigating the client UI, and these issues are as present when offline and no homeserver communication and syncing is involved.

The developments you mention are all important, great, and exciting but from what I've seen so far the UI performance issues are unaddressed. We had users try to report these issues on GH historically but they tended to get dismissed as "can't reproduce on my mac" or left unattended.

for the sake of completeness: they aren’t orthogonal. the reason that element web can take tens of seconds to launch is not just because it’s syncing with the server, but because it is loading hundreds of MB of json from indexeddb. Sliding Sync fundamentally changes that; in fact the sliding sync impl I pointed you at doesn’t persist any local state in indexeddb between launches (element web has never supported launching offline, fwiw). Therefore time to launch and load the UI is immeasurably improved.