Live data from Hacker News

Matrix 2.0: The Future of Matrix

matrix.org

261–270 of 283 posts

Re: Matrix 2.0: The Future of Matrix

#261
post #260

Honestly what's the point given XMPP? Tried setting up Matrix, was a pain, went for ejabberd and it was a breeze. Gajim and c0nnecteasy work perfectly. Can't help but feel like if half the efforts of building Matrix went into XEPs or something we would have a rock solid IM alternative and clients by now. And tbf, can Matrix do group video calls? That's the only really useful feature missing from XMPP now, for which t…

the original post has a full section about Matrix’s support for E2EE group video calls, which you can play with at https://call.element.io. This, and much more, is the point.

Re: Matrix 2.0: The Future of Matrix

#262

Earlier quoted context omitted.

Unfortunately it won't connect. I have a home server that I connect to through VPN (not reachable online and with a self signed certificate). The old element asked me to allow the self signed CA but element X says it can't connect. I wonder if this is by design? Getting a let's encrypt cert is very difficult because my server can't get reached from the public internet. I have it that way because I use this one only f…

Right, we haven’t done TLS cert pinning or TOFU yet. Filed as https://github.com/vector-im/element-meta/issues/2073

Thanks! I wouldn't have found that myself. I'll keep an eye on that ticket.

Re: Matrix 2.0: The Future of Matrix

#263
post #231

Earlier quoted context omitted.

Matrix folks have been constantly over-promising and under-delivering for almost a decade now. If you've been following long enough, that should be of no surprise. Sorry for the bashing, but I got bitten once, and I see that nothing has changed in substance, so take this as a friendly word of advice: study the history of Matrix, its protocol, its implementations before committing to it seriously or for your org.

Hey, sorry that you got bitten; it must have been a catastrophic problem judging by how upset your comments are. If XMPP does what you need then I’m genuinely glad for you :)

"upset" isn't perhaps the best word, "bitter" would come closer, and not for my sake necessarily but for those who are still new to this.

You and I exchanged 1:1 around 8 years ago on MatrixHQ, when this whole thing was still somewhat new but the cracks were already apparent. Then, the room was crumbling, federation wasn't reliable at all, the overall performance for basic use cases was terrible and self hosting on affordable hardware would mean not federating with matrix.org. When I brought those observations up, you (kindly and approachably) promised that a new design was in the works and weeks away (something about fanning out, or whatever). Fast forward to today, all the points above still hold true in 2023. From a distance, Matrix has had synapse, dendrite, better synapse with workers, conduit, new components added left and right (sliding sync being the latest), and I'm not even talking about the community at large, taken hostage of the uninterrupted pace of breakage. And I couldn't resist laughing out loud at fosdem when hearing this year once again that we are weeks away from what we were promised 10 years ago.

I am sorry to be blunt, but I've never seen a project of this magnitude lacking so much in structure and focus. I admit that I regressed to being a complete outsider, and from my perspective on the sidelines it looks like this has no end in sight: Matrix is getting more and more complex and hard for hobbyists to deploy at a small scale/local level, New Vector's hosted instances have a de facto quasi monopoly on the user base and on the protocol implementation. I'd be curious to know how this dissonance fits in your mental model, because this insane technical complexity was sold as the price to pay for not letting servers hold too much network power.

Anyways, I don't doubt that this message will be met with a well written and kind reply, listing a bunch of fringe projects and ongoing initiatives to tackle this or that aspect of the same old problem. See you again in 10 years, maybe :)

Re: Matrix 2.0: The Future of Matrix

#264

As someone who works for a company thats developed their own end to end conferencing stack (utilizing webrtc stack on the client side and all custom conference servers and sfu on the backend), what would be the benefits of adding Matrix support and how exactly would that be done (at a high level)? What would the benefits to users be? Trying to understand what all the hype is about here, and whether or not this would…

Using Matrix would mean: * You get best practice audited (in the near future) end-to-end encryption * You get decentralisation if your users want to host the stack themselves * You get bridges to other systems (although not many FOSS voip bridges for Matrix exist today, admittedly) * Similarly, you get an open standard API on which you and others can write bots/apps and other extensions to add new functionality, and…

Well, we dont want e2ee because then we cant decode audio and transcribe, or record meetings. All of which are high demand user requirements. We dont want decentralisation either for the same reason. We dont interop with other video conference systems other than asterisk for dial in/out. And the ones that we might consider doing that for dont support matrix either. We want a fully integrated system for our users so i dont see external clients being a thing. An open standard api is a plus but in my experience there's always something they fall short on requiring something custom. This is why i find it difficult to see where matrix could improve anything for us. Trying to find some benefit but I really don't think there is one other than maybe marketing and saying we play nice with open source or open standards.

