Prospective Feature: Topic Posts Reverse Chronological Order


(Chris Crabtree) #1

I’m on hosted discourse, and Discourse Staff sent me here upon my describing the use-case for this (below).

From Discourse Staff

That’s a really interesting idea and I’m surprised that it hasn’t show up on meta.discourse.org (that I can find anyway). That being said, I don’t imagine this would ever make it into the core functionality of the app, but maybe somebody would be willing to make a plugin for it. If it’s something you are super interested in I would suggest creating a topic on meta for this and see what the community has to say.

##My Use Case##
I have quite a large number of long-running (like months-long) topics, which users will occasionally want to check in on the latest happenings, without necessarily filling in all the gaps of what they may have missed since the last time they checked in, if that makes sense.

By analogy, if they were watching a TV show and saw episodes 1-6, but had to miss 7 and 8, they would prefer to just jump back in on episode 9 rather than try to catch up on all that they missed.

So…it would be great for them if I could set topics to display in reverse chronological order rather than the current sort order. In other words, the most recent post would be at the top for a given topic.

I know there are shortcut keys to take them to the latest, but it still takes time to load and scroll, and just seems like unnecessary friction in the user experience for this use case. Especially for the mobile user, the shortcut keys or figuring out to touch “last reply” and manually reverse scrolling from there seems awkward.

I’m fine with ALL topics being sorted this way–I don’t need to have it configurable by category, topic, or user and would prefer it to be a global (teachable) behavior.

##Prior Art##
This idea has been brought up a couple of different times on meta, but not really for the reasons I describe, so I’m hopeful this resonates.

##Level of Difficulty?##
Not sure the best way to get this done even as a plugin…as long as it were reasonably easy, I would be willing to give it a go or fund an expert to give it a go.

If it’s actually hard, it would be helpful to know that.

Appreciate the collective wisdom here in advance.

Thanks!


(Vinoth Kannan) #2

I can help you to make plugin for reverse chronological order of posts. Before I like to share other possibilities to resolve this problem.

Instead of displaying all posts in reverse chronological order you can land users on latest post on topics. For example, If a user already read first 1-6 posts on a topic and after he came back when the 7-9 posts are created then currently Discourse landing him on 7th post URL (like /t/topic-slug/1/7). Here instead of displaying 7th post we can simply land him on 9th post like /t/topic-slug/1/9 (by clicking the topic link). So there is no need for user to use shortcut key or scrolling to reach last post.

Else we can display a button (better to display on hover event) saying go to last post next to the topic title. So if user clicked the topic title it will go to 7th post else if he clicked our button we can land him on 9th (last) post.

If you still think reverse chronological order is the better way then I will check it and tell you soon about how much it is easy and possible.


(Jeff Atwood) #3

This already exists, click or tap the last post date in the topic list, at the far right. Do not click or tap the topic title, that will take you to your last read position, which on a topic you have never entered before, will always be at top.

You can also click or tap the post count to choose to enter at bottom or top.


(Chris Crabtree) #4

Great on the desktop; on the phone can be tricky to touch the right spot to hit the last post date.

In fact, this often leads to touching the post count, and from a UI POV it wasn’t at all obvious to me that “Dec 26, '13” and “10:09 pm” represented the first versus the last post. It reads at first like it’s the complete timestamp of a post “Dec 26, '13 at 10:09pm”.

The up and down arrows are good cues, so this shortcut can be retained once learned.

in any case, this is still a hoop to jump through for my use case versus just having the sequence reversed for a more natural presentation, but it is at a larger hoop, closer to the ground, so for that I am appreciative. :slight_smile:


(Jeff Atwood) #5

They are two different buttons, why would anyone consider them the same text?


(Chris Crabtree) #6

Because on a small phone screen, I interpreted it at a glance as a Date with a Time, and not as two separate things.

Anyway, let’s say I still wanted to be able to default sort my forums in reverse chronological order despite these features. Could I do that in a plugin or what would my best approach be?

Or is it just too different than what the rest of the code expects and I’d be continually finding little annoyances?

Appreciate your time and obviously expert opinion!

Thanks!


(Ильинский) #7

I think, it must be in core functionality.


(Jeff Atwood) #8

It has been discussed before, the level of difficulty is extremely high as is the risk. Virtually everything in Discourse assumes chronological order and this would break that assumption everywhere.