HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

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

Matrixdotorg2 HN recommenders · recommended in 2 months, 2023-2024
YouTube
16K views · 3 years ago · talk · dated

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.

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

Networking & internet infrastructureDistributed systemsLinux & open-source ecosystems#matrix#slidingsync#elementx#decentralisedmessaging#fosdem

8 comments from Hacker News

@Arathorn2024 · in “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 are end-to-end-encrypted (other than in public chatrooms), which makes it less important that they go via a server today.

CitesView on HN
@Tmpod2023 · in “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

RecommendsView on HN
@Arathorn2023 · in “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.

CitesView on HN
@Arathorn2023 · in “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.

CitesView on HN
@Arathorn2023 · in “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

RecommendsView on HN
@Arathorn2023 · in “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 for free (so no special Routes, Vias, Record-Routes, branch parameters etc from SIP - it uses the Matrix client-server and server-server APIs over HTTPS instead) * Everything is trickle ICE by default for rapid call setup, no need to wait until you have all the ICE candidates to proceed with the call * No offerful/offerless invites: everything is offerful. * Matrix piggybacks on WebRTC for its media protocol, so you don't have the fragmentation of different media transports that SIP has inherited * Matrix (as of link ) now supports multiparty native VoIP calls in the same conversation: effectively letting you signal full-mesh, SFU and MCU style multiway video/voip using the same mechanism as you'd use for a 1:1 call. This is probably the biggest difference in the end: with Matrix's VoIP

CitesView on HN
@ehPReth2023 · in “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

CitesView on HN
@Arathorn2023 · in “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%...)

RecommendsView on HN
A walk through of installing Synapse+Riot+Jitsi from scratch on Debian24:09

A walk through of installing Synapse+Riot+Jitsi from scratch on Debian

Matrixdotorg
61K views • 6 years ago
Differential Synchronization54:44

Differential Synchronization

Google TechTalks
52K views • 17 years ago
Liberating Distributed Consensus - Heidi Howard34:52

Liberating Distributed Consensus - Heidi Howard

Reactive Summit
7K views • 7 years ago
React Helsinki February 20201:16:07

React Helsinki February 2020

Fraktio
42K views • 6 years ago
Paxos lecture (Raft user study)1:06:34

Paxos lecture (Raft user study)

Diego Ongaro
114K views • 13 years ago
Scaling the Linear Sync Engine1:06:08

Scaling the Linear Sync Engine

Linear
37K views • 3 years ago
Raft lecture (Raft user study)58:17

Raft lecture (Raft user study)

Diego Ongaro
87K views • 13 years ago
CRDTs and the Quest for Distributed Consistency43:39

CRDTs and the Quest for Distributed Consistency

InfoQ
68K views • 8 years ago
Google I/O 2012 - Go Concurrency Patterns51:27

Google I/O 2012 - Go Concurrency Patterns

Google for Developers
894K views • 14 years ago
IPFS Alpha Demo18:51

IPFS Alpha Demo

Juan Benet
272K views • 11 years ago
Distributed Systems 1.1: Introduction14:36

Distributed Systems 1.1: Introduction

Martin Kleppmann
382K views • 6 years ago
AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems46:15

AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems

Amazon Web Services
10K views • 11 years ago
MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System56:19

MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System

FOSDEM
90K views • 16 years ago
Lecture 1: Introduction1:19:35

Lecture 1: Introduction

MIT 6.824: Distributed Systems
921K views • 6 years ago
Netdev 0x16 - Keynote: It's Time to Replace TCP in the Datacenter1:19:06

Netdev 0x16 - Keynote: It's Time to Replace TCP in the Datacenter

netdevconf
5K views • 3 years ago
Solid Ground // Saša Jurić35:15

Solid Ground // Saša Jurić

EMPEX Conference
14K views • 9 years ago
A New Way to look at Networking1:21:16

A New Way to look at Networking

Google
52K views • 19 years ago
8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 259:38

8 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2

GDC Festival of Gaming
94K views • 7 years ago
The Stellar Consensus Protocol | David Mazières | Talks at Google57:39

The Stellar Consensus Protocol | David Mazières | Talks at Google

Talks at Google
56K views • 10 years ago
Cory Benfield - Building Protocol Libraries The Right Way - PyCon 201631:38

Cory Benfield - Building Protocol Libraries The Right Way - PyCon 2016

PyCon 2016
15K views • 10 years ago