Re: Matrix 2.0: The Future of Matrix

#265
post #263

Earlier quoted context omitted.

Hey, sorry that you got bitten; it must have been a catastrophic problem judging by how upset your comments are. If XMPP does what you need then I’m genuinely glad for you :)

"upset" isn't perhaps the best word, "bitter" would come closer, and not for my sake necessarily but for those who are still new to this. You and I exchanged 1:1 around 8 years ago on MatrixHQ, when this whole thing was still somewhat new but the cracks were already apparent. Then, the room was crumbling, federation wasn't reliable at all, the overall performance for basic use cases was terrible and self hosting on a…

Yup, "bitter" sounds about right.

I'd be first to agree that Matrix hasn't evolved as rapidly as it should, and we (specifically me) could and should have been more focused. Building out future-looking projects like P2P Matrix or Low Bandwidth or Third Room has helped inspire folks to build on Matrix, but it's come at the expense of focus on the core spec & implementations. And that's one of the main reasons (besides funding) that we've shelved them for now. It's also true that 8 years ago, everything was flakey as hell.

However, whether you like it or not, we fixed it. The federation problems were resolved before the time of Matrix 1.0 back in 2019, and since then we've focused on making everything go fast too - e.g. Faster Room Joins in Matrix 2.0. We experimented with fan-out routing back in 2015 or so (as yet another future-looking experiment), saw it had potential, but at the same time saw that empirically full-mesh federation was good enough for the vast majority of cases. So we focused on fixing things like consensus bugs and lazy-loading joins rather than premature optimisation on full-mesh routing. Meanwhile P2P Matrix took over better-than-full-mesh routing, but practically speaking it simply doesn't buy enough to prioritise it relative to other stuff, and it certainly makes Matrix (even) more complicated.

> Fast forward to today, all the points above still hold true in 2023

This is demonstrably false, and it's particularly obtuse to be whining about it in the comments on a post on Matrix 2.0 which is literally dedicated to spelling out how Matrix has improved. Your complaint seems to be simultaneously that we've improved both the implementations (e.g. scalable Synapse) and the spec (e.g. sliding sync, removing Matrix authentication in favour of OIDC)... while complaining that the project hasn't improved since 2015. Personally, I think it's an extremely good thing that the new APIs start off as separate projects, which can evolve and release as rapidly as possible and benefit all homeservers, before being embedded into Synapse or whatever once they're stable. But it's also easy to spin this as "new components added left and right" as if it were a bad thing.

> New Vector's hosted instances have a de facto quasi monopoly on the user base and on the protocol implementation. I'd be curious to know how this dissonance fits in your mental model, because this insane technical complexity was sold as the price to pay for not letting servers hold too much network power.

There are >65k servers on the public network, of which about 2000 are run by Element (New Vector). All the biggest deployments (100K+ users) aren't run by Element (other than the matrix.org server), given the most people who pick Matrix do so because they want to run it themselves. Community services like Mozilla/KDE/GNOME are tiny by comparison, and they only end up hosted by Element because those projects don't care about self-hosting and would rather someone else runs it for them. They could equally well host with providers like https://etke.cc/ or https://ungleich.ch/u/products/hosted-matrix-chat/ or https://federated.computer or whoever; nobody's forcing them to use Element.

> Anyways, I don't doubt that this message will be met with a well written and kind reply

I'm sure you're a lovely person, but you come across as a complete asshole here, imo. Sorry you feel let down by Matrix; meanwhile most other people on the thread seem to think it has some merit. shrug

Re: Matrix 2.0: The Future of Matrix

#266
post #57

Techy friend group of mine migrated from Discord to a self-hosted private Matrix server a few months back. No complaints so far, although we didn't use Discord's voice/video/screen-sharing features (which I hear that Matrix intends to support eventually). UX-wise, it made me appreciate the distinction between Discord's "everyone is subscribed to every channel in a server by default" stance, and IRC/Matrix's opposite…

