Thoughts about Matrix and Element, long
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: https://github.com/vector-im/element-web/issues/5891#issuecomment-1620570919
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.
re: Thoughts about Matrix and Element, long
@GreaseMonkey Hmm, I don't recall a "Recommended for you" thing - where is this?
re: Thoughts about Matrix and Element, long
@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)
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.