Hi all,
(and sorry about the wall of text; it’s mostly meant to give an account of the issues I’m already aware of and thus to save people time pointing them out again.)
I’ve been meaning to contribute to sc in some way for a while and now at last I seem to have some time on my hands during the next few months (unless I miraculously get a full-time job, get evicted, or the revolution finally comes). I’m not originally a techy guy but a so-called “mUsIc ThEoRiSt” (soon with doctoral degree and all, thanks neoliberal university that shall not be named), so I guess the best way to make myself useful is to work the contents of the documentation/help (contents as opposed to, e.g., implementing more HTML tags or formatting in the SCdoc).
Obviously I’ve looked at the github issues and I’ve browsed the forum a bit (the “learn to contribute” tag in particular) to get a general sense of where development is at. My impression is that there isn’t some grand general roadmap, but rather (apart from select projects like the treesitter grammar or the LSP) just a large number of small-ish or medium-sized things, and that is to some extent the nature of the unfunded open-source beast.
Nonetheless, especially as I don’t have experience contributing to projects like this, I don’t just want to start randomly submitting PRs out of the blue, even if it’s “only” for help pages. (There are of course simple things like occasional typos but I would also think they are mostly irrelevant.)
So I did want to check in with maintainers/devs as to what the current priorities are with regards to the help.
Two relevant bits I’ve found so far:
@prko’s old thread from 2023
and the associated PR with some more recent activity
and also, I’ve found this bit by @jamshark70 enlightening:
the amount of help you get from the documentation is (partly) proportional to the size and depth of your mental map of the documentation. After 20+ years, my mental map of SC help is pretty thorough. But, if I have to look up something about LilyPond, if a web search fails, I’m likely to end up asking their mailing list because I don’t have even a tenth of a sense of where things are in their manual.
Improving documentation structure and searchability can make it faster to build the mental map, but it always takes time. In that sense, documentation will never be transparent enough.
There’s somewhat of a double constraint implies here imho because on the one hand, any change to the docs shouldn’t upset users’ existing mental maps too much, but on the other hand, there are some idiosyncrasies or near-rendundancies in the way the doc is currently organized that make it tough to build that map in the first place.
For instance, there seem to be two distinct pattern tutorials: The practical guide and the Streams-Patterns-Events tutorial. They do not cross-reference each other, and the former is in the Streams-Patterns-Events category and the latter in the Tutorial collection.
Realistically, I imagine it might help to a) introduce more crossreferences between, e.g., different help files (“for a slightly different way to do this, see x”; “this is different from x as explained in y”), and b) to supersede the “categories” system (where presumably a page can’t be part of both the tutorial and the pattern category) with something more like tags (where it can). That way it becomes easier to introduce new organization without breaking older layers of organization.
Finally, I recall that when I started out learning sc I had little experience with other programming languages (sc is what got me into computer stuff, essentially), and a lot of it makes more sense now that I do; and learning resources for other languages like python and cpp are obviously abundant. This makes me wonder if some of the more conceptual things about supercollider that may pose a hurdle for not-so-tech-inclined musicians might benefit from references to relevant non-sc resources, even wikipedia. (I recall having trouble wrapping my head around what an environment is, for instance).
I don’t know how this sounds to folks with more experience doing this sort of work; that’s why I’m asking.
Cheers!