Category creep and information overload

(Apologies for the length but the background to the problem is needed)

I’d appreciate some thoughts on an impending problem with the CAMRA Discourse system and the potential overuse of categories. I notice that the number of categories on here is relatively short and I’m aware that the over-arching design ethos is as flat as possible and not deeply threaded or categorised architecture. I get this and I personally buy into it.

This is not specifically requesting a change but more of a chewing the fat kind of discussion. Hope that’s okay… I’ve stuck this under UX because I couldn’t see anywhere obvious to put it but it is about an impending UX problem.

CAMRA (campaign for real ale) as an organisation has a deeply routed habit of trying to categorise everything! It’s one of it’s failings but it’s so ingrained that it’s very hard to overcome. You should see their definition of a pub - runs to about six A4 pages.

The organisation is structured thus: central volunteer teams acting nationally, paid-staff at the office (working for the membership) and around 200 branches of varying sizes made up of volunteers - at a guess about 2,000 people.

There is a well documented breakdown of communication between CAMRA centrally and the so-called active members in the branches. I’ve been an advocate of a national forum system for many years. Initially they set-up a phpBB system which limped along but wasn’t exactly buzzing. Part of the reason was that the central teams never really engaged. This was partially a mind-set problem and partially the phpBB solution.

So I’ve watched Discourse with much interest since it’s inception and last year CAMRA launched its own Discourse implementation. It’s already a success primarily because of the tagging system whereby member’s of those central teams get notified when their name or group is mentioned. It’s by far the single most important feature in Discourse and a very big reason of why it’s already more successful than phpBB.

At the very start, I tried desperately to get them to come up with a clean category system. Just a point about my place in the organisation - I’m an annoying active member in one of those 200 branches. I’ve dabbled now and then in central teams but I’m certainly not part of the inner core. So all I can do is influence and advise. At the very start, their natural tendency was to create 50+ categories splitting topics into lots of tiny categories & sub-categories. For example, consider the “Support” category - they wanted to create categories for every individual system of which we have 20+.

The main problem here is the list of categories starting to swamp the user interface plus confusion by users as to which category to start a topic in. I’ve been partially successful in getting them to reduce the number of categories down.

But there is a problem looming. Historically most branches had their own private Yahoo group for local discussion. It works okay but there is a desire to move away from Yahoo (don’t blame them!) plus there is no easy way to manage whether a person is a CAMRA member or not, i.e. authentication isn’t linked to the membership system - which Discourse is.

So centrally they have decided to migrate all 200 branches to Discourse. And by default, everyone will see all the branches which will flood the UX with a very long sub-category list, the sub-category dropdown list will be unmanageable plus user’s timeline will be flooded with posts from branches which they are not interested in. Imagine what this list would look like with 200 entries in it:

I’m aware that you can mute a category but that’s too draconian. Once muted, it’s very hard to find that category again. Out of those 200 branches, there is my own branch that I’m interested in but I’m also occasionally interested in some of the surrounding branches. At present, I use an Outlook rule to move those messages into their own sub-folder and I go look at them when I’ve got a moment spare. I don’t want them in my main inbox as that’s more higher priority stuff. I guess what I’m saying here is that this very useful idea of rules/separate folders mentality doesn’t work in the much flater Discourse “Latest” and “Unread” views. Is there a solution here?

There is one other side effect of this category creep. Many CAMRA members are well over 50 and “Don’t do IT” (see comments about markdown). They really don’t and are proud of it. So one has to strive to make everything as simple as possible. Consider one branch being migrated to Discourse where they can see all open groups by default - they are going to be presented with a huge list of topics none of which are anything to do with their local branch. They are going to switch off immediately as they won’t be able to see the wood for the trees.

My suggestion was that when a member is added to Discourse as part of a branch migration is that they only see two categories by default: the welcome category and the branch category (or probably sub-category). After they’ve been using the system for a while, they receive an email telling them about the rest of the categories and they can then go an subscribe to the categories they may be interested in.

Is any of this possible in Discourse? I think I’m sort of asking for a self-help subscription type system whereby you are presented with a list of all the categories and you can check/unchecked your membership of those categories - some of them may require further approval. Some of them are open and you can go straight in.

