New topics sorted primarily by category instead of activity


(Erlend Sogge Heggen) #1

I’ve been using the new Google Inbox for a couple months now, and overall it’s been a huge improvement to my email workflow. It’s not a revolutionary new concept, but the way they bundle mails makes sorting through e-mails very efficient.

What’s key here is that I scan my Inbox very similarly to how I scan Discourse’s “New” tab.

Inbox

  1. Every human-made message will be read in full and usually promptly responded to.
  2. “Forums” are usually quite interesting, as they’re usually notifications about conversations I’m in. I probably engage with 80% of these mails.
  3. “Updates” are hit & miss, but sometimes important notifs from GitHub and such. I engage with 60%
  4. “Social” is also so-so. I engage with 40%.
  5. “Promos” tend to be uninteresting. I engage with 10% at best. A very quick scan before I click-em away.

Discourse

  1. “Feature” is my bread and butter. I engage with 80%
  2. “UX” similar to above. close to 80%
  3. “Extensibility” also similar. 70%
  4. “Support” usually doesn’t concern me. 15%
  5. “Bug” also usually doesn’t concern me. 15%

I don’t want to hide Support and Bug completely. Once in an odd while there’s a support question I can help answer, or there’s a bug that concerns me. But most of the time I want to scan through them very quickly and be done with it, like I can do with my Promos bundle in Inbox. But the way I scan New right now, my eyes are bouncing back and forth between the title and category on every new line.

Sort by Category

So here’s a crude mockup of what I’m suggesting. What you end up with is a new topics layout borrowing ideas from Google Inbox and Discourse’s own Categories view. (The no-tiger-stripes in Feature is just incidental, but I kinda like it).

Instead of prioritising strict chronology, you order first by category instead. Any category without any new topics in it would simply not show.


(Jeff Atwood) #2

Isn’t this what the “category” page is for?

Note that the most recently active category is on top, but I wonder if instead we should have most active category on top instead…

The main problem with what you propose, and I have thought of it too, is it makes pagination (or even “loading more”, same thing) basically impossible.

(edit: Discourse team members you may remember I proposed exactly what the first post says at the SF world meetup in September 2013 but it was shot down, and deservedly so, because of the sorting difficulties it presents.)


(aaron) #3

I think the difference between the proposed sort function, and what the categories page is currently doing, is more of an advanced sort function, its usefulness would only be really appreciated in Unread, and New as they are relative to the individual user. Where as the way Category is sorted is more of a global standpoint

Sorting New, and Unread by topic makes sense, as it would allow the individual to place focus on their areas of interest individually.
As stated the in @erlend_sh’s use story:


(Jeff Atwood) #4

In that case, it is better to enhance /categories so it displays relative to the current user, rather than as a global.


(Sam Saffron) #5

I definitely think sort by category is a weird weird function with very limited use.

The difficult thing though is that making it super useful would require :mount_fuji: of work.

I would like it to say order by category with latest postings taking 4 of each and then offer an expand button … EG, after user clicks “categories” sort.

Features:

  • some topic
  • some topic
  • some topic
    show more (click to have more topics zoom in)

Bugs:

  • some topic
  • some topic
  • some topic
    show more

And so on.

Trouble is that its a very complex change in the gets of the discovery display that is definitely not in scope for quite a while.


(aaron) #6

I think the function that you would loose over the current Categories, is a place where you define the categories, and their subcategories. This is really important to be global, as this helps the site admin set precedents of hierarchy, where things go in the first place, and not where things are happening right now.


(Michael Downey) #7

Just a reminder for those who might re-design this … please remember those of us who have fixed category sequence on the categories listing. Our users like to rely on where to find something on a page, so while sorting within a category is awesome, please don’t take away this fixed order feature. :smile:


(Jeff Atwood) #8

That’s really for new users, so the order would stay stable for anons.

If you are an established user, you have seen every category definition a million times, you know what “bug” means and do not need to read it again for the 4,902nd time.

I agree with @sam this would be a huge change though and I personally doubt most users want grouping by category… It just feels very specialized and narrow, not something we would get a ton of benefit from for most users.


(Erlend Sogge Heggen) #9

[quote=“codinghorror, post:2, topic:26766”]
Isn’t this what the “category” page is for?
[/quote]Not really, because the category page needs to always display all categories, and I don’t think it would be good to make the order of categories inconsistent either.

Ooooooooh… s**t. Yeah I didn’t take that into account. I’ll be back.


(Jeff Atwood) #10

They already are, by default – categories are ordered by last activity so the least active categories fall to the bottom.

Unless you override and hard-code category order.


(Jeff Atwood) #11

One thing that you buried the lede on here a bit @erlend_sh, I think, is the way Google Inbox groups by date first. While I agree with the category grouping, it’s hard to achieve… and the date grouping is more significant.

So you’ll see headings like: Today, Yesterday, This Week, This Month, with a bunch of rows underneath for each mail thread:

Did you notice that none of the Google Inbox rows have an actual date column in them? Kind of awesome, isn’t it?

Because I noticed that I don’t really care exactly when a topic was active, just that

  • the list is chronological (newest on top, older below)
  • it is roughly grouped by day, then by week, then by month, then “everything older” for anything else.

And that makes me wonder if we should drop the last activity date column in favor of this kind of grouping, even before we attempt per-category grouping.


Design feedback from the perspective of Humane Tech
(Erlend Sogge Heggen) #12

[quote=“codinghorror, post:11, topic:26766”]
And that makes me wonder if we should drop the last activity date column in favor of this kind of grouping, even before we attempt per-category grouping.
[/quote]Interesting. Are you talking about dropping it for all topic indexes then (Latest, New, Unread, Latest-Bugs etc.), or just New? It makes the most sense for New, since there’s no concept of “cold” topics there, but then again the removal of the activity number would leave room for an even more obvious coldness indicator.

There’s also the loss of the sortable activity column to consider, but maybe that column (and others, like Hearts, and Views if it ever gets axed) could be kept alive through the full-page search, which is where you should go if you’re in “finder-mode” anyhow.


(Erlend Sogge Heggen) #13

I had a quick go at mocking this up, but I immediately ran into a problem:

A forum usually deals with much greater volumes than an e-mail inbox, so you’d have to dynamically sort content into different time chunks based on your forum’s average level of activity, which could quickly get a bit complicated. Not to mention it’d be a bit jarring if you frequent multiple Discourse forums:

Say you spend some time on the forum with chunks of “Today”, “Yesterday” and “Past Week”. You’ve now become accustomed to these chunks, and won’t look particularly hard for changes in this pattern as you move on to another forum, which is actually divided into “Past 30 minutes”, “Past hour” and “Past 2 hours”.


(Jeff Atwood) #14

Hmm, no, I think this time grouping would be the same for the most part on all sites. It just means busier sites would need less time grouping, it is more useful on small sites.