A Year Using Matrix and Riot
Project lead for Matrix here.  This is a pretty accurate post, and in terms of the negative points we are painfully aware that UX on Riot (and performance on Synapse) still has a way to go.  The current stuff we have in flight to fix this are:* 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.Fun times...