I want to figure out a better ways to make a forum thread easy to read.

Common solutions to this:

  • A flat thread where every post is sorted by time. This is easy to understand and easy to display in a clean way. The down side is that it can be very confusing trying to follow a sub-discussion, everything gets mixed up and you have to read the whole thread from the beginning and then scroll up and down.

  • A thread display as a tree This makes it much easier to follow a specific discussion between two or more people without having to read everything. The down side is that it can still be difficult figuring out what is in response to what. It is also hard to easily recap on what the parent of a post was.

Both of these break down after a few hundred posts in the same thread.

I want this:

  • A thread displayed as a tree structure of posts, this is to make it possible to be able to read just a part of a bigger thread.

  • An easy way to see the content of the parent of a post, (even if the current post has many previous siblings so that you would otherwise have to scroll up a fair bit).

  • A good way to deal with deeply nested thread, like when to people reply to each other many times.

  • Has to be able to display something like 2000 posts without breaking down.

  • Make it easy to scroll down the page and scan through posts/treads to find interesting ones. This means no click to expand/load more. Endless scroll might work on the other hand

  • Has to be able to display deeply nested treads, without user having to click expand a dozen times

  • This has to look nice and clean, also be pretty easy to understand.

I have a half baked idea on how to do this: By letting the left most posts float along with their children. A thread consists of a few posts with a large number of replies with in turn an even larger number of replies. In a non overlapping thread this will mean that the level 0 posts have a lot of space between then. If they could some how float down along with their children/grand children when you scroll down it would be easy to glance back at them to recap what the OP wrote.

The semi-fixed position should be possible to achieve with a combination of position:fixed and javascript.

Anyone else who have given this some thoughts?

  • I'm not a big fan of the tree structure: I have an internalized fear that it would rapidly degrade into a series of nodes called "Re: Re: Re: Re: <topic>" and thus become useless. PS +1 because I want to know the answer, too.
    – msanford
    Apr 11, 2012 at 19:38
  • 1
    I don't like the "Re: Re:" stuff either, I think it's usually better to not have a title field at all. But this problem doesn't go away with a flat thread, it just makes you have to keep the entire thread in your head with extras like "@adude @anotherdude" back and forth.
    – Björn
    Apr 11, 2012 at 19:46
  • @Björn At which point would you want people to just start a new thread and reference previous threads? What's the threshold?
    – Taj Moore
    Apr 11, 2012 at 20:05
  • @tajmo I'd like to leave that up to the users. I think that sorting the sub-threads according to a voting score will make sure that what most people find relevant and interesting is furthest up and still allow other people to go off on a barely related tangent that is interesting to just a few.
    – Björn
    Apr 11, 2012 at 20:08
  • @TajMoore: What about infinite threading, in which there is no concept of starting a new thread, and no limit to the number of parent/child levels? The UI would allow entry into the conversation at a recent point, and the user could follow the conversation wherever it takes them. I envision a single-page app that allows navigation through the tree hierarchy using the arrow keys. Up allows the user to travel back up the hierarchy vertically. Left and right allow the user to choose a reply branch. Highlighting a reply branch displays a summary, and spacebar descends into that branch. Mar 4, 2017 at 18:25

3 Answers 3


One option would be like you say, to have the root node float as you scroll down. You could even repeat this for one or two nested levels. This becomes problematic of course as you get beyond two nested levels because there's only so much vertical space. At that point I would consider collapsing the intermediate responses except the Original post and the direct parent of what the user is currently viewing. (Showing just one line of the intermediates with the ability to expand).

This would allow the user to focus on one thread of the discussion while also allowing them to navigate easily to other responses.

  • I like the collapsing idea! The difficulty here is to know when and how to collapse. We cant collapse intermediate levels until the user has read those posts.
    – Björn
    Apr 11, 2012 at 20:05
  • Any chance you could make a graphical / animated representation of this idea? Nov 11, 2014 at 16:27

A very interesting question I must say, which I've seen a range of different takes on to find a solution to. Each with more or less success than the next.

