- cross-posted to:
- privacy@lemmy.ml
- linux_lugcast
- cross-posted to:
- privacy@lemmy.ml
- linux_lugcast
Highlights include Sliding Sync (instant login/launch/sync), Native OIDC (industry-standard authentication), Native Group VoIP (end-to-end encrypted large-scale voice & video conferencing) and Faster Joins (lazy-loading room state when your server joins a room).
I have to say “Element X” is a very unfortunate name choice …
I think it’s supposed to become just normal element when it gets feature parity with current element
It is just a codename, Element X is going to be just Element once it replace the old one.
deleted by creator
Jesus just go back to calling it Riot.IM the name keeps getting stupider and more corporate.
Matrix has had a bit of trouble penetrating the enterprise market, which is where the real money is. Hence the corporate-speak rename.
I mean, they haven’t had that much trouble. Last I checked they had portions of the French and German governments using Matrix as a secure messenger. (To be fair, those both came after the rename.)
Their main competitor in the open-source, self-hosted space is Mattermost, which has a much more business-oriented solution, so there’s that as well.
That seems more like a direct competitor to Slack and MS Team to me rather than general communication. Matrix is a facinating protocol that keeps pushing the limits of federated communication but it always sucked as replacment for those and unless someone invests huge amounts of money in a completely new client I don’t see taht changing any time soon tbh.
deleted by creator
Riot games forced them to change the name.
Calm down, it’s not a rename, it’s a name for the preview client only. Temporary.
I wanted to try Element X but apparently my self hosted server is not compatible.
Ah there is a solution for it https://github.com/matrix-org/sliding-sync I guess I could try to install it.
Yeah I was able to install sliding-sync on Dendrite without issues. A bit surprising that I didn’t see any guides made for it yet.
Did you find docs? I did a cursory glance around late last week and ended up just shrugging assuming that’s what I got for using Dendrite (positive)
Edit: Turns out, when running sliding-sync you really only need to patch the
.well-known/matrix/client
configurationThere was a how-to video linked in one of the articles.
Yeah, it sounds like it’s sponsored by Elon Musk.
I wish the whole project was a little bit more clever with its names. Matrix and Element are not unique enough names and can cause a lot of confusion.
I like the project though and still hope it continues to succeed.
see it this way: shite names that are just an actual thing that’s symbolically related in some way is a sign that the project is primarily run by programmers and not PR people.
Yes, the generic names make it a nightmare to search for things relating to them.
Their native group VoIP calling looks to have a solid topology that could easily replace Jitsi in the near term, and eventually compete with larger scale conferencing services like Zoom. That’s kind of exciting for those of us who care about open systems and privacy.
Okay, help an old-timer out.
Lemmy :: Reddit
Mastodon :: Twitter (I refuse to call it “X”)
Matrix :: ???
Is it like discord? The olden days of AIM/ICQ/IRC?
Featureset-wise it falls somewhere between IRC and Discord.
2.0 seems to be closing the gap towards Discord more. Which I like.
Does there tend to be logical groups for Matrix channels/servers? (Meaning you don’t really just join Matrix, you go to a Matrix instance for Jerjoba support, or other common interest like Hockey?)
There do tend to be in logical groups, e.g. you’ll see all of Mozilla’s stuff in their server - but there are quite a few general purpose servers.
Matrix has a concept of “spaces” for grouping people and rooms into a unit.
I’m not the best person to ask as I just chat on a few channels in a single server.
There definitely are software projects that run their real-time support through Matrix in the same way others do it through IRC or Discord.
At the same time most servers seem to have a General room (or similar) for off-topic chats.
Peruse the big list of public rooms here. That might give you a sense of it.
Matrix really is 21st-century IRC.
I will get shit for writing that, but Matrix in its current form shouldn’t have seen the light of the day, nor should have been let to spread with close to no technical scrutiny and based on empty promises/hype like it did.
Just to be clear, I’m absolutely encouraging, in fact, actively promoting federated alternatives to things like WhatsApp, Messenger, Signal, Telegram, …
But I don’t believe for a second that the foundations on which Matrix is built make sense, can be made to work well in practice, nor represent a problem worth spending so much time and effort solving. This article does a good job at introducing the “behind the scenes” of the protocol: https://telegra.ph/why-not-matrix-08-07The whole history of Matrix can be summarized as:
-
“let’s do this because it’s cool”
-
“shit, it’s hard/slow, but we will figure it out”
-
“I have a breakthrough, here comes a new version of the protocol/client/…” (the ecosystem reboots)
(rinse and repeat)
Matrix has seen more incompatible reincarnations of itself in the last 5 years than XMPP in the last 20. Arathorn, its lead contributor and evangelist will keep apologizing, promising that this time they have their stuff in order, that whatever buzzword will solve this or that aspect of the problem, while the elephant still is in the room. You practically can’t tell apart arathorn’s messages of 2015 from those of 2022 and that would be funny if it wasn’t so sad.
IMO Matrix is broken beyond repair, while XMPP is quietly used by millions of users. I wish Matrix could carry its own weight and be so unambiguously better that we wouldn’t need competing alternatives there. To me, the better XMPP is XMPP itself, and I’d be happy to elaborate on that.
I agree in theory, but in practice my experience with Matrix has been infinitely better than with XMPP:
- There is no decent client for all major platforms on XMPP. Conversations is “good” on Android, but what is its equivalent on iOS? On the desktop, Pidgin/Adium were ok if you wanted just to chat, but audio/video required a lot of work.
- No decent web-based client for XMPP.
- Setting up e2ee is a pain.
- Setting up MUC is a pain.
- To this day I did not manage to set up video chat on my XMPP server, or at least I never found someone on a different server that managed to connect with mine.
Matrix may be technically complex, but at least it has managed to keep its ecosystem together. Whenever I’ve faced an issue with my server, all I needed to do was upgrade synapse. The “millions of users” in XMPP are mostly all on their own silos, while I am yet to have an issue where I want to chat with someone on Matrix but couldn’t because their client/server was not compatible with mine.
Yep, I’m absolutely appreciative of the good work put together by the Matrix folks on the client side, element is overall okay (although slow, quirky, unstable, …) because of fighting a misguided and unstable server and protocol.
To answer your points:
- what is its equivalent on iOS?
- No decent web-based client for XMPP.
I would argue that https://movim.eu/ is at least as good as element web. https://conversejs.org/ does the job to bridge across native clients.
- Setting up e2ee is a pain.
What is there to set up? The experience is very comparable to Signal and al. What did you find painful?
- Setting up MUC is a pain.
How so? It depends on the client, but on Conversations it’s a matter of clicking on + → “Create private group chat” or “Create public channel”. In gajim it’s + → “Create group chat”
- To this day I did not manage to set up video chat on my XMPP server, or at least I never found someone on a different server that managed to connect with mine.
For calls to work, you need to use a stun/turn server (like everything everywhere else, including Matrix, Jitsi Meet, …). If you self-host, and you have a recent ejabberd, it’s configured out of the box and you just have to open server ports.
Matrix may be technically complex, but at least it has managed to keep its ecosystem together.
Another way to put it, is that matrix is technically so complex that only a single party can afford to develop and maintain a working implementation. The documentation is lacking and alternative implementations are incompatible in effect. This isn’t a sustainable situation (that those who define the standard are the ones implementing it) and we have started to see the cascading effects of that with the bitrot of the IRC bridge with libera.chat for instance.
I am yet to have an issue where I want to chat with someone on Matrix but couldn’t because their client/server was not compatible with mine.
it’s funny because I’ve never experienced that in the XMPP world where the protocol is so stable that you can just S2S/C2S with decades-old servers seamlessly, whereas failing to update synapse for a matter of weeks guarantees compatibility issues. And I’m not even talking about 3rd party implementations like conduit for which incompatibilities is a guarantee.
@u_tamtam @pezhore It’s not like XMPP doesn’t have issues. Finding a combination of clients and servers to get a coverage of the XEPs you want is quite an exercise. MUCs are painful, especially if you want to join from multiple clients. Cross-device trust between accounts for E2EE AFAIK still requires each device to trust all the other devices manually. Matrix has many more multimedia features.
It’s not like XMPP doesn’t have issues.
True, but the problems you mention really are a thing of the past (I’d like to get your feedback after using latest versions of maintained clients), and message delivery across multiple devices and networks does, in my experience, work much more seamlessly and reliably than on Matrix (I mean, there must be a reason why google is using XMPP behind the hood to push every single notification on every single Android device on earth, right?).
And those are client/polish issues anyway, delivering messages at enormous scale has been a solved problem in XMPP for two decades, the protocol hasn’t changed, essentially, but Matrix still hasn’t found a solution to their self-inflicted problem: https://telegra.ph/why-not-matrix-08-07
XMPP - now that’s a name I haven’t heard in a long time. I thought the woke Google chat federation and subsequent drop pretty much killed it off - but I’m glad to be wrong.
Are there XMPP based group chat/Matrix/Discord alternatives?
There is whole social network built on top of it. https://movim.eu
@pezhore @u_tamtam Your question may require a bit of specifying. Discord is a product and a platform. XMPP and Matrix are protocols. So, uh, it’s a bit like asking whether there are any SMTP or IMAP alternatives to Google Groups? There are *many* servers and clients and supporting bots and libraries that do many things. What specific things are you interested in, to narrow it down somewhat?
Well, I’m slight embarrassed. I think that was part of my confusion about Matrix - it seemed to me that it was both a protocol and a platform. That colored my memory of XMPP too. IIRC, Jabber was the client and protocol before the protocol was renamed to XMPP.
As for what I’m interested in - I’m not sure. I don’t really use discord save for a few Patreon follows; my friends use a group Signal chat. I think maybe I’m interested in recapturing the old IRC feeling of finding a chat room and just “hanging out”? I suppose I could always dig out my Irssi client config and just join Freenode again.
(Ye gods, wtf happened here to Freenode/Librachat?)
@pezhore The confusion is somewhat warranted, since matrix.org is the main/largest instance of Matrix the protocol, using Synapse the server, and having web access via Element the client.
For just text chat, anything will do. Matrix has the bonus of having a liberachat gateway, though it’s had issues recently.
But, the experience is somewhat different. [1/n]@pezhore XMPP and IRC (to my knowledge, which very well may be outdated) are quite similar - you join a room from a client, you get a nickname, maybe a few lines of history, you chat, you close your client or lose connectivity, you don’t know anymore what’s happening there. You want to join from another client, that’s a separate session, with a different presence and name on the channel. Your clients don’t share history etc. [2/n]
@pezhore With Matrix, depending a bit on channel settings, your account joins the room and gets either all history or starting from the point of joining. And your account is in the channel. Regardless of what clients you use, and how many of them you use, and whether they’re online at the time or not, it’s your server keeping track of what’s going on in the channel, and keeping history of it, so you have one presence and same view regardless of type and count and connectivity of clients. [3/3]
XMPP and IRC (to my knowledge, which very well may be outdated) are quite similar - you join a room from a client, you get a nickname, maybe a few lines of history, you chat, you close your client or lose connectivity, you don’t know anymore what’s happening there.
That’s not true in the case of XMPP: upon reconnecting, any modern client will request from the server enough messages to recreate the missing history (of course it’s up to you/the client to put a limit to that if you want).
I think even IRC(v3) is taking that route.
XMPP itself is the alternative, and the client you use shapes the user experience. If you want something that’s comfortable for large chat rooms and dealing with a handful of them on desktop, gajim is hard to beat IMO, if you want something web, movim and conversejs are good alternatives :)
-
Kind of a mix between Discord and IRC. Although it doesn’t have servers like Discord and is more of individuals rooms. In fact they made bridges an important feature, so an IRC room and Matrix room can be merged together without either side really noticing a difference. Same with Discord and a ton of other programs.
Although it doesn’t have servers like Discord
They’re called Spaces on Matrix
If you actually tried spaces, you’d realize they’re incredibly clunky and not even close to discord rooms. You can’t even search for them. They’re not quite there yet, they leave a lot to be desired.
deleted by creator
The organization does suck, I do agree with that. It still needs a lot of UX improvements too. Though you can turn off read indicators in the settings, and I feel like it is a lot faster then commenting on Lemmy. Lemmy being written in rust is actually causing a lot of issues. It’s not a good language for web applications and it’s really starting to show. It also hasn’t prevented security issues either.
Synapse, the most up to date matrix server, is really slow and resource intensive for sure. But, it’s currently in middle of being replaced with Dendrite. It doesn’t support all the bleeding edge features, but Dendrite has caught up enough to be able to run servers just fine now. In fact Dendrite is light enough to be ran in the mobile Element client, or at least that’s the plan in the near future while they work on p2p. You can read more about it here: https://matrix-org.github.io/dendrite/faq
deleted by creator
You can check the beehaw writeup if they didn’t defederate already. They’ve been having too many issues with Lemmy, and it’s been a battle with the developers. On Element desktop you can disable sending read receipts, but not mobile which is stupid.
I think you and those responding to you are conflating Matrix and Element and Synapse.
Spaces are a UI feature in Element for grouping rooms. Element is only one of many Matrix clients.
Element, the client, is written in typescript and kotlin.
https://github.com/vector-imSynapse, a server implementation using the Matrix protocol, is indeed written in Python.
There are several other servers, written in Go, Rust, C, and C++.
https://matrix.org/ecosystem/servers/Matrix is the protocol itself. Blaming it for UI problems is like blaming TCP for the toolbars in Internet Explorer: very remotely correct.
You’re not correct about spaces being a UI feature.
Spaces are now part of the protocol and are stored server side with your account data. Other clients - like fluffychat - can work with spaces just like Element.
They were element only back while they were being tested, but are now a direct replacement for the old - deprecated - groups functionality.
You had me second-guessing for a minute, but I think the other commenter is correct.
One can definitely use Spaces in other clients, even Beeper supports them. So if it was an Element-specific feature, it doesn’t appear to be any longer.
Yeah, spaces need server side support too. Technically they are just rooms that are handled differently, but it’s not just a UI feature.
Although it doesn’t have servers like Discord
The other way around. Discord does not have servers
Ackshully they’re called guilds 🤓
technically it’s an eventually consistent federated database (or series of databases i guess? dunno), which just happens to primarily be used for instant messaging similar to discord but also inheriting features from IRC.
love to see it
Been waiting for this for a long time! Another thing that’s been on the horizon I’m eagerly waiting for is p2p. They’ve been working on Dendrite, which is a much more efficient Synapse, and the goal is to be efficiently running it to effectively running it on your own device as like an invisible self-host. They’re working on MXIDs as well so @hostname.com wouldn’t be a thing anymore. P2p with all this other tech would make Matrix really the privacy holy grail imo.
They’re working on MXIDs as well so @hostname.com wouldn’t be a thing anymore.
Are you sure about that? I think they’ll still exist, but will be less meaningful, as a users identity will be backed by cryptography instead of their name with the HS name
afaik server domains would essentially just be aliases for a user’s UUID, like how it works with rooms.
“Sliding sync” is Matrix’s own admission that the protocol is too complex and taxing on clients to be practical, and shifts the burden further onto already overwhelmed servers for what’s essentially bouncers marketed as new tech. And it’s still a mess.
I can’t wait to see what you’ll develop in response!
I won’t need to develop anything in response, because an open-standard (IETF) protocol for federated instant communications already existed long before Matrix, and as far as I can tell, from my experience of having administered XMPP and Matrix servers for hundred of users, nothing about Matrix, its design and its implementations makes it more desirable, more reliable, more resilient or more “future proof” than what XMPP came-up with a decade earlier.
And I am aware that I sound like an old man yelling at clouds, I take comfort in the fact that more and more technically-versed people who look behind the marketing and buzz get to see what I know from experience: https://telegra.ph/why-not-matrix-08-07
I think most of the criticism on Telegraph regarding how Matrix handles rooms and events are addressed by the work behind linearized matrix: https://www.qwant.com/?l=en&q=linearized+matrix+messaging&t=web
Since its inception, Matrix has always been “months away” from cracking this very problem, I won’t hold my breath for this one, not after 10 years of kicking the same can down the road.
“Sliding sync” is Matrix’s own admission that the protocol is too complex and taxing on clients to be practical
I know of no major messaging service where the client wants to download everything
Seems like they’re building other things in rust, about time for the server? Seems like bloated servers are the biggest downside of matrix. Does anyone more educated on this topic know why it’s not a thing?
Because Synapse is already widely used. The Matrix foundation is also building Dendrite, which is in beta and written in Go.
Conduit is another server, in Rust https://gitlab.com/famedly/conduit
Dendrite has been in Beta for so long.
I remember installing Synapse 6 years ago thinking “whatever, I’ll reinstall it anyway”.
Welp
Covering up a bloated protocol by a faster language has its limits though, and in the case of Matrix, well, a faster language only buys you little
Anyone know how to get a self-hosted synapse server updated to support all this?
For now, you need to run a sliding-sync proxy besides synapse. They’ll integrate it properly, but for now the focus was on getting it to work.
Yes, I’m confused by the released messaging. It feels like there may be a new server requirement. Search this page for Synapse https://element.io/blog/element-x-ignition/ to see the link to the guide.
The proxy is needed until sliding sync is finalised and merged into the spec and implemented into clients