Dealing With High Category Count: Reducing Noise & Increasing Discoverability

(Glark) #1

Is anyone using Discourse with a high number of categories?

I have a television website and we’d want a category for each show (Breaking Bad, Game Of Thrones, etc) and we’d be over 100 categories pretty quickly and it would always be growing. My concern is getting the user to the show(s) they are interested in quickly and neatly.

My first thought was that the “latest” page is going to be a ever-changing high-noise challenge in this use case but I read that you can set prefs to make the categories page the default landing page which is probably a better default in this use case.

However, the categories page (as it is now with the boxed header and 6 link/metadata rows) feels like it would be daunting as well. 100+ boxes of that is a lot of scrolling to ask of a user.

In this case, I’d love to present the user with a simple list of the categories so that it is easier to find the shows they are interested in. If they want to talk about Doctor Who then scroll down a bit to the Ds and get in the Doctor Who area and go nuts.

Ideally a category filter/favourite system would let the user manage the system to their category (TV show) tastes for a great personalized experience but I didn’t get a sense those features are on the roadmap in the immediate future so I was curious if anyone is tackling this kind of category noise issue now and if so how?

Many thanks.

(&! (bitandbang)) #2

You could probably rig up something using the jQuery :contains selector (if Discourse uses jQuery, which it may not–someone would have to clarify this point) with a text field at the top of the categories where the user can type in the name of the show they want and all the others will get filtered out.

Right now, the categories page sorts the categories by most recent activity, I think, so that might be a nightmare for your forum because the categories would never be in the same place. I think customizing this feature has been discussed, but I don’t know exactly what your options are with it–someone else can probably help with that.

(Jeff Atwood) #3

Sure, this makes sense. We definitely don’t handle the “hundreds or thousands of categories” scenario well. And these are truly top level categories, this has nothing to do with subcategories, which is a whole other ball of wax. I will now completely at random pick this website as an example:

(I just now noticed there are a number of “generic other shows we don’t cover for whatever reason” genre catch-all categories like “candid reality shows” and “talk shows” – out of curiosity do you have plans to do that as well?)

So there are a few things we could do here, if the “100+ categories” flag is set – or if we just detect that many active categories.

  • Switch to a different, simpler view for the categories page, something sort of like the topic list, with one row of data per category.

  • Keep the current 2 column layout but add a “show this many topics per category” configuration option which can be set to something low like 1 or 2, or even zero, meaning you’d end up with a much more condensed 2 column layout.

That’s about all I can think of that makes sense. I want to reiterate though that this is not about subcategories at all!

(Glark) #4

Heh, so yes that’s my old site and I did set those forums up years ago. Random indeed! :smile:

I think we’d do it simpler and keep a one show = one category ratio. The genre areas were a by-product of having top-tier active-coverage shows and ‘other shows’ (and not wanting a super-giant list on the landing page that would bog things down).

At a certain point with all these shows, easy discoverability breaks down and a simple alphabetical approach for everything (plus probably a few non-show cats like announcements, non-show talk, etc) makes sense to me.

I could do top-level categories per letter (A, B, C etc) with show sub-categories inside them. The big reason I’d be tempted to set up a cat & sub-cat system would be to keep each list a manageable length and maybe help server load? If/when the system would allow users to favorite categories as a whole, that would create something like a personal landing page (favourite cats = shows I’m interested in) which would help high-category forums too.

The idea of alternative layout flag sounds good to my ears if the admin could toggle or set it. Personally I’d love to see a one-cat = one-row layout but I assume in the fullness of time we’d have some template tweaking control over that a la WP themes?

I’m very impressed with Discourse BTW! I wish I knew how to program so I could contribute code.

(Phil_Morgan) #5

I work at a UK University - we are looking to create a software support site for our students and were also wondering about how Discourse would work with a large number of categories.

We would also have in excess of 100 categories (software titles in this case) and would need to make it easy for people to dive down into a list of topics related to the software title they are interested in.

The way I had imagined this would be as a list of topic areas - one for each software application. So this option could work for us:

Even better would be to have an ‘instance’ of Discourse per software title so each title gets it’s own landing page and topic list but running an install for each title obviously isn’t feasible. It seems to me that categories could remain the same across the site so perhaps what we’re looking for here is a topic group?

(Jeff Atwood) #6

We’re building a higher volume category page this week, for dealing with sites that need hundreds or thousands of categories.

Thinking of the design, let’s start simple:

  • one (perhaps tall) row per category
  • columns, in order, from left to right:
    1. standard category badge / color / name, with the category description underneath
    2. Avatars of the five most frequent participants in that particular category (like the current categories page)
    3. total topic count
    4. total reply count
    5. title of last topic replied to, with date

Something like this

also @sam the other thing that goes along with this is explicit category orderings. That should not be on by default, but once you set an order, it should stay.

(Tom Wrench) #7

Was this high volume category page created @codinghorror?

Would be really interested to see an example of it to use for a project.


(Jeff Atwood) #8

Yes, visit the categories page here to see it, does assume you have a fair number of subcategories though.

The tagging plugin for 1.2 covers some of this use case too.