I must say I'm very intrigued by how YouTube has re-designed the comment section of videos. YouTube is a forum I roam a lot and in my mind the flow in which you track responses in the new layout is a lot more efficient and seamless than the previous approach. They use a flat design where the most recent comment is the one displayed on top of the list of comments.

Before They used what I would call a dumb flat design, where responses to comments quickly got lost in a video with a rapid flow of comments. If you spotted a response to a comment, where the response intrigued you, you had to remember (or copy) the OP's name that the response was directed to, represented with @UserName, and then click Show all comments, press Ctrl + f and step down to the comment that was responded to. This could be very tedious if the OP had a number of comments on the same video, or if the video consisted of a huge number of comments and was paged.

Now they've adopted quite an intuitive comment navigation approach that enables the user to track comments in real time, whilst still having the video playing in the background. It still has the same flat design, but with a twist.

enter image description here

This comment intrigued me (Not really, but for contextual effect I say it did), I wanted to see what the OP comment was that had this as a response. Previously I had to undergo the steps described above. Now however, I only have to click the "Show the comment"-link

enter image description here

And the OP'comment is displayed instantly. The flat design has by user action locally transformed into a tree design for easier tracking of comments.

However, I admit, in a large and comment tree, with a big number of comment branching and levels, this approach would cause a lot of clicking, perhaps a dozen times, before you get "the big picture". This was one of the problems you mentioned in the OP. To adjust to this there could be an additional option, to expand and display the entire comment tree branching from one individual comment. All comments associated to the focused comment are displayed in an appropriate tree structure.

  • 1
    Youtube's format is interesting but youtube comments aren't really meant to be a forum thread.
    – Ben Brocka
    Apr 12, 2012 at 16:15
  • Thanks for your input, I didn't know Youtube had changed its commenting system. But as Ben wrote: A flat thread is suited for commenting, not so much for multi-party discussions. I specifically want to be able to scroll through a discussion and get an quick overview on what sub-threads are worth reading. The click to expand makes this harder.
    – Björn
    Apr 12, 2012 at 18:17
  • @BenBrocka you're probably right about that. However it shares some common ground with a discussion forum though? But it's not really the source that is interesting, that the answer is very "YouTube oriented" is merely to display a real life usability story. =) In regards to what the OP was asking for it's more of an example of how a flat and a tree structure design can be combined to form a, in my opinion, seamless experience when handling a continuous stream of comment additions. Apr 12, 2012 at 18:17
  • @Björn very well Björn! =) Apr 12, 2012 at 18:18
  • 1
    Youtube's changes have been a huge improvement, but they're sort of an odd duck. They're just a usable odd duck now.
    – Ben Brocka
    Apr 12, 2012 at 18:37

I'm actually building software that's supposed to make forum discussions easier to read. Here is a demo.
I'll try to clarify how it addresses the things you want. Re "I want this":

  • "A thread displayed as a tree" It's a tree, in two dimensions actually, for a better overview, and with arrows that makes it easy to understand how comments relate to each other.

  • "An easy way to see the content of the parent of a post" — The arrows make it easier to find the parent comment: you simply follow the arrow. But you still need to scroll though, if there are many earlier sibling comments.

  • "A good way to deal with deeply nested thread, like when to people reply to each other many times." — If you use arrows to indicate how comments are related to each other, then you can simply stop increasing the indentation of a thread, when people reply to the parent comment all the time and the discussion doesn't branch out into many replies. Then that thread won't become terribly deeply nested. But the arrows still make it clear how the discussion flows (although the indentation stays the same).

  • ("Has to be able to display something like 2000 posts without breaking down." — I've tested with 200 comments only. )

  • "Make it easy to scroll down the page and scan through posts/treads to find interesting ones." — My implementation attempts to place the interesting comments in the upper left corner, so they'd be the first ones you'd find.

    "This means no click to expand/load more. Endless scroll might work on the other hand"
    — Is this really doable? I mean, if the discussion is huge, then you would somehow want to indicate which thread to scroll through first? How would you do that, without clicking? (Eye tracking? :-) in the future)

  • "Has to be able to display deeply nested treads" — See my other "deeply nested thread" comments above.

  • "This has to look nice and clean, also be pretty easy to understand." — Because of the arrows, people seem to understand the interface.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.