The plan on Discord-style voice/video/screensharing features is Element Call ( https://call.element.io ) which is built to be embeddable into Matrix clients. It’s already in Element X, and is in Element Web/Desktop behind a labs flag. Meanwhile you can always embed Jitsi.

As far as I'm able to tell most call functionality is built into the JS SDK (is this true), so what will embedding Element Call actually gain me? The (beautiful!) UI?

Re: Matrix 2.0: The Future of Matrix

#267
post #81

> Rather than exposing a kitchen sink of features and settings, we’re keeping Element X truly focused: doing one job and absolutely nailing it - all while harnessing the power of Matrix for secure, interoperable, open-standard communication. does this mean the Element X is more for the mainstream user and regular Element is better suited for power users?

Element X also is geared up for powerusers (e.g. as project lead, I consider myself a poweruser) and i've been absolutely loving it as my daily driver for the last few months on mobile. For instance, my account is in around 4,000 chatrooms, and Element iOS was taking ~10s to launch and sync, and could easily take minutes to sync in the morning (heaven forbid the app was offline for more than overnight). Meanwhile, El…

I'm really glad you're aware and trying to get in control of the UX paper cuts that sum up quickly.

Telegram has been adding a ton of features during the last 5 years, all while keeping the core experience pretty much the same (fast and seamless). Whatsapp is also doing this.

With some UX Design chops, you should be able to do it.

Re: Matrix 2.0: The Future of Matrix

#268

Earlier quoted context omitted.

The team rewriting Element as Element X is completely different to the folks who would need to make the change in Synapse to not send push to devices who are currently syncing. Agreed we should have fixed this years ago, especially as it's actually a feature in our pre-Matrix system back in 2012. There's basically a blindspot on long-lived missing serverside features like this; i've added it to a new hitlist we're ex…

Well, that doesn't exactly inspire confidence in the project for me.

The project is a mess, which is obvious if one follows it. There is only slow progress. Instead of focusing everyone on one thing to do it right, they focus on multiple things that remain half-baked forever, e.g. multiple concurrent implementations like Synapse and Dendrite, Element and Hydrogen, Element and Element X, etc. pp. They seem to have organizational challenges, stemming from technical founders who didn’t know that it takes more than technical knowledge to build a great product. I believe they’ve learned somethings, e.g. that Element’s UI has always been crap hence Element X now, which they’ve denied for a long time. But they are surely still learning, e.g. how to be a focused and decisive leader, etc.

A project is always in large a reflection of the leaders. It’s the messy hackathon type project - not the clear and polished corporate project.

Re: Matrix 2.0: The Future of Matrix

#269
post #268

Earlier quoted context omitted.

Well, that doesn't exactly inspire confidence in the project for me.

The project is a mess, which is obvious if one follows it. There is only slow progress. Instead of focusing everyone on one thing to do it right, they focus on multiple things that remain half-baked forever, e.g. multiple concurrent implementations like Synapse and Dendrite, Element and Hydrogen, Element and Element X, etc. pp. They seem to have organizational challenges, stemming from technical founders who didn’t k…

The reason historically for multiple concurrent implementations is because we're building a protocol, and multiple implementations dogfoods that - plus the different implementations service different segments. In practice, Hydrogen and Dendrite are currently deprioritised in favour of focusing on polishing Element X and Synapse. And Element Mobile is in security-maintenance mode only in favour of Element X.

Meanwhile, we massively fixed Element Mobile's UI a year ago: https://element.io/blog/an-unrecognisable-improvement-elemen... - and Element X is essentially the same UI... but on a different engine. So I'd argue that we were very aware that Element's UI was crap, which is why we fixed it. Rewriting the Element mobile apps as Element X is unquestionably the right thing to do in terms of sharing the same rust codebase between the two platforms and letting the app layer focus on UI.

Agreed that our progress has been slow, and our focus been has very broad at points. But we got there in the end, and certainly have learned from the journey (and built Matrix to be a much broader and successful heterogenous ecosystem as a result).

I'm sure your projects are all much more successful though - I'm jealous! :D

Re: Matrix 2.0: The Future of Matrix

#270

Earlier quoted context omitted.

The plan on Discord-style voice/video/screensharing features is Element Call ( https://call.element.io ) which is built to be embeddable into Matrix clients. It’s already in Element X, and is in Element Web/Desktop behind a labs flag. Meanwhile you can always embed Jitsi.

As far as I'm able to tell most call functionality is built into the JS SDK (is this true), so what will embedding Element Call actually gain me? The (beautiful!) UI?

It will gain you:

* The ability to use the end-to-end encryption identity & verification from your normal Matrix account, by piggybacking on the 'host' matrix client. Whereas call.element.io is not remotely designed (at all) to work with your normal Matrix account, and doesn't have any of the E2EE UI hooked up, and instead relies on a shared secret to access E2EE rooms

* The ability to place VoIP calls inside existing Matrix rooms from your normal Matrix account.

* The ability to reliably background the app & lock the phone when on a call.

* The ability to receive inbound calls via push notifications and CallKit/ConnectionService - i.e. presenting the calls in the native dialer UI of the phone, and treating Element X like a VoIP dialer.

You get the same beautiful UI whether you use call.element.io directly or embed it inside another Matrix client like Element X :P

Post reply on HN