Why isn't it?
> If it was, we wouldn’t be having this discussion.
Are you suggesting things don't take time and luck (i.e. initial conditions) don't play a role, especially with phenomena such as market consolidation?
Why isn't it?
> If it was, we wouldn’t be having this discussion.
Are you suggesting things don't take time and luck (i.e. initial conditions) don't play a role, especially with phenomena such as market consolidation?
* We didn’t prioritise UX polish sooner.
* We burnt huge amounts of time on E2EE (which turns out to be really hard in a decentralised world).
* Building out decentralised comms in general requires about 10x more effort than centralised comms.
* Managing an open spec process and governance model burns huge amounts of time too.
* We built the flagship Element apps in triplicate on web/iOS/Android with no code reuse, in order to dogfood and provide native SDKs, burning >3x more time.
* We’ve also invested a lot of time in beyond-chat work, to try to inspire folks to use Matrix as a generic comms fabric.
Frankly, if we had been aiming purely to be a like-for-like FOSS Discord replacement, we would have done a lot of things very differently.
Hopefully we can shift that balance as the UX of apps matures on top of Matrix, and we focus exclusively on usability. The current situation is pretty depressing. You can see more about how we’re trying to fix it in https://matrix.org/blog/2021/12/22/the-mega-matrix-holiday-s...
For whatever it's worth, I think Matrix's approach to E2EE and investment into trying to solve some of the really hard problems in that space was completely worthwhile, even though it's painful and even though it set Matrix back in other ways. It's the type of fundamental problem that would be hanging over Matrix indefinitely until all of that time was devoted to it, and I think doing it early was the right move.
My feeling is that what Matrix demonstrated was that decentralized E2EE is itself a giant UX problem (both for users and in some ways for developers who are building clients as well), and that solving it requires a ton of UX iteration and thoughtful iteration on how to share/encode keys, handle sessions, respond to unencrypted sessions, etc, etc... That is something that a lot of other platforms haven't really grappled with, and I think ignoring that problem would have risked imposing a hard limit on how effectively Matrix could roll out E2EE by default without it just staying as a really annoying option that most people avoided.
That being said, I do agree with the rest of your comment. I've noticed some faster improvement on UX lately from Element, and it's been getting steadily better (I love the direction spaces are going), but it's still not quite over the line for me.
I'm just not sure... I don't know that I would phrase that core work that's been happening as if it was the wrong focus, I think that stuff just takes a long time to build and the benefits aren't always immediately obvious to users, or that it takes a while to start paying out those benefits. A good E2EE UX isn't really about impressing users, it's more about being invisible, which can be frustrating because getting it right just means people complaining about it less, it doesn't mean having an advertisable feature. But it's still important though if you want people to actually use E2EE.
I am still excited about P2P chat, about taking server moderation seriously, etc... That all has a ton of potential that could pay out in really significant ways in the future, even if it's not user-facing right now. I don't think any of that is wasted effort or that it's not important. But I'm also happy that Matrix/Element is focusing more on general user-facing UX now, and I do agree that there's a lot of iteration and improvement to be done there.
Stuff like “Matrix is crap because they didn’t make it E2EE from day 1”, or “Because servers store metadata” or “Because it didn’t have a legally registered foundation at first” or “Because Element’s default config points to the Matrix.org server” or “Because Synapse supports shadowbans” or “Because the Element apps influence the direction of Matrix” or “Because it’s not XMPP” etc etc etc. It’s surprisingly hard to keep focused on building apps that optimise for mainstream users when the loudest voices are campaigning to optimise for their own crusades. I suspect the same effect has substantially negatively impacted Linux on the Desktop and other places where FOSS usability has failed to punch its weight against mainstream usability.
On the other hand, there are quite a few examples of FOSS apps which have successfully pulled themselves out of this hole of being “built by geeks for geeks” into being successful and even delightful to a more general mainstream audience: Firefox, GitLab, Blender, Audacity all spring to mind. And that’s the model we’re trying for at this point.
I currently pay for an Element subscription for my close friends and while there are some minor issues, we’re happier using it than Wire or SMS (one of my friends is Android, otherwise iMessage would suffice).
Sure it has tons of warts, but it’s way better than just a year ago, and now a truly usable replacement for many use cases. (We actually use it instead of Discord/Slack/etc and have been happy with it.)
FOSS is hard. Having good leadership makes all the difference. Linux had it, Apache had it, MySQL had it, and I think Matrix has it.
The key thing to remember, and it is easy to forget, is that FOSS is a momentum game - Blender is a fantastic example of people plugging away at something and then “all of a sudden”, they have a world class tool. The same will be true with Matrix, and probably a lot sooner than many people realize.