Submitted the story to Slashdot. Feel free to upvote to get mod attention.
https://slashdot.org/submission/13181934/google-bans-federated-chat-app-element-from-the-play-store
Element itself doesn't handle video calls. They're handled by an application called Jitsi. Jitsi can indeed handle calls with that many participants, but I haven't tried it inside of Element, so I don't know if/that it works as advertised.
A huge, huge part of the app feeling slow is due to the sluggish performance of retrieving data from the server. This is typically done by calling the /_matrix/client/v3/sync
endpoint on the server. This endpoint returns all messages (up to a limit), changes to your account, room invites etc. since the last time you called it. This can be a lot of information if you only occasionally open the app. This both takes a while for your homeserver to collect and return, and for the app to process.
This entire process is being rewritten from scratch to be much, much faster as part of the "Sync v3" project. You can read more about it here in the Matrix end-of-year wrapup: https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-special-2021#sync-v3
There's of course also performance of encrypting and decrypting room events, which should be much faster once matrix-rust-sdk finds itself embedded in the mobile apps.
And then just speeding up loading old messages from disk.
You could try installing one of the pollbots listed on matrix.org, poll-bot or matrix-pollbot.
But I suggest just writing a message and getting your users to vote with emojis like:
> Apples 🍎 or oranges 🍊?
Name's Brendan, but no worries, I know my username is a bit confusing 😅
Clients define push rules, which tell the server what to send to the push gateway. You can find the spec and default rules here: https://matrix.org/docs/spec/client_server/latest#push-rules
It's a bit hairy currently but there's a plan to rework that in the somewhat near future, though I can't give you a precise timeline for that.
Broadly speaking every time a message is sent it's evaluated against these rules, and if it matches at least one rule with the action notify
it will push it to the push gateway.
Something for this may be coming built-in to Element soon, if these progress screenshots in a recent TWIM are anything to go by: https://matrix.org/blog/2020/10/09/this-week-in-matrix-2020-10-09#element-web
This is a restriction of the default server Element uses (matrix.org). One way would be to use another server (there's a list here) but it would require you to re-create an account.
If you want to stay on the default server, one solution could be to host the video somewhere (e.g. Nextcloud or YouTube) and send the link in the room you want to send the video into. Alternatively, instead of sending it to a room, you can add it to the room as a widget (assuming you're using Element Web or Desktop, in the room info panel that you can switch on using the "i" icon on the top right corner, you can click on "Add apps, bridges & bots" and select the YouTube widget). You'll need to be moderator of the room to do that though.
I’ll note that Jitsi‘s security isn’t terrible even when end to end encryption isn’t enabled.
I guess I’d assume AWS has access to anything that isn’t encrypted with user‘s key. So in other words anything that isn’t end to end encrypted. No matter what policy Element/AWS have, AWS does have physical access to machines with that data in them. Any private keys that are stored on the server they would also have.
It would be good for Element to be clearer about how this works, but ultimately whatever’s not end to end encrypted AWS could access if they wanted to. Whether Element or users could/should take legal action is a much more complex question.
I guess it becomes a question of how much is actually end to end encrypted in Matrix, and how much you trust the server admins (i.e. AWS and Element).
Jitsi’s WebRTC calls are tricky. If you’re doing strict P2P on a 1 to 1 meeting , it’s fine, it’s already E2EE with DTLS-SRTP. If you’re using the Jitsi VideoBridge (mostly for groups calls), it’s currently in the clear because the videobridge needs to relay the video. But that is changing in Jitsi and should reach Element as well in the future. https://jitsi.org/e2ee-in-jitsi/
That was precisely what I needed to confirm. Thanks a lot ! Does any one know if it's too much the difference in battery life without the cloud messaging push notifications? For example, I tested Briar, which is totally decentralized and point-to-point, and it was unbearable, since it consumed the whole battery in less than half a day, but element.io is not p2p, so perhaps battery life is like 5% less?
> What's the practical difference between having an account on the matrix.org server and EMS/ungleich? (since matrix is federated, I should be able to contact anyone with a matrix accound; and since there is E2EE, there shouldn't be any concern about security/privacy..? or is it just the ping to where the server actually sits?)
It's mainly where the server (and your personal data on that server, such as email addresses (if you have any on your account), IP addresses, etc.) live, as well as performances: if you've got your own server, it won't be as overloaded as a big public one (though it shouldn't be an issue with matrix.org as we've improved the software quite a lot over the past year or so; but it can still feel too slow to some users).
> Please correct me if I'm wrong here: if my family signs up for an account on matrix.org, we can have a private chat room and video calls using element. (..?)
Since Matrix is federated, as long as both you and your family signs up on a Matrix server that's federated (some servers might not accept federation, but in practice that's almost exclusively private servers used by companies for internal use afaik) you can chat with them regardless of what server they've signed up on. And regardless of whether it's federated, you can always reach users on the same server as you. So in short, yes :)
> How does element earn money? (I think I've got that one figured out, should be via EMS, right?)
EMS is a big part, there's also some contracting consulting, sponsored development and support, mostly for companies and governments (see https://element.io/blog/element-brings-matrix-to-europe/); lots of exciting things!