Category creep and information overload

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.

One recommendation, for sites that host wildly different content by category (completely different languages is a good example), is to limit suggested topics to the current category. There is a site setting for this. Also applies to @Rob_Nicholson’s case.