14 ms·
Matrix 2.0: How we’re making Matrix go voom
- raybb 4y agoLink to YouTube video since FOSDEM video isn't loading. https://www.youtube.com/watch?v=eUPJ9zFV5IE https://www.youtube.com/watch?v=eUPJ9zFV5IE
- heybrendan 4y agoThanks for providing. Both the .webm and .mp4: "No video with supported format and MIME type found." Not a great UX, but certainly not worth anyone getting upset about, given FOSDEM is seemingly volunteer driven.
- mkeedlinger 4y agoThanks for the link. May I say, I am SHOCKED at how much they have been able to accomplish. Incredible. I'm sure it's not all rainbows but the demos were amazing.
- camgunz 4y agoNB: I can't seem to watch or download the videos
- snvzz 4y agoOnce this is deployed, Matrix will finally be providing the bare minimum to be actually workable. About time. Then we can finally try and bring in everybody who's currently trapped in proprietary IM.
- jacooper 4y agoMost of the problems lie in the clients though. Which should improve with element X.
- snvzz 4y agoAIUI Element X is just an element build with these "Matrix 2.0" features. It is not a new client. Both the servers and the clients will have to be updated to leverage them.
- Arathorn 4y agoElement X is an entirely new client written in Rust + Swift UI/Jetpack Compose (https://github.com/vector-im/element-x-ios https://github.com/vector-im/element-x-ios and https://github.com/vector-im/element-x-android https://github.com/vector-im/element-x-android) which will eventually replace the legacy Element apps (https://github.com/vector-im/element-ios https://github.com/vector-im/element-ios and https://github.com/vector-im/element-android https://github.com/vector-im/element-android). The features already exist serverside; we're just working on getting them out of beta.
- snvzz 4y agoThanks for the pointers, had no idea. I am hopeful it also improves resource usage, bringing it closer to hydrogen. Is this also for the desktop/browser version?
- DoItToMe81 4y agoAlso curious to know if it has web clients and desktop clients.
- Arathorn 4y agoWe're not planning to rewrite Element Web/Desktop in Rust (yet), so the current app will remain there - although we're going to give it a fairly major UI refresh to match the new mobile apps.
- deleted 4y ago[deleted]
- tonyoconnell 4y agoThe Matrix is my last hope for a free internet.
- superkuh 4y agoReally? Not IRC? Matrix is so heavy in terms of the protocol. It has almost all the state stored on the server instead of the client. That directly leads to legal/societal issues and now the server has to deal with. Unlike IRC which is basically just a bunch of sockets and IPs passing data without storing state. And that's not even getting into the computational and network problems moving and saving all that state causes as addressed in this very update about how they're trying to mitigate the architectural problems I just mentioned. But they'll only be mitigations. And the legal/social problems will still exist and since everyone (ie, 99%) of people use the Riot.im/Element.io matrix.org homeserver that means social/legal pressures can be easily applied. I like Matrix. I even use it for video chat because of the sars-cov-2 pandemic. But it is no hope for freedom.
- neoromantique 4y agoIRC is nice, but it is very bare. I would somewhat understand if you mentioned Jabber, but even then Matrix is a superior choice these days.
- superkuh 4y agoIRC isn't bare. You're just looking at it wrong. IRC is the text communication layer of the internet which is the platform. Centralizing all functions into one protocol is not a great idea.
- neoromantique 4y agoThe world has moved beyond where just text is sufficient, IRC as a protocol is no longer relevant, sad but true. And I say that as a regular on multiple IRC networks, some through Matrix bridge.
- moffkalast 4y agoUnfortunately, no one can be told what the Matrix is. You have to see it for yourself.
- Loic 4y agoFor my company, we are using an hosted offer from Element.io[0]. It works wonderfully, it became a really nice hub of communication, information sharing with dedicated rooms for different stuff (CI/CD, link sharing, planing, etc.) and the service has no downtime I can remember in the past year. Highly recommended and this funds indirectly the development of Matrix. [0]: https://element.io/pricing https://element.io/pricing
- benatkin 4y agoThat seems like a pretty good open-core project with the core under the Apache 2.0 license. Still, unlike GitLab, I haven't heard of many running their own custom Element and until I do I'm a bit wary of lock-in.
- Arathorn 4y agoHow can you get locked into an open protocol?
- benatkin 4y agoBy getting locked into tools on top of it.
- camgunz 4y agoI think generally the point here is: if you're worried about getting locked into a totally open ecosystem, there's nowhere for you to go.
- benatkin 4y agoI specifically mentioned something that I was more comfortable with: GitLab So I don't know where you got "there's nowhere for you to go" from. Element has open source apps and that's great. It just seems to not have a very strong culture of people self-hosting it. Though one comment did provide me a place to look and I found this and am now more comfortable with it. https://schildi.chat/ https://schildi.chat/ Still it would be great to see it have some big instances like GitLab does with Debian, Freedesktop, and others. Then I wouldn't feel I was going it alone if I self-hosted it.
- jimlongton 4y agoI hope their security is better than in 2019 when the French Tchap service based on Matrix was immediately compromised by a trivial attack [1]. Matrix.org has also been breached in the past [2]. That's ignoring the fact their project was born out of a company that operates front offices for one of the world's most aggressive spy agencies... [1] https://medium.com/@fs0c131y/tchap-the-super-not-secure-app-of-the-french-government-84b31517d144 https://medium.com/@fs0c131y/tchap-the-super-not-secure-app-... [2] https://matrix.org/blog/2019/04/11/we-have-discovered-and-addressed-a-security-breach-updated-2019-04-12 https://matrix.org/blog/2019/04/11/we-have-discovered-and-ad...
- preya2k 4y agoGot a source for that third claim of yours?
- jimlongton 4y agohttps://en.wikipedia.org/wiki/Matrix_(protocol)#Funding_Crisis https://en.wikipedia.org/wiki/Matrix_(protocol)#Funding_Cris... AMDOCS has been accused multiple times of being an extension of Mossad, including in the US where the investigations got quietly ended. Leaked cables from 2009 showed they were also on the radar of South Africa's intelligence agency [1]. [1] https://www.news24.com/news24/spy-cables-were-israeli-spies-tapping-sa-cellphones-20150430 https://www.news24.com/news24/spy-cables-were-israeli-spies-...
- preya2k 4y agoThanks for the links! It is very interesting, but I', not sure how/if what kind of influence this has on Matrix. Just because they were born out of a shady company, doesn't invalidate the project. Heck, we're using software (Disassemblers) that are maintained by the NSA (Ghidra) these days. Since they are open source (just like Matrix and Element) we can still be pretty sure that they're not doing anything shady.
- kitkat_new 4y ago
- neilv 4y agoWhat are the implications of these changes for someone else wanting to make an interoperable Matrix server or client from scratch? Will it be easier than before? (I've written several IRC clients, and a simple one could be done in an afternoon with only a sockets/TLS library. But when I looked at Matrix briefly, implementation seemed very big-moat. And now it's a rapidly moving target.)
- Arathorn 4y agoMatrix clients should be super easy to write - e.g. https://news.ycombinator.com/item?id=20948530 https://news.ycombinator.com/item?id=20948530 Servers are definitely harder - it's probably similar complexity to writing a git implementation (given it's basically doing the same operation: synchronising DAGs of commits between replicas of a chat room). In terms of it being a rapidly moving target: from memory we've never broken backwards compatibility on Matrix since day 1 back in 2014. "Matrix 2.0" is not a breaking change; it's just adding some new APIs to change performance to be O(1) rather than O(N) (and switching to OIDC for auth and native VoIP for multiparty). So, overall, I'd say it makes things easier: both Matrix client & server authors will no longer have to mess around implementing custom auth (which was a huge burden to get right), but be able to use existing mature OIDC implementations. Meanwhile, the new sync API should be as easy as the old one (although we haven't really done a like for like comparison yet, given we've been obsessing about driving the new sync API as efficiently as possible)
- neilv 4y agoI don't see the end-to-end encryption there. Nor any of the other tablestakes features.
- Arathorn 4y agoWell, if you want end-to-end encryption, then obviously that's going to be hard to write from scratch(!) - especially if you want it to be secure. However, we make it trivial to get up and running by piping your client through a proxy like Pantalaimon (https://github.com/matrix-org/pantalaimon/ https://github.com/matrix-org/pantalaimon/) which takes your normal traffic and makes it E2EE. Not sure which "any of the other tablestakes features" you have in mind... obviously if you want loads of features, then you're going to have to write a whole bunch of code to implement them in your client, or build on an existing SDK like matrix-bot-sdk, matrix-rust-sdk, matrix-js-sdk etc. Not sure that's a disadvantage of Matrix though(!)
- 2Gkashmiri 4y agoAny word on EU DMA and other messaging interoperability? .... . Is there some github repo or some other place where orgs are discussing this?
- Arathorn 4y agoThere's https://datatracker.ietf.org/doc/draft-ralston-mimi-matrix-transport/ https://datatracker.ietf.org/doc/draft-ralston-mimi-matrix-t... and https://datatracker.ietf.org/doc/draft-ralston-mimi-matrix-message-format/ https://datatracker.ietf.org/doc/draft-ralston-mimi-matrix-m... and associated work around the IETF MIMI group, where we're proposing Matrix as a solution to DMA interop.
- nehal3m 4y agoI've been happily running a Synapse homeserver with Matrix on top. It has a couple of bridges (Discord/Telegram/Signal) so the people I invite through those platforms can use my server to get to those services, optionally. Slowly but surely my friends have been migrating. In my experience Element for Android starts off pretty fast, but as the weeks progress it gets slower and slower to load chats. Element on Linux does not have that problem, and neither does Schildichat for Android. It is my client of choice, anyone frustrated by a slow client should try that one on for size. That said I'm excited for the new version. I used this Ansible/Docker setup, easy as pie: https://github.com/spantaleev/matrix-docker-ansible-deploy https://github.com/spantaleev/matrix-docker-ansible-deploy
- raybb 4y agoIn the talk they explain why the app gets slow now and how the app they plan to release by the end of 2023 fixes it with sliding sync. Hopefully that improves your situation
- fenesiistvan 4y agoHow Matrix is better then SIP?
- Arathorn 4y agoThe 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 https://github.com/matrix-org/matrix-spec-proposals/blob/matthew/group-voip/proposals/3401-group-voip.md https://github.com/matrix-org/matrix-spec-proposals/blob/mat...) 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 you can jump straight in and have interoperable Zoom/Teams/Jitsi style conferences (as shown in the OP at https://youtu.be/eUPJ9zFV5IE?t=1513 https://youtu.be/eUPJ9zFV5IE?t=1513) - Matrix isn't just for boring old PSTN/PBX-style 1:1 calls, but for the conferences folks actually expect to use today. You can play with it at https://call.element.io https://call.element.io, and if you really want to compare with SIP, go to the developer tools in options and turn on callflow mode, which will draw little mermaid sequence diagrams of the call signalling for the calls, so you can see precisely what's going on :)
- chagaif 4y agoI'd be curious to hear what would be something that SIP is actually better than Matrix at, any ideas? :)
- Femtiono 4y agoShouldn't it be vroom?
- Arathorn 4y agoMatrix 2.0 will run so smoothly there won't be any nasty rattling r's in the onomatopoeic voom :P
- the_duke 4y agoVideo not available yet?
- ridiculous_fish 4y agoAre there any guides or examples of chat rooms for open source projects using Matrix? We would like GitHub integration, strong spam/moderation features, and avoid the hassle of self-hosting. gitter.im used to provide those, but they were lost in the Matrix switch.
- kgodey 4y agoWe use Matrix for our open source project: https://wiki.mathesar.org/en/community/matrix https://wiki.mathesar.org/en/community/matrix. We self-host a Synapse homeserver, but there's no reason why you can't set up a community on one of the big existing servers (e.g. matrix.org). Their Spaces feature allows you to package groups of channels together. I set up Maubot for GitHub integration: https://github.com/maubot/github https://github.com/maubot/github. There are moderation features, but we haven't had to use them.
- Arathorn 4y agoMatrix's moderation should be at least as good as Gitter. The GitHub integration is okay (it lets you create/comment/resolve issues using your GitHub identity from Matrix, and also can expose GitHub issues as Matrix rooms using https://github.com/matrix-org/matrix-hookshot https://github.com/matrix-org/matrix-hookshot). It's not quite as tightly integrated as GitHub was to Gitter though, but we're working on putting it in the Right Panel. Some example Matrix communities which seem to work well include Mozilla (chat.mozilla.org), GNOME (https://matrix.to/#/#community:gnome.org https://matrix.to/#/#community:gnome.org) and KDE (https://webchat.kde.org/ https://webchat.kde.org/). Smaller ones include folks like Helix editor: https://matrix.to/#/#helix-community:matrix.org https://matrix.to/#/#helix-community:matrix.org. I don't think anyone's written a guide for getting up and running though, which in retrospect is a crying shame; we'll get it on the todo list. (p.s. thanks for Hex Fiend! :D)
- faho 4y ago>Matrix's moderation should be at least as good as Gitter Well, yes and no. The moderation features might be the same, but: 1. It's a lot easier to make matrix accounts, especially if you run your own server. 2. The user interface for blocking an entire server is basically missing? The only thing I can find has you run a bot to do it? So if someone with their own homeserver wants to troll you, you end up playing wack-a-mole unless you self-host a bot. At least that's the best I can find so far.
- alexisread 4y agoI would love to recommend Matrix to friends, but the last time I looked, migration of chat history from other protocols was still in development. Has anything changed here, particularly wrt WhatsApp?
- hdhrufjdi 4y agoIt's supported, e.g. mautrix-telegram uses it: https://github.com/mautrix/telegram/blob/master/ROADMAP.md https://github.com/mautrix/telegram/blob/master/ROADMAP.md
- erinnh 4y agoCant really talk about WhatsApp. The term you should be searching for in the bridge documentation is "backfill". On Telegram it works fine for me.
- 2Gkashmiri 4y agoIMO WhatsApp bridge requires you to have a WhatsApp account logged into the bot who uses it as WhatsApp web. It saves you the trouble of opening two apps. Nothing more. We should have telegram style bridge that let's you talk to WhatsApp accounts without having an account in WhatsApp. Maybe EU DMA will do it? I don't know
- josephcsible 4y ago> IMO WhatsApp bridge requires you to have a WhatsApp account logged into the bot who uses it as WhatsApp web. That seems like a strange statement to preface with "IMO".
- 2Gkashmiri 4y agowhy not? i've not personally done a bridge yet and all the docs i've read say that but i had someone inform me last time "whatsapp bridge does not require a whatsapp number now" but i've not been able to find records for that so yeah, in my opinion, that is the current practice but i am not sure
- pkulak 4y agoDoes anyone know how this will work for us folks hosting ourselves? Do we set up a new instance of a sliding sync server, with it's own DB and all that, or do we wait for it to all get integrated into the existing Docker deploy somehow? I'm really excited to hop on the new ElementX client ASAP, which will apparently not work with anything but sliding sync.
- cvwright 4y agoIf you’re really eager to try it out, then apparently you will need to set up the sliding sync proxy in front of your homeserver.
- pmayrgundter 4y agoThe demos in this are pretty hot. Awesome work Matrix folks! Also, https://thirdroom.io/ https://thirdroom.io/ is very interesting! https://github.com/matrix-org/thirdroom https://github.com/matrix-org/thirdroom
- heybrendan 4y ago@Arathorn, proud operator of Synapse (for 2+ years) chiming in! Another superb conference talk and thank you for all you do. We're running an ancient build. Is your Synapse installation walk-through [1] still the latest/greatest guidance in getting started, for those looking to refresh their environment? [1] https://www.youtube.com/watch?v=dDddKmdLEdg https://www.youtube.com/watch?v=dDddKmdLEdg
- Arathorn 4y agothanks :) yup, the old Synapse walk-through should still be accurate - I need to record a new one!
- v3ss0n 4y agoMatrix: good specs and protocol , but product wise , it offer nothing new compared to RocketChat , Slack , Mattermost . High noise low signal. Zulip is the actual game changer in innovation of the conversation flow and makes the team actually more productive. Topic focused conversation flow make things actually productive and it made us a lot more productive. And Zulip now supports public mode , look at official rust community and zulip's chat.zulip.org . It drives collaboration.
- esperent 4y agoI've been using RocketChat for a while and I like it, but there definitely room for improvement. So I just spent the last ten minutes looking up Zulip. I didn't find anything to suggest that there's much difference between this and other open source messaging projects. Google searches just turn up the usual blogspam. What have I missed? Could you share a review or something that goes into the difference?
- v3ss0n 4y ago- It is like combination of forums and Chat , every messages needs a topic - Topic can be organized easily and smart - Full markdown + Topic + Back referencing topics so you can use it creatively , a a chatroom + knowledgeable system. - Well architect , well documented , all architecture decisions are documented , code is very readable and modifiable (i modified it to make it work like a realtime project management system and we ditched odoo , jira ) . Here is what zulip with topics look like : https://imgur.com/a/D0JINo1 https://imgur.com/a/D0JINo1 Here is how we modified and patched it to become a realtime project management system. https://imgur.com/a/9hM0gwy https://imgur.com/a/9hM0gwy https://imgur.com/a/LB2teYl https://imgur.com/a/LB2teYl https://imgur.com/YOWDNg7 https://imgur.com/YOWDNg7
- esperent 4y agoOk that looks interesting, thanks for taking the time to share. I actually think that interface would be contrary to my use case which is a chat system for mostly non-technical staff. The closer to what they're already familiar with the better and Rocketchat works great for that. I think Zulip would be confusing. I'll file Zulip away in case I'm doing a more tech focused project in future.
- lakomen 4y agoIt's not for me. I tried the official server. It's nothing I can recommend. Lots of porn and some open source channels and lots of coin crap. I wanted then to use it to run my own for romance chat purposes, why reinvent the wheel. Well there's the official python server and the Go version isn't feature complete. All I got out of the element client were a few nude pics and message streams that were completely uninteresting. Also there were so many pedophiles on there that I refused to be associated with them and deleted everything. I reported and blocked so many but it's no use. No matrix for me.
- throwaway67743 4y agoWhile pushing for the spec to be useful is fine they've forgot the important things: usability. Even now, after nearly 12 months the reference client manages to lock android up (multiple devices, 11-13) to the point where every other app hangs and the only fix is a reboot. There are ecosystem failings too but none of those are as bad as having exactly 0 usable clients on a platform that has such a huge market share. I want to know if you intend to fix it or just ignore it? (For Aaron) Also as a bonus answer, how 45 million ends up with nothing to show for it.