@makeworld The biggest problem with Matrix is the huge and rapidly changing API, as well as a lot of bad design decisions (e.g. JSON/HTTP polling) that would take creating a different protocol to solve.
Dendrite does not really solve any problem, it rather makes the existing ones less noticeable. Being written in Go means a lot more performance, efficiency and reliability (to the point where it can run in your phone or web browser); but complexity and bad protocol design decisions are still there.
That's true. Sadly matrix is a permissive license too. That's one of the things that gave me a red flag. Its not gonna go far if it allows the capitalistic companies to do anything they want.
I think though that part of the problem. Xmpp is also horribly fragmented as a protocol. There is no central specification with a bunch of requirements. So you basically end up with a lot of incompatible implementations.