That will do for now!


I’ve picked out a few quotes which resonate with me, and the problems we’re facing with Mozilla’s Discourse instance:

We’re at about 200 categories in total at the moment, and it’s a mess.

The first area that’s observable for us is the /categories page, which we use as our homepage. Redesigning it has been on my radar for a while, but I haven’t got round to it yet. My general idea is to make it a lot like the following: Forums — Mozilla, adding a level of categorisation above the category level, an instant search bar, and a category-categorisation above all others containing categories you’re subscribed to.

I think this category-categorisation would particularly help with a problem we share, which is having a huge number of subcategories in a category which itself doesn’t get a lot of posts: (I assume no-one is posting in “My Branch” directly)

Moving all these subcategories to top level categories (with a ‘Communities’ category-categorisation) will make other areas of the UI completely unusable and requiring of a redesign, but they’re barely useable at the moment:

One thought I’ve had is replacing these lists of categories with lists of the category-categorisations instead.

I think for forum setups like ours there’s a need for “Normal” categories to behave a lot more like “Muted” ones, in that its topics shouldn’t appear in quite so many places. On Mozilla’s instance, Latest and New are basically completely useless, containing topics ranging between add-on development, Swiss VR and non-English posts.

No user should be assumed to be interested in all those things by default, and I think on forums like ours the behaviour of Discourse needs to change with that in mind: not assuming you’re interested in every topic by default, but only ones which you’ve explicitly expressed an interest in (by subscribing to them, or the category they reside in, in some way).

My previous thoughts in this area has been to make a tab which does what the above paragraph describes, and I’ve thought this should be the Unread tab. It seems for technical reasons that’s not possible.

My new thought is to move away from having a single tab which does all that, and adding a new ‘my categories’ value to this drop-down:

This allows the existing UX to be followed: the current value of the drop-down filters what appears in the tabs following:

On the Reps category, the Latest tab shows the latest topics from the Reps category, the New tab shows new topics in the Reps category, and so on.

On all categories the Categories tab shows all categories, the Latest tab shows the latest topics from all categories, the New tab shows new topics in all categories, and so on.

And, similarly, on my categories, the Categories tab would show my categories, the Latest tab would show the latest topics from my categories, the New tab would show new topics in my categories, and so on.

I think the solution here is a combination of Watching the higher priority stuff, Tracking the lower priority stuff, and having the ability to receive emails for both (where currently you only get emailed for stuff that’s Watched).

With the ‘my categories’ drop-down idea, my thought would be logged in users would, if subscribed to a category, see ‘my categories’ by default where they, and a logged out user, see ‘all categories’ by default now.


I may be wrong as I have not implemented this, but you could achieve this with Groups instead, no?

It would mean a bit of set up for each Branch (sub) category but you could create one for each branch and make it only visible (in its security settings) to members of the appropriate Group. Then you create a list of groups and get members to subscribe to their branch (and any others they are interested in). These could, in theory, each have their own sign-up rules.

I guess you could achieve this by making all other content visible to members of some generic group that gets assigned automatically the moment they select a branch (i.e become members of Group:BranchX and Group:AllQualifiedMembers).

It would mean that there would be little content to show unless you registered with a branch, but that would make the instructions clearer.

However, if you are managing the migration using SSO it might be possible to them pre-assign groups to each user depending on their source, skipping the initial step at least, see:

Would that work?


We’ve discussed something similar before in this topic, too:


I have tackled some of theses issues by

  • making categories restricted to certain groups, except for a top level Welcome category for users not logged in
  • setting main site categories to viewable by TL0 so logged in users get the content common to all users
  • using the groups page to allow users to “follow” restricted categories
  • suppressing subcategories on hamburger menu
  • adding a groups icon to the nav

This works ok for me, including creating a curated email summary for the groups that each user follows. See for an example.

