matrix-org / matrix.org

matrix.org public website
Other
413 stars 344 forks source link

Users a bit confused about division of responsibilities in the matrix world #813

Closed strypey closed 3 years ago

strypey commented 4 years ago

I'm not sure where to put this, so I'll put it in here. Please feel free to move it to a more appropriate issues board, or if there is a more appropriate place to have this sort of discussion, please let me know where it is in a comment.

Firstly, I want to thank everyone who has been involved in the development of matrix, the protocol, the software, and the organizations that develop them. I've tested a lot of free code chat apps (including with the #voice:feneas.org group) and both the UX and performance of Element stands head and shoulders over most of them. I don't have the skills to help with code or sysadmin duties (yet) but perhaps I can help by raising a few organization and communication issues I see as matrix user.

A few comments on the matrix.org website. I presume that since the founding of the Matrix Foundation, responsibility for the user-facing content on the website has been the responsibility of the Foundation. Due to the various reorganizations of the matrix project that have happened over the last few years, eg setting up the the Foundation and New Vector and then the Element rebrand, a lot of content on matrix.org needs updating to reflect the current nomenclature. Eg a lot of key docs on matrix.org still mention New Vector and Modular.im, or refer to Riot as a reference client developed by the matrix.org team. A lot of the user guides on matrix.org, such as the FAQ, probably need updating too.

There may be a need for new docs that address complex topics users need to clearly understand, to have the best experience of matrix. Eg today I was chatting with some people about how rooms work in matrix. Whether rooms are federated to new homeservers simply by having one of its accounts join the room or not, where room history is and isn't stored, what the difference is between a "main" room and a "local" room, what "flair" is and how to use it, and so on. If there is a doc that explains exactly how rooms work, and how to get the best use out of rooms in different use case, I'd love to read it. There are a number of other aspects of matrix that I see even experienced users and developers of liberating software still struggling with.

From the blog posts launching Element, it's clear that New Vector is now the Element company, the Riot apps are now the Element apps, and Modular.im is now an Element service. What's still unclear to me is where Synapse and Dendrite fit into all this. Have their names been changed? Are they now Element products, or are they still reference servers whose development happens under the umbrella of the Matrix Foundation? What about the matrix.org homeserver, and the NV identity and integration servers? Who is responsible for the maintenance of those? Somewhere on matrix.org there needs to be a doc clearly laying out which organisations are responsible for what.

Either way, it seems to me that the Matrix Foundation ought to have reference software it's responsible for maintaining. The simplest way to do this at first would be for those to simply be unbranded versions of the software being actively developed at Element.

But what we've learned about ActivityPub software over the last few years is that the best way to grow a federated ecosystem is to make the software as modular as possible. If the Matrix Foundation nurtured the development of matrix server and client libraries for a range of languages/ frameworks, less experienced developers could use them to create fully functional clients and servers that scratch their own particular itches, without having to reimplement the protocol from scratch every time. A somewhat risky thing to do when federation and E2EE is involved.

For those who read repos more often than blogs, it may be confusing that a lot of stuff now related to different organization is still being developed on GH under the matrix-org organization. Will a new GH organization be created for Element at some point? Perhaps this reorganization is a good time to migrate off GH completely? The Matrix Foundation could host its own code forge, with organization level spaces for Element and other companies and groups developing matrix software. Or it could migrate to a community-hosted forge like one of these: https://wiki.p2pfoundation.net/List_of_Community-Hosted_Code_Forge_Instances

I also want to mention the future of the matrix.org homeserver. I'm a member of Feneas. In #feneas:feneas.org, we frequently discuss the federation problems that delay messages between us and users on matrix.org, and the slow performance (for us) of rooms whose "main" address is on matrix.org. A lot of people point to the matrix.org homeserver as a SPOF, and I've heard Matthew say that he is looking forward to disestablishing it ASAP. I suspect that would improve the UX of the matrix network considerably. If there is a plan for that, a lot of people would be interested to see it and help make it happen.

The last thing I want to raise is the issue of community engagement. There isn't a lot of information of matrix.org about what comms channels exist and what they're used for, which is why I'm posting this discussion starter as a GH issue ;) If there is a web forum or another more appropriate place for community discussions, I don't know how to find it. A contact page that clearly lays out all the important contact channels in the matrix world would really help.

Once again, thanks so much for all the great work and love that goes into matrix. You people rock :)

Definition of done

turt2live commented 4 years ago

I've moved this to the matrix.org website repo due to most of the concerns being about the website, though with several mixed concerns it's a bit hard to provide feedback on. Generally discussion is held in the various Matrix-related rooms on Matrix.

strypey commented 4 years ago

@turt2live Thanks for identifying the more appropriate issue board, and sorry about the mix of concerns ;)

Generally discussion is held in the various Matrix-related rooms on Matrix.

That's fine for quick questions and ephemeral brainstorming, but it's good to have some kind of forum where engaged users can post long discussion documents (like this one), in a way that's easy to find (to reduce duplication of discussions and for archival purposes). In the absence of a Discourse forum or somesuch, users will tend to use repo Issue trackers for this. Just saying :)

hex-m commented 3 years ago

If there is a web forum or another more appropriate place for community discussions, I don't know how to find it.

This aspect already has a dedicated issue.

MadLittleMods commented 3 years ago

@strypey I've tried to split out all of your points into an addressable task list in your issue description so people don't have to read through the paragraphs every time they try to address this. I think these would be better tracked as separate issues for whatever points are still sticking for you (feel free to create new ones that link back to this for the full context).

strypey commented 3 years ago

Thanks @MadLittleMods , hopefully these issues are all being tracked already. For example there is already an issue about the pros and cons of a community forum.

MadLittleMods commented 3 years ago

I'll close in that case 👍 As I mentioned before, feel free to create separate issues for anything not already tracked linking back here for full context.