Following the discussion on use cases people have for the forums (at Restructuring The Forums - Kick-off), this is my current thinking on how to best restructure the forums. I hope to collect feedback on those thoughts and then start a new topic with final proposal for discussion and final approval.
The general idea is to make the structure of the categories much more aligned with the use cases. And then some other less radical changes.
I would propose to change our categories to:
- Installation
- Windows
- Unix
- Mac
- Getting Help
- Developers
- Announcements
- Publicity
- Jobs
- Community
It is IMHO important to reduce the number of categories as too many categories make creating new posts a bit confusing and a bunch of the categories are rarely used anyway. I would also emphasize that the structure is mostly not to aid searching, but to let people follow/watch/mute categories they are/aren’t interested in and thus have a better experience when just visiting the forums.
We currently have a few restricted categories (e.g. Stan Development Team only). I think discussion on which of those to keep is a bit separate and also they don’t clutter the forum content (as they are visible to only a small fraction of users, who already know how Discourse works), so I don’t see any problem in keeping them as-is for now.
Details on categories
The current Developers, Announcements, Publicity and Jobs categories are IMHO working well (I can see how people might want to list/follow/mute those categories specifically and they all have non-negligible traffic) and don’t really need a change. Additionally, I think the Developers category should IMHO be extended to also include discussion of algorithms (it does that to an extent already).
I am unsure what to do with “Question for developers” use case (e.g. I want to better understand some aspect on how Stan is implemented; I want to discuss a potential improvement to Stan). We might want to channel those questions to the Developers category, Help category or even a separate category - any thoughts?
The Installation category is IMHO sorely needed to let us track the volume of installation problems and let users who are willing to provide installation support see the unanswered questions there. Since installation problems (and people who can help) differ greatly by platform and almost no installation question is likely to involve multiple platforms, it IMHO makes sense to have per-platform subcategories.
The Getting Help (name could be likely improved, or could maybe just be “General”) category should then include most of what is currently in General, Modelling and Interfaces categories. The main reason is that many questions combine concerns about modelling and interfaces with syntax and other general concerns.
We might potentially want to split the “Help” category into two: one for more “Beginner” questions and other for “Advanced” discussion. The naming would need to be improved, but I think a sensible dividing line would be either “Help with a specific model” vs. “Help with a general math/stats problem”, or alternatively somewhere between “I think most people with some Stan experience could answer my question” and “I am not sure this problem is even solvable”. The pros are that it could let people focus better (especially there might be people who only feel confident answering easier questions who might want to follow that category) and that we might want to auto-close the beginner questions (as they are usually short-lived and there is little benefit in someone posting to an old thread), while a productive discussion over an advanced topic can easily span a very long and might benefit from “late comers” and we thus might not want to auto-close. Additionally a category that is explicitly “beginner-friendly” could make it a bit less intimidating for novice users to ask questions.
I don’t want to split the help topics into help with syntax vs. modelling vs. math, as in my experience many questions would be misclassified - most often people ask for syntax, but their problem is actually conceptual (“how to declare a discrete parameter”), but the mixups in other directions are also IMHO not rare.
The help and installation categories are probably also the only ones that need to support the “Mark as solution” feature, while posts in other categories can automatically be presumed to not require a solution (or reaction) at all.
The Community category should then include discussions about the community and its governance. It would include the current Meetings, Stan Governance and Google Summer of Code categories as well as most of the Project Proposals category and topics tagged discourse.
I think we might thus be able to avoid having a “General” category (we may say that what doesn’t belong elsewhere probably belongs to “Getting Help”). The only use case we identified earlier that doesn’t have an obvious home is questions about hardware. But maybe I am looking too narrowly and a “General” or “Miscellaneous” category would be helpful (or “Getting help” could actually be “General”).
Interfaces
You’ll notice that the structure of categories currently ignores the various interfaces. I think interfaces are best handled by tags as they cut across almost any other sensible categorization of topics. For some categories, we may even enforce that at least one interface tag is present when starting a new topic.
A downside of using tags to distinguish interfaces was mentioned by @ariddell at Let's use tags for field-specific content and much more! - #5 by ariddell : With interfaces in a category, you can mute the user questions about an interface, while still following developer discussion about this interface. If we move to tags, muting the tag to avoid seeing user questions about an interface will also mute the developer discussions about an interface (not completely sure how muting a tag interacts with following a category, but I would expect the muted tag to have higher priority).
It might be possible (I didn’t test) to achieve a similar behaviour by muting the “Help” category and following specific tags.
I think this type of usage is relatively rare, while advantages of recategorization can affect most users. So with apologies to Allen, I would still currently prefer the recategorization, even if don’t find a good solution to this issue. Happy to hear if there is a solution that satisfies all the constraints, or if others disagree about my evaluation.
Auto-closing topics
I think that for most categories we should setup auto-closing of topics, probably something like a month since last activity. The potential exceptions are the “Help - advanced” category (if created) and Developers category, which IMHO contain/would contain a large proportion of discussions spanning longer time frames which could be hurt by auto-closing.
Default view
We IMHO also should change the default view (what people see first when they open the forums) to categories, after the number of categories is reduced, I think this would do a better job at summarising what the current buzz is.
Changes to tags
I think tags are currently relatively under-utilized, but I think the situation is getting better.
Remove the old specification
, modelling
and techniques
tags - I don’t see how they could be useful to anyone and they are first suggestions for tags in new questions, hiding more useful tags (like type of interface, class of models, etc.). Going over tags that are currently not used a lot (see The Stan Forums) and consider removing some of them is also going to be necessary.
We might want to help tags work well by having an effort to check and update tags on popular topics (say 10+ likes) from forum history.
Tagging people who participated in the previous discussions around restructuring: @BFiles , @jroon, @jsocolar, @mitzimorris , @cmcd @yizhang @jonah @syclik as well as all @trust_level_4 users.
Looking forward to hear your feedback.