Description
I don't know if @toolleeo has interest in this, but I'll describe my proposal.
TL;DR
There are too many categories now, so I propose adding a "group" column in categories.csv
for, just in the index, grouping the existing categories.
This would make the management and use of this list much better.
Motivation
Current approach
The tools are organized into one level of hierarchy, in which the categories include multiple tools. An app can only belong to one category.
- Pros
- Easy to understand
- Simpler to generate the Markdown
- Cons
- When there are too many categories, it becomes quite hard to navigate in the list or to search for a specific category
- It's also a bit confusing for newcommers at a first glance for knowing where to add tools
My proposal
To address the above cons that are a consequence of the project growth, I propose adding groups that include multipe categories.
Implementation
IMO it seems relatively easy to implement:
- CSV data: Add a "group" column for the categories CSV that contains the group name, where each category would belong to one group.
- Note: the apps CSV wouldn't require a modification.
- Python rendering: After that, just the index rendering part of the Python script would have to be modified.
Pros and cons
- Pros
- A much better organization given how many categories we have at the moment
- Makes it easier for everyone to find and add the desired apps
- Cons
- A bit harder to group the categories and mantain that hierarchy, but they don't change that often
IMO the pros of the new approach and the cons of the current approach overcomes, by far, the pros of the current approach and the cons of the new approach.
Groups suggestions
I'm not exactly sure of each groups we could use but some suggestions are:
- Mutltimedia (viewers, video, audio, graphics...)
- File handling (deletion, organization, management...)
- Productivity (todo managers, time trackers, email...)
- System (system tools (the display name could be renamed to "Others" while mantaining its internal label), system monitors, process viewers, package managers...)