Threaded vs flat: Discourse's way of handling responses is genius, but I have one small suggestion

(Kris) #12

Would the button take you to another page with that thread in flat form, or would it expand inline? Also would it be duplicating the functionality of the “in reply to” and " replies" buttons to the point where those would become superfluous to most users?

I’m just having a hard time imagining how the feature might handle volume, say in a thread that’s a few dozen posts in… Seems like it would need to cut off at one point or have it’s own everscroll? Then you’re back to a similar issue a flat conversation causes…

0 Likes

(Valts) #13

Have you tried the buttons that filter by members?

0 Likes

(Dane Weber) #14

Let’s see if I can make this clear. Here’s the starting thread (somewhat expanded from @Vilx ):

Full view of thread (each line represents one post):

1: Alex
2: Bethy in reply to (1)
3: Alex in reply to (2)
4: Bethy in reply to (3)
5: Carl in reply to (1)
6: Alex in reply to (5)
7: Bethy in reply to (5)
8: Carl in reply to (7)
9: Alex in reply to (8)
10: Dan in reply to (1)
11: Dan in reply to (7)
12: Bethy in reply to (10)
13: Dan in reply to (8)

If you then click the currently existing icons that @Vilx pointed out in his screenshot, you currently see a filtered set of posts (in this case Bethy):

1: Alex
2: Bethy in reply to (1)
4: Bethy in reply to (3)
7: Bethy in reply to (5)
12: Bethy in reply to (10)

Using the exact same filtering functionality, @TheBear 's proposal is to have a button that when clicked for (7), you see the following:

1: Alex
5: Carl in reply to (1)
7: Bethy in reply to (5)
8: Carl in reply to (7)
9: Alex in reply to (8)
11: Dan in reply to (7)
13: Dan in reply to (8)

There’s no threading or expansion. Just filtering. Essentially, for a given post, you want to see its blood ancestors and blood descendants and none of the cousins, nieces, or uncles.

8 Likes

(Thomas Becker) #16

That’s exactly right. The way you extended @Vilx’s original example makes the demonstration even better. Thanks!

0 Likes

(Kris) #17

Ah alright, that makes a lot more sense to me — thanks for the better explanation! All the talk of threading was completely throwing me off.

0 Likes

(vzmind) #18

I definitely support such option so secondary conversations inside the main conversation could be easily followed/split/moderated. If it’s just filtering, a new button should be enough to handle that (based on buttons you mentionned @Vilx ).

All post are already on the page, with ancestor ID and all. In a way, rebuilding the tree is technically possible.

Any idea how heavy it’s to implement ?

0 Likes

(Pablo Antonio) #19

I think I’m myself a “thread-view aficionado” that still doesn’t completely like Discourse’s approach. If I get it right, I think what you’re all suggesting is interesting: Given a post, show me its context (where the discussion came from and where it got after the post).

The “Conversation” button might help but, as it happens with the “in reply to …” and “N Replies” buttons right now, they duplicate posts in the page. I don’t like that. Also, the path from the root to the clicked post can be shown flat, but what about the tree that has the clicked post as root? How do you display it?

It would be nice to hear @codinghorror’s opinion, now that an example for the idea has been provided.

0 Likes

(Jeff Atwood) #20

I still don’t understand the text-based mockup examples above, I suspect because I find threading very difficult to understand and follow in general. I dislike browsing Hacker News and Reddit for this reason, as well as all the other ones outlined here.

Perhaps if someone could produce a visual mockup?

2 Likes

(Pablo Antonio) #21

I don’t have time right now to create a mockup, but I can provide a description of a mockup if that’s worth something.

Imagine you click the “Conversation” button in @daneweber’s last post in this topic. If I understood properly, a pictorial representation of the idea would be to make a box appear above the post, much like the one that appears when you click “in reply to …” on any post, but this one would show all the thread of posts linked by reply-to’s from the first post in the thread (the original poster) to the one @daneweber replied to specifically; in this case, just the topic initiator since he didn’t reply to any specific post.

