matrix-org / matrix-org/matrix.org

Enhancement: New "ecosystem projects" page

Open
#3,072 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ecosystem
Dominant language
JavaScript
Stars
616
Forks
463
Avg merge
2d 3h
Merged PRs (30d)
19

Description

It has been previously suggested that we restore the old projects page that listed _all_ projects that are part of the Matrix ecosystem. I think this idea has merit but could be further refined. Instead of simply listing the projects, I have suggested elsewhere (see #3067) that we could utilise query parameter-based filters with a user interface similar to the filters on pages like [matrix.org/ecosystem/clients](https://matrix.org/ecosystem/clients/).

Here are the two comments made in #3067 in regard to such an idea (added here for extra context):

> Quoted from a [previous comment](https://github.com/matrix-org/matrix.org/issues/3067#issuecomment-3639495472):
>
> > With ecosystem projects, we struggle with the fact that there are a myriad of projects that fit none of our categories, or that are hard to categorise in the first place, i.e. a category on their own. I have some experience with these issues through https://github.com/HarHarLinks/tune-your-chat/blob/tune-your-chat/content/ecosystem/tune/tune.toml 😅.
>
> Yeah, I'm starting to see the struggle, especially as I increasingly familiarise myself with the ecosystem. Just to complicate things further, how would we categorise a project that technically fits one of the existing categories (e.g. bridge), but may benefit from more precise categorisation (e.g. developer/testing tooling)?
>
> > One proposal ara4n made before was to restore a page we apparently had a long time ago a single page that named all projects so one could browse by Ctrl+F. While I believe our current categories are good, I also think that idea has merit. We could have an additional ecosystem page "all" for this?
>
> I agree that such an idea has merit. Our current categories are decent, but there’s definitely room for improvement. We could build a page that shows all ecosystem projects and allows users to filter the results, just like the system in place for [matrix.org/ecosystem/clients](https://matrix.org/ecosystem/clients/). Perhaps it could be implemented in such a way that allows people to use links like `matrix.org/ecosystem/projects?type=client` or something similar. If we were to go down this path, what about making it not an additional page, but something available at `matrix.org/ecosystem/projects` that would replace the dedicated pages (e.g., `matrix.org/ecosystem/clients/`, `matrix.org/ecosystem/bridges/`, etc.) we currently have? Of course, the first issue would be backward compatibility with existing links, but I'm sure that could be resolved.

> Quoted from a [previous comment](https://github.com/matrix-org/matrix.org/issues/3067#issuecomment-3639495472):
>
> > We could have an additional ecosystem page "all" for this?
>
> That's a possibility. However, if we decide to go down that route, I think a restructure is needed in regard to content structure. We should have a `projects/` directory that simply contains _everything_ (e.g., messaging clients, testing tools, bots, etc.). Sure, we could use Zola to group together the current structure, but I believe a restructure makes things cleaner and allows us to have the separation occur at the data presentation layer, not the directory layer.

This proposed new, replacement page, would include [Clients](https://matrix.org/ecosystem/clients/), [Bridges](https://matrix.org/ecosystem/bridges/), [Servers](https://matrix.org/ecosystem/servers/), [Integrations](https://matrix.org/ecosystem/integrations/), [SDKs](https://matrix.org/ecosystem/sdks/), and [Distributions](https://matrix.org/ecosystem/distributions/). It would not, however, include [Hosting](https://matrix.org/ecosystem/hosting/).

If this proposed change were to occur, the idea would be to keep the entries in the navigation bar the same but simply point them to the new projects page with the required query parameters that allow the page to display content that matches the current specific page (e.g. Clients would be updated to point from `https://matrix.org/ecosystem/clients/` to something like `https://matrix.org/ecosystem/projects?type=client`).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the existing ecosystem pages for Clients, Bridges, Servers, Integrations, SDKs, and Distributions, along with the discussion in #3067. Review how the proposed projects/ directory and query-parameter filtering could fit the current site structure. Done would mean a unified filtered projects page while preserving the existing navigation entries and links.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
content, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.