Element is launching the world’s first communications platform based on the upcoming Matrix 2.0 release. The result is blazing performance which outperforms the mainstream alternatives - across a decentralised system that enables self-hosting and end-to-end encryption - as well as open standard interoperability to revolutionise real time communication between large organisations.
Built on Matrix 2.0, Element X now rivals the performance of centralised consumer messaging apps, empowering organisations to address the shadow IT issues caused by consumer-grade messaging apps in the workplace.
The new Element communications solution consists:
- Element X, our next-gen app with an array of new features
- Element Call fully integrated into Element X, for native Matrix-encrypted voice and video
- Element Server Suite, our backend hosting solution for powerful admin control and Matrix 2.0 performance
I had just uninstalled Element X like two weeks ago because I found it to under perform compared to the normal Element client on Android, in addition to lacking some features. I guess I’ll give it another shot.
Update: WOW this thing feels lightning fast compared to just a few weeks ago. This is great. Not sure about feature completeness, but based on speed I think I’ll migrate Element > Element X again. Great job to the team!
It hans’t changed speedwise for me. It has been lightning fast since it’s first release
I currently use Synapse with bridges to Signal and Discord, and Matrix API. Is Element X a better way to go server-side now?
as I understand, Element X is a client application (for mobile, for now)
The title of the article, and body, say otherwise.
No they don’t, it’s just confusingly worded
Element X is a matrix client that will eventually replace Element for android/ios
Matrix 2.0 is the server suite, some of the changes in matrix 2.0 are necessary for element x to work.
Got it, thank you. So if I’m following now, Matrix 2.0 a new protocol, and the solution to run instead of synapse is Element Server and Element Call?
Yes except element call is a frontend for voip and p2p
I think it’s actually Element X, Element Call and Element Server Suite, and they just did not want to write Element 3 times
No, that’s your reading comprehension. You are conflating Matrix 2.0 and Element X.
I wouldn’t say it that harshly, the title is really not the best
What’s matrix 2.0? Are they finally gonna use the go backend as opposed to the python one?
Yeah its not clear to me what matrix 2.0 is either, seems like spec changes? Nothing here about synapse (the python matrix server), or the go one.
Yeah its not clear to me what matrix 2.0 is either, seems like spec changes?
Yes, Matrix is the protocol. Element is one of many clients supporting said protocol, and synapse is one of many servers supporting said protocol.
Not exactly. Matrix 2.0 relates to the protocol (Matrix) version, which has its major number incremented due to a bunch of, well, major changes/updates to make it much better. OIDC, sliding sync and native calls are some of the new things that comprise the 2.0 update.
The server implementations are somewhat orthogonal to this. Synapse (the original Python server) is still the main implementation, and is Matrix 2.0 ready.
The last time I used element x was probably a couple months ago and I wouldn’t really call it ‘production ready’. But I guess I’ll have to try it again.
I still don’t think it’s there, but development hss been fast, so a lot has changed and improved in the last couple of months.
Element x still doesn’t have support for spaces. Trying to navigate between rooms just by scrolling through one huge list is a nightmare.
Bombastic
I don’t like what I see in the iOS app stores privacy section for the app.
Element is able to use features called “Integration Manager” and “Identity Server”. When using an Identity Server, you can choose to link name, email, and phone number to your Matrix account. When using an Integration Manager, there’s a feature to share your location with others in chat.
As such, Vector discloses that they “collect this information”, although (except some diagnostics), this is completely optional.
(I am not associated with Vector, just interested in Matrix)
Ah interesting ok. So basically even though it CAN link all of that info to you and such doesn’t mean that it WILL if you opt out of things. Is that correct?
Correct, Vector does not receive this information unless you willingly share it with them.
Ok thank you
Even better.
It’s opt-in instead of opt -out
Correct any personal info is opt-in, ie; you can put your phone number and email in if you want to make it easier for friends to find you.
The way permissions are listed on mobile operating these days is honestly pretty misleading.
For example, I know some apps that need to request network permission even though they don’t need to connect to the internet. Not because they want to do anything shady, but because they legitably have to in order to get certain info.
Not to mention the problem of listing everything an app can do as if it is doing all of those things.
Seriously, WTF?!
What do you find WTF about it?
That’s a lot of data collection.
Notice it says “MAY be collected”, because if you want to you can share your phone number, email, etc with the app to allow people to find you easier.
Same with location and stuff like that, if you use an option to share your location or connect to bluetooth devices it will obviously need your location permission.
That’s the problem with how the app store presents privacy info: without context it’s nearly meaningless. “may be collected”. It’s optional, but that’s not show here. The Play store does show that these are all optional.
“Collected” is also a scary word here. Having my location “collected” sounds scary, but what it actually may mean is that I can optionally and explicitly share my location with a contact.
Oftentimes “location” can just mean “needs to access Bluetooth”
What’s the difference between the normal app and element X? Why create a new app?
EDIT: I installed it, but can’t verify for some reason.
EDIT: It works now, and it’s very fast compared to the other client. It’s a shame spaces aren’t supported.
Normy here, I think it’s a whole different framework which is faster and more reliable I think. Also the normal app technology outdated so maybe it’s difficult to add new features to it.
Good ol’ Rust Rewrite fixing everything.
I’m still sad they stopped work on dendrite. P2P level decentralization, with E2EE, would be amazing.
These are still great improvements though. I’m hyped that loading seems to be so much faster.
They didn’t though? Source?
They paused funding for all of the exciting P2P and low bandwidth stuff last year. Hopefully it resumes soon, as mentioned in the GitHub thread.
https://matrix.org/blog/2023/12/25/the-matrix-holiday-update-2023/#In-other-news
Meanwhile, P2P Matrix and Low Bandwidth Matrix is on hiatus until there’s dedicated funding - and Account Portability work is also temporarily paused in favour of commercial Element work, despite the fantastic progress made recently with Pseudo IDs (MSC4014) and Cryptographic identifiers (MSC4080). Given P2P Matrix and Account Portability were the main projects driving Dendrite development recently, this may also cause a slow-down in Dendrite development, although Dendrite itself will still be maintained.
as I understand they may resume work on it, but they have so few human resources that they nedded to put a full stop to it for now
Is everything encrypted yet? Or do they still allow users to send unencrypted messages?
They still allow it
Unencrypted messages are useful for very large rooms, where encryption doesn’t provide meaningful more privacy since public rooms have to be considered public space anyway. Encryption does have overhead, so it makes sense to disable it.
Private rooms are E2EE by default and can’t be created unencrypted (at least in the Element X mobile UI). This is a good way to handle it IMO.
Encryption is, what, a 10% hit? I (and most companies) would gladly take that tax to ensure that it wasn’t possible for me or anyone in my org to accidentally send an unencrypted message.
10% of what? keys are regularly rotated, per-member, and it would soon cost a lot of storage to store historical keys for very large rooms (by their member count)
Sounds like a design flaw. How does this work with other messengers that don’t allow users to send unencrypted messages, like Wire, Signal, and WhatsApp?
(part 2) it doesn’t seem that signal has such a limit. maybe they’re just fine with using relatively a large part of their data for key storage
Groups have an encryption key that I guess you receive from other members upon joining.
probably the same way, and probably with an upper limit on group chat member count
Screensharing would let so many people move from discord
Discord uses their own screen sharing implementation because it performs better than what’s available in Electron by default. I don’t expect Element to achieve that, considering their focus isn’t gaming.
Wire supports it. Also more secure than Matrix
How is it more secure than matrix? I can’t even self-host it.
Yes, you can. The server code is on github. But I don’t know why you would, since all messages are encrypted client-side.
Its more secure because you know that all your users can’t send a message unencrypted, either accidentally or intentionally.
there’s a graphical indicator if they send something unencrypted, and there’s no way to turn an encrypted chat into an unencrypted chat on matrix. Plus they start encrypted by default, I honestly don’t even know how to make an unencrypted chat, I don’t think there’s any good way to other than using a client that doesn’t have encryption.
this is not a real problem.
Last time I checked they had it in the web version
Still no Spaces support. Even the short list of rooms I’ve joined are unmanageable when listed flat with no way to identify which Space a
#general
belongs toThis is dependent on matrix-rust-sdk, when (if) it ends up supporting it, all using the SDK will be able to add support for spaces
Spaces is an underused feature that I hope see gain more traction! It makes Matrix a credible competitor to Slack and Discord
What do you mean by “spaces”?
It’s the equivalent of discord servers
I can’t use discord because they require phone numbers from users who use privacy tools.
What does this mean for people who don’t use discord?
Spaces have nothing to do with Discord. They’re just a way of grouping multiple Matrix rooms together into one “space” like how Discord channels are grouped into one “server.”
A space is a collection of rooms. So you have a clean list of spaces, then when you click into one of them it shows all the rooms that it contains. Without spaces, every single room is shown in one big list.
A way to group organize discover and control access to multiple Rooms.
Here’s an extra ironic Elements post describing them: https://element.io/blog/spaces-the-next-frontier/
Native OIDC support…something I wish more self hosted apps would prioritize. I shouldn’t need to maintain a bunch of user account systems on my own servers.
We should probably stop arguing about Matrix vs XMPP and finally decide what to use or else we’ll never move forward.
Got it. I’ll use matrix, and you can use XMPP
Still waiting for an XMPP client to support threads
Which is largely whether or not the eventual consistency model or not is the route to take. Is the resilience for chat worth the explosion of storage & preformance cost of sync/search & maintaining all that data amongst all servers? Or is limited/functional sync without always duplicating the entire history with the occasional out-of-order message & missing old attachment good enough? Is ephemeral chat okay to save resources which in turn makes it more feasible to self-host on lower-end hardware or is it better to trust a couple big servers who probably have admins?
“invisible cryptography” I sure hope this isn’t an empty promise. The number one gripe I have with matrix/element is the absolutely horrendous crypto dance they make you do.
What are you talking about? Even before this new “invisible cryptography” you set it up once per device and never have to think about it again.
except for the “unable to decrypt” errors, and when new invitees can’t read previous messages
It’s probably the number one reason I can’t convince friends to move over, I know they would bawk at how it makes them do that on every device
I studied cryptography and I can’t figure out how to do the dance right. I thought I did, but one of my contacts says they can’t read any message I send them. And I can’t message them to figure out why.
We haven’t spoken since. Thanks Matrix.
while I agree that there are too many problems right now, 2 things really can’t be avoided:
- setting up key backup after registration asap
- verifying your new logged in devices, possibly with the key backup password
well, unless they are fine with using it like signal, which is basically one device only
Signal can have multiple devices, I have it on my phone and laptop.
that must be a relatively new feature
Not really, have used it for years like that. But you need to set it up initially on your phone. The newish feature (less than a year) is that I think they do not require a phone number to set up a new account.
The newish feature (less than a year) is that I think they do not require a phone number to set up a new account.
How do you do that? A few days ago I have registered again, and I didn’t see the option. Didn’t you perhaps mean that the app can hide phone numbers?
Ah that must be it sorry. I thought they had decorelated phone numbers and IDs
All I read is Marketing Tech Speak that sounds no different than anything else that gets advertised in my face. At work, we use Teams. It is a pain sometimes when it gets a little buggy, but integrates into SharePoint/OneDrive and the noise suppression in meetings is pretty awesome. At home I use discord or GChat because that is where all my friends are. I don’t assume I have privacy on any of these platforms and they all work on my phone and computer.
How is the user experience? Ultimately, give me privacy, but if the user experience and UI don’t give any improvements over the corporate ones, I will have to try it some other time.
You can self-host it, making it as private as you want.
But my question is about the user experience and UI. I can run a docker script, but I care about the thing I can see and interact with.
The user experience is generally worse than Discord, like any federated system compared to centralized platforms.
There is Cinny, a client with an UI similar to Discord. Element X is a great mobile client, and imo far superior to Discord for 1 on 1 chats (to be fair, I really dislike Discord 1 on 1 chat experience, so I’m biased).
Edit: It’s worth noting that Element X does not support Spaces yet, which allows for grouping of rooms similar to Discord Server.
Thank you for answering the question! I am genuinely both trying to make a point and still be open to try new things. To me, there seems to be a real downward turn on UI/UX in a lot of applications these days, corporate included. When they mentioned the bit about supporting corporate, I have a hard time believing they will get very far with that customer group right now.
I really wish software, especially FOSS, would stop making the UI the afterthought. I try to keep a holistic view when designing things and everyone has a seat at the table. I wonder if projects are boxing themselves in and making it harder for the UI teams to properly integrate, and vice versa? I will happily take criticism and ideas from pretty much anyone, especially outside my immediate teams.
I am pretty out of the game on that as I spent quite a few years doing controls engineering instead. I am back in Software now and I feel old and a little lost. I graduated back in 2012 and we didn’t have all of these crazy developer roles and more specialized degrees. They were trying to get a Game Design program started when I graduated, and it was supposedly a mess for a few years.
“Blazing fast” makes me check out so fast.