3 ms·
Beyond the general idea of Matrix itself, a nice snapshot of all the stuff currently happening in the Matrix ecosystem right now is the This Week In Matrix blog
by Arathorn 6y ago
Beyond the general idea of Matrix itself, a nice snapshot of all the stuff currently happening in the Matrix ecosystem right now is the This Week In Matrix blog series, which goes out every Friday. This week’s one is at: https://matrix.org/blog/2020/08/21/this-week-in-matrix-2020-08-21 https://matrix.org/blog/2020/08/21/this-week-in-matrix-2020-...
Some of the stuff I’m personally most excited about right now is Hydrogen (https://github.com/vector-im/hydrogen-web https://github.com/vector-im/hydrogen-web): a super lightweight web client which heavily leans on indexeddb for storage and so minimises RAM. My primary account has 3000 rooms and about 450K visible users - on element-web this uses 1.1GB of RAM, but on hydrogen it uses 14MB :) We’re also looking at glueing E2EE into Hydrogen via the crypto layer of matrix-rust-sdk, which could be a massive win in terms of reusing and auditing a robust safe implementation for the Hard problem of encryption, rather than implementing it from scratch every time in every new client.
Dendrite (go server impl) progress is also very promising - we’ve been focusing on it (at last!) since the beginning of the year, and going to enter beta in the next few weeks. A typical small/medium live server is currently using 57MB of RAM (rather than synapse’s ~500MB). We haven’t started optimising yet :)
Synapse has also finally come of age - the whole codebase has almost been switched to twisted/asyncio rather than twisted deferreds, which both speeds things up a bit but also gives us way better visibility on profiling for future perf work. Almost all bits now scale horizontally (apart from the master dispatcher process). Synapse isn’t going away - we see Synapse and Dendrite coexisting much as Apache and nginx coexist today.
Conduit is also super exciting as an entirely community developed Rust homeserver, which currently runs ~10x faster than either Synapse or Dendrite (but doesn’t federate yet, or scale horizontally). It’s really fun to see an indie FOSS server implementation properly take off :)
Finally, P2P Matrix is coming together well - compiling Dendrite to WASM and running it clientside, using Yggdrasil currently as an overlay network to tunnel through to other P2P nodes.
In short: the Matrix ecosystem is in a fairly healthy place right now - the next gen of clients and servers should be incredible :)
- Legogris 6y agoThanks for the insight, and had completely missed the blog! On dendrite: What's your impression of friction needed to migrate an existing synapse home server to dendrite? Would bridges like the mautrix family be API compatible or would they have to add additional support for dendrite? And how far away would you say you feel it is until dendrite is stable and ready for individuals as personal production server? Not looking for dates, just a feeling for how worth it is to invest getting deeper into synapse if one intends to migrate to dendrite eventually.
- Arathorn 6y agoThe best way to migrate from synapse to dendrite will probably be by decentralised accounts. We have plans (driven by p2p) to let your account exist on multiple servers at the same time. The sort of way to do this would be to have @alice:example.com sign something on @alice:elsewhere.com to prove that she’s the same person. She then participates in all the same rooms from both accounts, which are presented as a single logical identity to everyone else. So example.com could be synapse and elsewhere.com could be dendrite, and she would automagically replicate her account over between the two. If she turned off example.com, she’d have migrated over. This is scifi right now, but it’s getting closer, as P2P isn’t very usable if you can’t sync your account across multiple devices/nodes. Alternatively someone could write a script to migrate synapse’s db into dendrite’s schema (or dendrite’s kafka logs), but it’s be pretty fragile given how rapidly both synapse and dendrite evolve. tl;dr: jump in with Synapse today - the water’s great (even if others have been scalded in the past). Migration to Dendrite or Conduit or whatever in future should be transparent, one way or another.
- ndarilek 6y agoWill it be possible to temporarily turn off example.com, let its absence propagate across the network a bit, then turn it back on under a new server? Synapse has been good to me, but I know Rust more than Python, and Conduit's use of Sled is one less moving part for me to maintain for my single-user server. Looking forward to migrating to a lighter server I can potentially hack on, and would rather not change the underlying DNS infrastructure much.
- Arathorn 6y agoNo, the idea is that to migrate you would have to run both servers side by side and then kill the old one. We haven’t yet figured out how you’d point the old matrix id to refer to the new server (as I assume your concern is keeping the same mxid as before), but presumably there will be a way to do so.
- Shared404 6y agoWill this work to migrate from the matrix.org homeserver to a self hosted one? I want to run my own homeserver, but I've already got an account on matrix.org and would rather avoid losing my contacts + rooms if possible.
- hestefisk 6y agoNice work. I’ve followed Matrix since the start and also contribute code to Synapse. I’m curious about Dendrite entering beta. Would you say it’s stable enough as a daily driver? Hydrogen also looks super interesting, although I would also welcome a fully featured native client.
- Arathorn 6y agoDendrite should be stable enough to experiment with as a daily driver in a few weeks when it enters beta. It won’t be bug free, but it should be largely feature complete and pass most of the sytest integration test suite.