Matrix 2.0 — How we're making Matrix go voom!

Matrixdotorg · 16K views · 2023 · 48:45

Open on YouTube

Networking & internet infrastructureDistributed systemsLinux & open-source ecosystemstalkdated

Why Hacker News recommends it

HN threads link it as the primary source for Matrix's performance claims and sliding sync improvements.

What it is

A FOSDEM 2023 talk from the Matrix team on Matrix 2.0, covering sliding sync, the Element X client rewrite and next-generation calling. It explains how Matrix aims to match the speed of proprietary messengers.

Recommended by 2 HN commenters across 2 different months, 2023 to 2024.

What Hacker News said

Recommends Arathorn · 2023-02 · on “Matrix 2.0: How we’re making Matrix go voom”

If you watch the video, you'll see that we're making the client-server protocol crazy lightweight ( [this video] ) and that we're adding the ability to remove servers entirely and go full P2P: ( [this video] ). So you're working on stale data here. (Also, only about 35% of users we're aware of are on the matrix.org server, not 99%...)

Recommends Arathorn · 2023-02 · on “Signal says it'll shut down in UK if Online Safety Bill approved”

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: [this video] 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: [LINK]

Recommends Tmpod · 2023-07 · on “IRC Is the Only Viable Chat Protocol”

Matrix 2.0 will put an end to that trait plaguing the protocol's viability. With the new "sliding" sync, clients will be able to fetch stuff much more efficiently (and more akin to Discord's API, for example) than before. Syncing an freshly logged-in account takes seconds instead of minutes and syncing messages when returning to the app is instant. They presented this at FOSDEM this year: [this video]

Cites ehPReth · 2023-02 · on “Matrix 2.0: How we’re making Matrix go voom”

ooh awesome. I'm just starting the video but I'm really hoping sharing is improved on iOS. Like full quality video sharing from the share sheets, or seeing my matrix rooms/contacts in the top row of contact suggestions, but most importantly the ability to add 'comments' to photos/links I share with people e.g. share a link to a GitHub repo or a photo and be able to quickly say something in the same sheet without having to switch to the app and say the thing and the back to my browser edit: had to use YouTube in the end: [this video]

Cites Arathorn · 2023-02 · on “Matrix 2.0: How we’re making Matrix go voom”

The Matrix team spent 15 years building SIP stacks before we gave up and created Matrix, so I can answer this with some confidence: Superficially, Matrix looks a bit like SIP: for 1:1 calls, you send an m.call.invite (like a SIP INVITE) to someone; they answer with an m.call.answer (like a SIP 200 OK); eventually someone hangs up with an m.call.hangup (like a SIP BYE). However, the differences are: * As a transport, everything goes over normal Matrix signalling (by default HTTPS+JSON) rather than SIP's mix of UDP and TLS sockets. As a result, no need for SIP's three-way handshakes inherited from its UDP transport * As a result, you inherit Matrix's end-to-end-encryption and decentralisation

Cites Arathorn · 2023-05 · on “Ask HN: Is anyone hosting their own Jitsi server?”

Element Call ( [LINK] ) is (very) late stage beta - it doesn’t currently use SFUs although we demonstrated one (waterfall) at FOSDEM: [this video] The thing keeping it in beta has been a set of really annoying intermittent bugs, which we’ve ended up tracking down by adding full opentelementry support; should expect to exit beta in the next few weeks (currently gathering data to check we really did fix them). Meanwhile we’re experimenting with other SFU implementations (eg LiveKit) to see if we can avoid reinventing the wheel there. Element Call style VoIP is already proposed for the Matrix spec - MSC3401 and MSC3898.

Cites Arathorn · 2023-05 · on “Integrating Zig and SwiftUI”

this is also how the Element X rewrite of the Element Matrix client works - although with Rust rather than Zig. We had to add async support to unffi for a good experience from Swift (and Kotlin) tho! [this video] has some deets.

Cites Arathorn · 2024-11 · on “Matrix 2.0 Is Here”

P2P Matrix is a dialect of Matrix where the server runs inside the client itself - see arewep2pyet.com for details. In other words, there are no servers (other than optional store-and-forward relays). It's insanely cool - you can see a demo at [this video] . It's also unfunded and on hiatus until someone provides some $ so we can work on it again. Right now, normal Matrix is a client-server model: you can't send messages from a client without it talking to a server (and then to another server, and then to another client). MatrixRTC VoIP and Video calls in Matrix 2.0 also go via server (for now), in order to support multiple participants and firewall traversal. Obviously, both messages and calls a