* Lazy-load all room members rather than push them proactively to clients. This should improve initial sync times and subsequent RAM usage by anywhere from 3x to 20x depending on how active your account is.
* Cross-sign E2E devices when you log in so nobody ever has to verify them again. This should kill the constant device verification (and key sharing) warnings.
* Refresh the whole UI/UX of Riot. We have an ex-Canonical/Ubuntu pro-designer working on a complete facelift of Riot/Web, coming in the next few months.
* Perf improvements across the board on Riot/Web - particularly optimising React when switching rooms, and switching from Draft to Slate in order to speed up and stabilise the message composer.
* Algorithmic improvements to Synapse to speed up the hottest paths (shifting from O(N) to roughly O(1) with the size of the room) - https://matrix.org/_matrix/media/v1/download/jki.re/ubNfLtrm...
* Algorithmic improvements to Synapse to avoid fragmentation of rooms by partitioning the DAG into 'chunks', avoiding stale/dead/orphaned chunks from contributing to the fragmentation of the overall room - https://docs.google.com/document/d/1E0cmEeMDwcQarFYxpZ0b9aoQ...
On the minus side, we've been badly slowed down by constant firefighting keeping the Matrix.org homeserver operational despite massive growth, as well having to do a lot of preparation for GDPR compliance - see https://matrix.org/blog/2018/05/08/gdpr-compliance-in-matrix....
On the plus side, we have a lot of new people joining during May to work fulltime on Synapse, Dendrite and Riot/Web - which once we get past the mythical man month stage should make a huge huge difference.
I'm happily using Riot with my wife and our 60+ year old parents, as well as with my peers, and we all really like it. This project is really shaping up to be a gem of the open-source community, and I'm excited to see it grow!
- Messages that can't be decrypted on only some of my devices. This for example forces me to use my phone while sitting in front of my riot desktop application. This becomes worse if ppl send me URLs. I have to forward them from my phone to my pc - using an empty channel with only me reading, having riot telling me that noone is listening :D. Im-/exporting all keys on all my devices only helps for a while and is impossible while not at home. This mostly - but not only - happens with linux.
- Searching the history doesn't work well at all. Shows zero results for a string, scrolling up proves that wrong.
- My phone doesn't stop to blink even tho I read the message on my pc.
- I really do not like electron and things relying on 100+mb google sandbox software. But well, I understand your need to use it... ;D
This is because search doesn't work at all in encrypted rooms since it's implemented server-side.
The fact that you all are working so hard on performance and polish really gives me hope that soon I'll be able to pull some less technical people off of hangouts.
Matrix has an account with them, you can support them there, and 100% of your money goes to Matrix.
Speaking of Dendrite, do you all have a general idea when it will be production-ready? I'm looking forward to being able to use it, even before it's hit full feature parity with Synapse. Just out of curiosity, how beefy is the server that the Matrix.org homeserver runs on? My VPS basically had a meltdown when I opened #matrix:matrix.org, and it wasn't even hosting the channel.
All in all, I'm pretty pleased with Matrix. It does pretty much everything I could ask, and seems very nice to develop against. The only problems I've had with it in my past few months of (admittedly, relatively light) use were related to misconfiguration on my end and Matrix.org being cripplingly overburdened.
However, we have new folks joining to work on Dendrite over the coming weeks, and we should be able to get it moving again. But it's now looking like a two-pronged attack; one to mature Synapse to being usable - and another to keep Dendrite headed in the right direction to be a good alternative (initially for AS traffic, then full CS traffic).
https://news.ycombinator.com/item?id=16940880 has a lot more info on this.
(Admittedly, Matrix's focus on global chats rather than Communities makes for a pretty complicated model/system when Communities and subflairs and subchannels need to be implemented.)
I really hope Matrix and Riot will be able to catch up with the other players in this respect, because Communities is a major reason why Discord has grown as big as it has. Powerful group administration tools encourage people to start communities on a platform, invite more people to them, and advertise those communities. It's imo a major driver of growth, and I'd like to see Matrix gain lots of market share.
It'll be hard, but best of luck, we're cheering for you.
The Librem 5 page says “partnering with Matrix” but it now sounds like that has no meaning.
I agree the UX is not as intuitive as on slack, but I'm sure the get there.
One thing that I did not ever find out in the UX is how to change own presence and how to get the others presence (it's always offline).
Presumably it's because you're decrypting a 5MB image in JS, but it seems a little bit odd that the entire browser effectively locks up as long as the image is visible.
It's not the end of the world for me, but it is fairly frustrating (the people I talk to use the Android app and don't have this problem, leading).
Keep up the great work Arathorn (and the rest of the folks working on Matrix/Riot)! I've been donating quite a bit to the Matrix project ever since you started accepting funds, and I don't regret it one bit.
I did see there was an issue opened for it on github, but can't seem to find it now.
Guess the author hasn't used Slack lately...
I run both Slack (for work) and Riot (for personal, on the matrix.org server) and while I don't use Riot as much as Slack, I really love it. I think the UI is great. I am fairly used to IRC though, and I think that's where Riot gets a lot of its DNA from, so maybe I'm just used to that setup.
For the project being open source, and for the short time it has been alive, it has come so incredibly far. I can't wait to see what else they do.
I agree whole-heartedly with this. I am not entirely sure who decided on Riot's garish green UI filled with circles and non-standard UI controls and wildly variable padding/spacing and communities bar that takes up space even when not joined to any communities, but it looks a mess.
If you look at Slack, Microsoft Teams etc, they are consistent, they are clean and they look like they have been designed by professionals. Riot doesn't - yet - and I can quite understand that putting people off, given that there aren't many other Matrix clients for the average user.
Meanwhile, the upcoming redesign pretty much removes the green and the circles anyway :)
This may be an alternative:
There are valid complaints to be made about Riot's UI, but I really don't think that's one of them.
For example, when you start a direct chat, it's realy just a group chat with 2 people. If you invite another person (or even just an integration like giphy search!), the UI stops listing it under the other user as a direct chat and it seems indistinguishable from a chat room. Even removing the extra user seems to not get it classified again as a direct chat.
If Matrix people are reading this - it would be great to have better distinction between direct and group. And it would be nice if integrations could somehow not break that illusion. And perhaps a warning if adding an integration / user will irreversibly make a chat a group chat.
Can't wait to share some of the new designs with everyone!
If anyone has other suggestions or frustrations, send them to me - contacts are in my description.
I'm the guy working on a major UI/UX redesign for Matrix/Riot that Matthew mentioned above.
rooms, pms, all kinds of options, modern design in a layout that worked even at 1/4 monitor screen fine.
Of course it did not work on mobile - so it didn't have to think about how that would re-arrange and look. However it is clean and intuitive for many I think.
The backend options for changing colors and making / trading entire themes was decent as well.
Other than that I am happy with Riot.im.
If not I was planning on taking a look at it myself despite my JS being rusty and have never done anything with Electron before but I haven't had time to go through the code and see how much of it is designed being built around just a single user account. I remember the old Matrix Console app for Android had multiple account support.
I've tried Riot briefly, and am very much interested to see such a decentralized solution becoming mature. I really can't wait for it to become something that can be "sold" to people who aren't into technology but care about the user experience and ease of use.
- Jabber has definable custom xml schemas where you can also define your own protocol on top of it for media exchange, voip and etc.
- Also, it is pretty decentralized.
In the current incantation jabber also has performance advantages, having a server implemented in low level language and all the existing jabber clients around.
EDIT: Keep in mind I am not criticizing Matrix, I just found it to have a staggering amount of features similar to Jabber, which is "kinda" used but sadly didn't quite fly like other not-foss alternatives like Telegram/Whatsapp. We all really need a good decentralized and open IM protocol.
I had set up our own Synapse server but the high data usage, quirky 1-1 vs rooms chats, etc. made it tough for me to adopt fully.
I do hope to use it in the future though as I really like the concept but it wasn't quite there for me yet.
One troll with a couple of VPNs and wow, the damage that can be done is something else.
Would hooking https://access.watch/ into a home server or something like it make any sense / make it easier / faster to roll something like this out?
Can't wait to get into this more, so many possibilities.
I am right in thinking that having a home server that does not connect to the main rooms on the main matrix server would save 80% of the ram and much of the lag?
Did some homework, looks like it was built using Hugo: https://gohugo.io