Element X, Call and Server Suite are production ready

pnutzh4x0r@lemmy.ndlug.org to Open Source@lemmy.ml – 300 points –
We have lift-off! Element X, Call and Server Suite are ready!
element.io

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
130

"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.

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

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

I must mention though that their solution is not really efficient. Everyone's app gets the phone number, its just not displayed anymore. This can be circumvented with a little modification of the app, which is easy because it's open source.

(part 2) technically, though, the other part of it is still the case: if you haven't set yo key backup and you lost your phone, don't be surprised if you can't recover all your messages

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.

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

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 guess it depends on the phone, but even if you didn't notice it, it should be more efficient now with less resource usage (battery, ram)

that's interesting. I had found it fast initially when it was first released. I didn't use it often but when I finally stared using Matrix more often I was bouncing between both and Element X was significantly slower than normal Element so I decided to uninstall just a few weeks ago. I had even tried un/reinstalling to see if it would fix it, but it didn't. Much happier with it now.

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.

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 to

This is dependent on matrix-rust-sdk, when (if) it ends up supporting it, all apps 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?

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.

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."

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.

Strange. I could only find vector settings in the regular Element app. And even stranger, it prompts me with “Accept Identity Server Terms” but if I tap on the identity server option it says “You are currently using vector…”. I also cannot disconnect unless I accept the terms. I really wish all of this was more clear.

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.

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.

Seriously, WTF?!

What do you find WTF about it?

That’s a lot of data collection.

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.

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.

Not available on f droid yet it seems

Indeed, probably in the coming days

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.

It is a problem. Many orgs have strict rules not to use messaging solutions that support unencrypted messages

This doesn't tick the box, so it blocks adoption

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.

Space support and multi account support and I'll install it. Fluffychat has many features but still laggy.

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.

https://github.com/matrix-org/dendrite/issues/3413

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

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.

Has anyone tried the new app?

I've been using the nightly releases for element X android for some time.

Sliding sync means messages are fetched quite a bit quicker, though it's not yet feature complete relative to regular element android.

I've not yet tested element call on EXA, however, but it's worked very nicely for me via web.

1 more...

The result is blazing performance which outperforms the mainstream alternatives

I highly doubt that. At last the last version of it (released earlier this year) that supported my previous phone I'm pretty sure was more sluggish than telegram.
And even though it's not really a visible problem on my new one, and even though that I can't check it's resource usage anymore (thanks again google for fucking uo /proc! it was a huge idea!), it still means that it uses more battery power

Native Sliding Sync (AKA Simplified Sliding Sync) was just released to Synapse and Element X over the past couple of weeks. It’s not an exaggeration to say that it is FAST now. My fairly large account usually syncs instantly now. If not instant, the longest I’ve seen was 1 second. Give Element X a try again (assuming your home server supports SSS).

my previous phone is not supported by current versions of element x. on the new one, I would probably not notice anything, because it's not slow there and OS battery usage accounting is garbage.

currently I'm waiting for an F-droid release, as they are 3 months behind

Unfortunately the rust SDK / android version still doesn't support native / simplified sliding sync. I updated synapse to v1.115.0 and cannot login. Apparently you have to use the proxy server sliding sync to login then toggle a developer setting, logout and log back in to use native one on android.

Android and iOS EX actually both use the rust SDK under the hood, but iOS is usually used as the test bed so it gets features a little faster than Android. EX iOS just got a stable version of it a couple days ago, so a more native feeling login process for SSS on Android should be coming very soon!

Yeah was kinda sad since android got like 3 releases in the last 3 days but SDK is not updated yet I guess. I'm hoping unified push will work with it better since it stopped working this month.

Edit also unread count / marking as read, that seems super broken in the older app.

Element X is a completely different beast though. Not only is it a successful Rust rewrite, but they also fixed the system architecture of Matrix to improve speeds. They haven't matched Telegram's usability though, but they're close to Signal's.

Not only is it a successful Rust rewrite

only the crypto SDK is Rust, the frontend and other app code is kotlin

but they also fixed the system architecture of Matrix to improve speeds

they did that by storing a lot less of the state on your phone in my understanding, and that means it won't work as whell when offline or on a slow connection, and will use more mobile data from the cap. that is, if I'm correct.

Telegram isn't really an alternative, they don't even use encryption by default, so it should be faster. Better to compare real alternatives: Signal, Whatsapp, Simplex etc.

Telegram isn't really an alternative, they don't even use encryption by default, so it should be faster

even the user interface? the animations all over the app, scrolling between 2 consecutive messages of a room or anywhere in the settings? It's not like element would encrypt the data at rest anyway. any and all menus of telegram are noticeably smoother, when not even looking for it

When telegram team is mainly focusing on UX instead of privacy and security, it is not wierd for me. They don't have to bother about encryption, about matrix protocol which federates all the self-hosted servers, about self-hosting in itself etc. I'm pretty sure element's UX is a side-quest compared to all those other things under the curtain. Summing it up, Element X is in fact a huge upgrade, making it closer in UX to other mainstream apps like those i mentioned above, not Telegram, because it is not even a messenger, its just a social media app that immitates "private and secure" messenger, but in reality it is just twitter DM.

No but people use it because it's pleasant and easy to use with a nice UI, lots of features for stickers and sharing content, etc..

Having encryption and being 'secure' is not what will get most people to switch from Discord and Telegram, having the same features and doing it even better will.

We should probably stop arguing about Matrix vs XMPP and finally decide what to use or else we'll never move forward.

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 attachments 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 with massive storage who probably have admins?

Still waiting for an XMPP client to support threads

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.

I think it's actually Element X, Element Call and Element Server Suite, and they just did not want to write Element 3 times

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

Is that still the case?

This level of integration means that group VoIP in Matrix finally benefits from all of Matrix’s native end-to-end encryption, cryptographic identity and decentralisation - no longer handing over to a third-party system such as Jitsi which doesn’t integrate with Matrix’s encryption guarantees.

And, native E2EE for voice and video (through the Element Call integration mentioned above) ensures that Matrix’s encryption guarantees now extend to video conferencing.

Though I'm assuming you mean protocols not app names.

No, that's your reading comprehension. You are conflating Matrix 2.0 and Element X.

You still can't sign in to Element One on it.

Is everything encrypted yet? Or do they still allow users to send unencrypted messages?

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?

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

(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

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.

I also think the Element Web UI is lacking, but it's gotten better over the last few years, after they started taking design more seriously. With Element X they do proper UI/UX design as a first step, and then implement it.

The old Riot.im client was exceptionally terrible, in performance and design, so I'm really happy with Element X.

Element being focused on corporate needs is nothing new, since they've a few large (government, healthcare) contracts, and they've struggled with financing for years now. Big deployments using Synapse is the big reason dendrite doesn't see much development anymore, even though it was planned as a replacement for Synapse at first.

I believe many of their side projects (P2P, VR) exist because they try to find possible business avenues, although I feel like most of them aren't successful (and they stretch to thin because of that).