Skip to content
0:00 / 0:00

#matrix#slidingsync#elementx

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

Matrixdotorg

6.6K subscribers • 3 videos on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Made by the vendor. The company whose product it covers made or sponsored it.

Intermediate. Assumes working knowledge.

16K views3 years ago2 recommendations

Distributed systemsWeb developmentNetworking and protocolsConcurrency and parallelismPerformance and optimization

The Matrix team presents the architectural changes in Matrix 2.0, including sliding sync and Element X, designed to match the speed of proprietary messengers.

NOTE: we'll update the FOSDEM 2023 playlist as we gather all the talks. Stay tuned for more Matrix content. This video was recorded during FOSDEM 2023, and can also be found here: fosdem.org/2023/schedule/event/matrix20/ Matrix is an open standard for secure, decentralised communication, which may be familiar from powering the online editions of FOSDEM in 2021 and 2022 (and hybrid-FOSDEM this year!). In this talk we will explain the fundamental changes which are landing in Matrix 2.0, which speeds up Matrix to be at least as snappy as the fastest proprietary messaging apps - all while handling thousands of rooms spanning millions of users. During 2022 we've been on a mission to completely rework the slowest bits of Matrix, aiming that nobody can ever complain about Matrix being sluggish again. In practice this means fundamental changes in: - How Matrix syncs data - "sliding sync", where servers only sync the bare minimum data to clients required to render the UI, providing instant login and instant sync (MSC3575) - How room joins work over federation - "faster joins", where servers only sync the bare minimum data such that clients can start participating in the room as soon as possible (MSC3902) - How auth works - switching Matrix to use OIDC natively for all authentication, registration and account management (MSC3861) - How VoIP works - switching Matrix to natively support multiparty decentralised E2EE VoIP as the primary calling mechanism (MSC3401 and MSC3898) The end result is transformational, and by far the biggest change to Matrix since the project began in 2014. So, we're calling it Matrix 2.0, and this talk will give a guided tour of everything that's changed - and show off the new reference matrix-rust-sdk client SDK, which powers the new flagship mobile Matrix client, codenamed Element X. Hello! Matrix and its ecosystem Spec update Matrix is taking over the world Demo: Element X is blazing fast Behind the scenes of the demo How sliding sync works One matrix-rust-sdk to rule them all Faster remote room joins MatrixRTC, Element Call, Matryoshka Widgets Demo: Element Call! Demo: raiding Element Call with waterfall — Selective Forwarding Units for Matrix OpenID Connect: authentication done right The future: Digital Markets Act, MIMI, MLS, P2P Matrix Demo: P2P Matrix Demo: ThirdRoom — Matrix beyond chat and voice What's next? Support Matrix! 🪙 Donorbox for individuals - donorbox.org/keep-matrix-exciting 💶 Matrix Foundation (paid) membership for orgs - forms.gle/Yy345QkB5pifJJNy6 (This Week in) Matrix 🐘 mastodon.matrix.org/@matrix 🐦️ twitter.com/matrixdotorg [m] matrix.to/#/#thisweekinmatrix:matrix.org

Why it's here

2 people recommend this

What people say. Recommended as a detailed look at the performance and architectural improvements introduced in Matrix 2.0.

Arathornon Hacker News • Recommends

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 ( link to this video ) and that we're adding the ability to remove servers entirely and go full P2P: ( link to 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%...)

Arathornon Hacker News • Recommends

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: link to 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

Tmpodon Hacker News • Recommends

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: link to this video

ehPRethon Hacker News • Mentions

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: link to this video

Arathornon Hacker News • Mentions

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…

Arathornon Hacker News • Mentions

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: link to 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.

Arathornon Hacker News • Mentions

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! link to this video has some deets.

Arathornon Hacker News • Mentions

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 link to 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…