Beneath the post, another box would appear, much like the one that appears when you click “N Replies” on any post, but this one would show, in addition to the direct replies, all the replies to those replies, and so on. In this case it would be just @TheBear’s, @awesomerobot and my reply. If someone had replied to any of these three posts, it would appear in the box too.

Although I don’t completely buy the idea yet, I think it’s interesting. I think the main problem with things right now is that if conversation in a topic diverges to two different sub-topics, for example, the flat model will show you posts talking about one sub-topic and posts talking about the other mixed. It’s like the flat model assumes everybody is pretty much talking about the same sub-topic and can’t diverge. I don’t know, maybe my head is too damaged by years of reading tree-like discussions in mailing lists and the web.

0 Likes

(Thomas Becker) #23

Your post describes the original idea very well, with one small qualification: I didn’t really have in mind that the conversation would appear in boxes above and below the post. I thought that the entire topic would be filtered so that everything that doesn’t belong to the conversation is hidden. But perhaps your idea with the boxes is better. Interesting.

0 Likes

(Thomas Becker) #24

Please allow me to try one more time with words. I think I have a way of explaining it that may be better than a mockup. Let’s say we’re looking at post X somewhere in the middle of a topic. We want to show the conversation to which post X belongs. That conversation is a filtered version of the entire topic. The filter keeps only the following posts:

  1. Above post X, it keeps only those to which post X is a reply, either directly, or indirectly through intermediaries.
  2. Below post X it keeps only those that are replies to post X, either directly, or indirectly through intermediaries.

That’s it.

1 Like

(Aneurin Price) #26

In addition to the Twitter example from that post, I’ve put together a quick mockup. Bear in mind that I didn’t spend much time on this so I haven’t made any new UI elements, which you might need, nor have I thought too much about how exactly the filtered view is presented; please don’t take this as a serious UI suggestion.

2 Likes

(sparr) #27

Just to add more explanation and illustration, this suggestion is the equivalent of visiting the permalink to a single comment on reddit and then appending “?context=9999” to the URL, like so:

The yellow highlighted comment is the one linked to, the 9999 says “give me up to 9999 levels of parent comments to this comment”, and the default behavior already includes showing the child comments and their descendants.

0 Likes

(Thomas Becker) #29

Oh, thank you, that’s a perfect illustration. As a matter of fact, I’ve been thinking lately that threaded views like reddit or HN would benefit from this feature just as much as Discourse, if not more so. So reddit already has it, I didn’t know that. That’s cool.

1 Like

(Sam Saffron) #30

Perhaps if after you expand a “in reply to”, we added a widget that allowed you to expand one more time.

“see full conversation” or something along those lines.

1 Like

(Thomas Becker) #32

It’s true that the whole idea of the “Conversation” button carries the danger of UI clutter and confusion. Your suggestion would help to mitigate that. However, there is one problem: if the post is a top level post, that is, it doesn’t have the “in reply to” thingy at all, it still makes sense to view the conversation. In that special case, the conversation consists of just the descendants, that is, the replies, replies-to-replies, etc…

So I don’t know, maybe the whole thing is just not compatible with a simple and intuitive UI. I’d just hate to see it go. I still think it would add a lot of value.

0 Likes

(Sam Saffron) #33

Same treatment could carry into the “1 reply” expansion.

0 Likes

(Thomas Becker) #34

Oh, yeah, of course. Silly me. I think this would be a great way to get the feature without cluttering the UI too much.

0 Likes

(Thomas Becker) #35

Wait, I have one more nitpick. It seems that when I reply to your post, and my reply is right underneath yours (the post that I’m replying to), then the “in reply to” button does not show up. That doesn’t seem right to me. My post could be a top-level post. It should still be indicated that I’m replying to you.

0 Likes

(Sam Saffron) #36

Yes, this bothers me as well, the reason we do this is to de-clutter the UI, the inconsistency does bother me but this is a totally separate issue for a different discussion.

1 Like