Threaded comments—like here, on HN, and on Reddit—easily spiral out of control. It's especially hard to come back later and see what's new.
Many people seem to have missed this, but Discourse solves the problem in a particularly elegant way. Each topic is about, well, a single topic. The conversation flows as a series of replies, ordered chronologically.
If, however, you'd like to change the topic, there's a "Reply as New Topic" button to the right of every post. This allows you to create a new thread, with a new topic. Metadata about this forked topic is saved, so that future readers can easily bounce between related threads, while still having every message in sequence about the same "topic."
In my experience, this approach maintains the simplicity of flat discussion with the ability to fork topics of nested threads, without the complexity.
The reason multiple views don't work is that a board is a collective document. Everyone will learn to look at the most common view because they want to know what the average user is seeing.
I took me a while to figure this out but since the design and presentation of a board, a board should have none, zero, alternate views. Instead, a board needs good defaults.
notice that one of the flag reasons is "off-topic", to give the poster (if threshold reached) a gentle nudge that hey, maybe they can click "Reply as new Topic" and take it there.
Or mods can click "select posts", click click click the posts they want, then click "move to new topic".
And topics created either way are bidirectionally linked, so you can follow different related tangents back and forth without breaking your flow in the main topic.
So either the community or mods can hopefully assist in keeping things on topic.
Linear forums can't achieve depth of discussion. Discourse only supports one layer of replies with its slight improvement on an archaic quoting mechanism.
Flat forums have to worry more about staying on topic because all the conversations happening in a thread are thrown together. There's no "flow". Posts responding to each other and posts responding to the OP are all jarbled up.
On reddit you don't worry about conversational tangents. You just fold them.
Notice how I didn't have to quote you for others to follow our discussion? That's because our conversation is nested :) If this were a flat forum, my original post would be at the top of the page, your reply would be in the middle, and this comment would be at the bottom. Multiple other conversations would be in between. And we would have to quote each other to have any chance of following the conversation.
Flat forums are strictly worse than nested forums for in-depth discussion.
Flat forums are strictly worse than nested forums for in-depth discussion.
Being someone who has, in the past, been active on several different `traditional' forums, I'd agree with that. You end up with a complete mess of people quoting posts that can sometimes be several pages back, or -- worse -- replying to posts several pages back without quoting, which just causes confusion.
I think that depends on the audience of a forum. I'm a pretty regular poster at the SomethingAwful forums, which still utilizes a flat, quoted forum style.
Say what you want about SA, but the average poster is pretty good. We routinely carry on huge megathread discussions about a single topic with no difficulty. Just pop into any of the subforums and check it out. The Recipes subforum, for example, may have a huge megathread dedicated to Cookies. Another about Stews. Another about Chicken.
Within those, there will be all sorts of discussions, quoting, etc...but it never becomes unmanageable. You just learn to skim posts that don't interest you, read those that catch your eye, quote those that you want to respond to.
The SA forum automatically limits quoting depth, so you only see the last quote or two.
Frankly, I prefer a flat forum over threaded any day. Threaded forums are where discussions die. Once you leave the real-time, "in the moment" posting of a threaded discussion...it's impossible to spark the conversation again. Threads get too deep, there is no sense of what is new vs. old. New readers have an impossible time getting "into" the conversation, often piling into the top of a thread instead of the more active inner-parts.
With a flat forum, you just skip to the end and see what's going on, maybe browse back a few pages to catch up.
But they have the "smaller safe" problem. This is where people don't want to read through the whole thread, so they skip to the end and post and write, "I bet there's a smaller safe inside!" So readers have to skim past dozens of those to get to the content. With threaded comments, it's more ephemeral, but the cream floats to the top, and the smaller safes sink to the bottom.
At least for me I hate nested threads. And even worse is when upvoted stuff gets pushed up to the top. On HN I wait to read the comments until there is about 50 of them. Then I never visit the comments on the article again. Maybe there is a way to just read the new comments without digging through the stuff I have already read and I haven't found it. And this is also why I never respond if I make a comment here. It is simply a pain in the ass to find what I wrote again.
But I have no problems on metafilter that is a single (flat) page with sometimes thousands of comments.
`Reply as New Topic' is a pretty elegant solution, but has a huge failure point: the user. It might work with a technically minded audience, but with Joe Bloggs, it's almost certainly not going to be used. The result will most likely be one massive thread that lurches on and off topic post-by-post, with the responsibility for forking it into new threads -- and replies to the OT `new thread' -- pushed onto the moderators/admins.
Many people seem to have missed this, but Discourse solves the problem in a particularly elegant way. Each topic is about, well, a single topic. The conversation flows as a series of replies, ordered chronologically.
If, however, you'd like to change the topic, there's a "Reply as New Topic" button to the right of every post. This allows you to create a new thread, with a new topic. Metadata about this forked topic is saved, so that future readers can easily bounce between related threads, while still having every message in sequence about the same "topic."
In my experience, this approach maintains the simplicity of flat discussion with the ability to fork topics of nested threads, without the complexity.