Follow

Thoughts about Matrix and Element, long :boost_requested:​ 

So one of the major differences between corporate software development and community software development is the difference in transparency.

In corporate projects, the default is secrecy; you don't tell stuff to outsiders unless you have a reason to. In community projects, the default is openness; you always do everything out in the open unless you have a reason *not* to.

And I think that the a lot of the problems people have with Element and - by extension - Matrix are to do with precisely that: Element's projects are run as corporate projects, not as community projects.

I don't mean that there's no spec process, or that it's proprietary, or that there's no work out in the open - I mean that it is not out in the open *by default*. As Element grows, it is becoming increasingly common to hear the word "internal".

"Internal" is the death knell of a community project. Internal projects, internal discussion, internal review, internal priorities. Internal means secrecy; not visible to the community, not taking its input, not *accountable* to that community.

Some things, like actively exploitable vulnerabilities, *need* to be kept internal - but most everything else shouldn't be. Spec changes shouldn't be under internal discussion. Refactoring shouldn't be an internal process.

Or to put it differently: at the very least, the full state of the project must be visible to the whole community at any given time - *without* actively having to ask The Right Person about it. Maybe in some cases read-only, but it must be visible without delay or barrier.

And if you're trying to run a community project as a corporation, yes, that means needing to disclose the internal workings of your corporation. Yes, also the 'company secrets'. Yes, also the internal bureaucratic processes.

And yes, also take feedback on them from the community. If you want to do it right, it needs to be a symbiotic relationship, even if that means not doing the 'standard thing' from a corporate perspective.

Element has failed to do this, and the result is that people are feeling more and more alienated from the process; a process which they increasingly have no visibility into, and zero control over.

It's nominally still a community project, but in practice there's always some unspecified and invisible "internal" roadblock standing in the way of contributions, with no timeline of any sort, and a distinct sense of neglect.

And that's how it ends up taking 7 years to fix a grating notification sound: github.com/vector-im/element-w

Element needs to do better. The Matrix foundation, which Element is still the major contributor to in practice, needs to *demand* better. I think Matrix has real potential, but I would prefer if it didn't require a community fork to get there.

Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91@social.pixie.town Cinny so far has been the most stable and it's community-ran, but it doesn't support calls.

Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91 I know about matrix contributors who burned out and stopped contributing because of the "internal process" gatekeeping...

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91 I don't recommend anyone to use Element after the initial setup, honestly. Use Element to set up your account and use it as an "account dashboard" but never use it as a client. Cinny is way better, for example.

Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91 I am fine if Element behaves this way, if they are willing to accept the consequences.

I'd consider it more problematic if this leaks into the Matrix Foundation

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@kitkat It does, and has for years, because most Foundation work is contracted out to Element.

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91 I don't think this is valid reasoning.
You can't assume someone has adopted certain behavior just because someone has contracted someone who has

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@kitkat I am not assuming that; I am closely familiar with the workings of both.

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91 you wrote you would though, because of the contracting

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@kitkat What are you trying to achieve with this line of discussion?

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91 clarification

Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91@social.pixie.town I used Element for a bit, but the thing which ultimately made me allergic to it was the "Recommended for you" garbage that it wouldn't let me turn off. You're supposed to be an open-source project, stop behaving like you're run by Google.
These days if I have to use a Matrix client... none of them seem to be right - I would like to use Nheko, which seems to be good at actually registering an account, but then it insists on using a keyring and all 3 options always break for no reason on this machine.
I also don't recall if it's that one of far-too-many clients which always send a message when you press the Enter key instead of waiting until the Enter press is
supposed to be received. Any client which does that is completely ruled out, as I do need to be able to type in 日本語 a lot. (한극어 uses a very different IME which doesn't require hitting Enter to confirm a block of text, but that's not my main non-main language.)
All in all, I'm not even sure what client I should be using, other than the fact that I know I can use Nheko to register an account and then I'm potentially unable to use it from there so... bleh.
So, here I am, still using IRC as my preferred chat protocol despite the limitations and the weird bits of jank I'm getting too familiar with now that I'm having a go at writing my own server.

If it's taking them 7 years to replace a terrible design decision with a slightly quieter version of it and they're still refusing to follow the amazingly novel idea that
maybe you shouldn't force your garbage nondesign down everyone's throats, then they've demonstrated an irredeemable arrogance, and a community fork is imperative, not "something we'd rather not do".
... and no, I'm not about to say "well why don't
you fork it", nor am I putting my own hand up. That attitude never helps, and always comes from people who would actively refuse to go anywhere near a single piece of its source code.
But maybe my experience with implementing (some version of) the IRC protocol will inspire me to come up with a protocol which actually works for Current Year™.

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@GreaseMonkey Hmm, I don't recall a "Recommended for you" thing - where is this?

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@joepie91@social.pixie.town I could've sworn that when you were on an instance Element would recommend channels on that instance to join or something weird.

re: Thoughts about Matrix and Element, long :boost_requested:​ 

@GreaseMonkey Oh, I think I know what you're talking about - this isn't anything algorithmic, but rather a list of rooms specified by the homeserver operators.

This is a feature that's mainly meant for homeservers that are run as communities rather than as 'public services'; where new users are encouraged to join the community rooms for that homeserver.

(If I'm remembering correctly, and not mixing it up with some other feature I'm unaware of)

@joepie91 100% agreed, based on my own experience too.

> the result is that people are feeling more and more alienated from the process; a process which they increasingly have no visibility into, and zero control over.

That is exactly how I stopped contributing to the project. I have raised my concerns, and things did seem to improve, only to be disappointed later by that not all team members would welcome providing free labor.

@joepie91 If you have some time, please feel free to add a comment / reaction to the discussion I have created over there: github.com/vector-im/element-m

Sign in to participate in the conversation
Pixietown

Small server part of the pixie.town infrastructure. Registration is closed.