At scale, the menu and groups page gets unwieldy. Some ideas to consider

  • group page enhancements to help with order and arrangement, “My Groups,” group categories, show group description/dated added, search, orderby (clickable) options, etc.

  • simple category overview page that shows all categories and subcats on one page like a sitemap

  • The new changes are great but further enhance the preference page for Categories to add a “check the box” interface.

  • Show groups on profile in more pretty way and under separate tab

  • Preference page for categories or groups page could be part of registration flow to let users pick their groups/categories.

  • Allow generic invites not tied to an email so communities can be transitioned in more easily with group assigments when you don’t have a user’s email or you want the invite to be shareable (used with caution)

  • As an alternative to groups approach. allow categories to be private but not hidden, so users know the categories exist and can get instruction in the about topic on how to join.

  • Above all else–should work on mobile.

The downside to all this for me is it takes everything out of search because categories are restricted. Also users have to jump through a couple steps.


I suggest that tags are a better fit in most circumstances – you should generally start with a lightweight tag before jumping to a heavyweight category.

The big exception is permissions, if you need permissions around it, then it must be a category.


Agreed. The other exception here is the info overload issue. Groups/categories let you have a Twitter follow model.


You can mute tags just fine though. So I am not sure I agree.

1 Like

But can you not see tags that you don’t want to see?

I’m working on importing a Ning community that has ~700 categories, each one for a county in the US. The nature of the discussion is that you’re likely not to care about any county that you’re not specifically interested in. Ning calls these “groups”. I’ve imported each Ning group as both a Discourse group and a Discourse category; groups are given write access to their corresponding category.

I’m trying to figure out how to at once make all of these county categories available to search engines and not-yet-users while also not flooding top and recent with categories that people are not specifically watching.


How did you ever resolve this?

I’ve been trying out the Mozilla forums that @LeoMcA admins, and been feeling like I’d really like a quick way to mute all but these N categories.

It’s still on my list! That site’s not live yet.

1 Like

The preferences/categories page really feels clunky with a lot of categories. It’s a good example of Discourse isn’t supposed to have so many cats.

Some sort of UI that can help people mute everything and then unmute just a few interesting ones would help for users. (Still lots of minefields elsewhere.)

1 Like

This doesn’t make sense to me. Traditionally the way this is done on large forums is that you only ever visit a few sub-forums (categories, in Discourse). So you don’t need to see or care what is going on in the other 14 categories, just visit the two you care about. Why would you need to mute what you never see anyway?

@elijah do you have mailing list mode enabled? Or are you being mentioned, or is a group your are in being mentioned, in too many posts? That might lead you to getting too many notifications, which I am guessing is causing your info overload.

Or maybe you are tired of seeing stuff in email summaries that you don’t care about?

Well, I guess because I like go latest and the suggestions at the bottom of topics to be useful.

@tobiaseigen I’m using it as a website.

Not really sorted it aside from possible nagging about keeping the categories under control. Time passes so I can’t remember how long CAMRA Discourse has been running but it’s doing “okay”. @HAWK will be aware of some of the softer issues one raised over on Fever Bee.

Whilst I’ve got used to the way everything is lumped together and non-categorised by default, it does cause the more infrequent visitors a little bit of trouble. But we’re getting there.

I do personally find myself reading topics that I’d prefer not to read because of the way they are presented on the latest timeline.

I random thought just hit me - there are many topics that I’m not really directly interested in but if they got really busy, I might want to re-visit. Muting a topic is too draconian IMO. Maybe a “Mute unless it gets busy”. Yes, I know that’s a very nebulous end user requirement.

In our helpdesk system, I often “snooze” tickets. I do want to action them but not right now. So maybe a snooze feature, e.g. mute this topic for N days. For threads that I do want to read when I’ve got a moment spare but don’t want them in my “Latest” list right now.

Just thinking out loud.

1 Like

In the Mozilla one, there are a lot of topics that are in local languages. I can’t read Brazilian Portuguese, that topic is not for me. In the case above, there are categories for localities. Places that aren’t local will not be interesting to people. (And there will be more not local than nearby.)

1 Like

AFAIK the Top list is not affected by Mute.
Unless I’m missing something, it seems that page would allow one to find “busy topics in categories not overly interested in” depending on what “busy” means.

Because in the latest view, I see all posts from all categories.

1 Like

Category mute works 100% with Latest. Probably not with Top, but I don’t look at that often. I keep #dev:translations muted here, and I never see topics from that category. Not on Latest, not on New, and not in Suggested Topics.