Web Discussions: Flat by Design

It's been six years since I wrote Discussions: Flat or Threaded? and, despite a bunch of evolution on the web since then, my opinion on this has not fundamentally changed.

This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2012/12/web-discussions-flat-by-design.html
1 Like

You did mention Reddit but I don’t think you realize the number of people who go there purely for the discussion. I saw that Steve Martin picture. I would wager that, unlike you, most of the commentors don’t give a crap who the kid is or why he was with celebrities. The tangents you don’t like are what keeps people coming back. That and the in-jokes and memes.

I think Slashdot is another good example of a site where the threaded comments are usually more interesting than the stories themselves.

One thing that made Usenet’s threads work better than those of most discussion sites is that by default it didn’t show you messages you’d already read. That combined with the standard practice of quoting relevant parts of a message in one’s reply to same (as opposed to sticking the entire message at the bottom of the reply, the bane of modern email) made it pretty easy to stay current with multiple conversations in the same newsgroup.

I think you’re underestimating what we can do with trees.

Comments aren’t threaded on StackExchange. That’s news to me. Response comments often aren’t directed at the comment directly above and I have to look at the end of each comment above to understand what’s going on. For example this comment http://meta.stackoverflow.com/questions/147100/the-homework-tag-is-now-officially-deprecated#comment422055_147100 makes no sense unless you mentally build up the thread.

Of course comments on SE are mostly noise anyway.

Jeff Atwood: “put a hard cap the level of replies that you allow. … we did allow, in essence, one level of threading. There are questions and answers, yes, but underneath each of those, in smaller type, are the comments.”

I don’t consider Stack Exchange Questions, Answers, and Comments to be levels in the same way threaded systems allow Comments of Comments. The presentation and interaction is similar, but the logic is different. It’s not simply a hard depth limit. Each entity at each “level” is a different type of thing.

This blog post allows only flat discussions: Comments of Articles. And the way I see it Stack Exchange allows only flat discussions too. Comments of Questions and Comments of Answers. It just feels different because multiple commented entities are displayed on a single page.

As far as readability and etiquette, I like to start a comment with a quote snippet if it will aid understanding.

In your example of scanning through the reddit thread, flattened comments wouldn’t reduce the distance you have to scan. If anything, that would just remove your ability to collapse away tangents you don’t care about, which means more scanning. Combined with the ability for useful threads to bubble up to the top via voting, I think threading is an absolute necessity on a site like reddit.

Managing the threaded comments on my own site, where some posts get several hundred comments, I completely agree that people have… challenges… dealing with threading. A lot of my commenters reply at the wrong level or to the wrong thread entirely and that can be frustrating.

Yet, I still personally loathe reading/commenting in noisy places without threading. I almost never leave a comment on a page that uses Facebook comments, for example, because discussion below the first level of replies directly to the page’s content is always a disaster. Same on some Stack Overflow answers; I often abandon the comments on my own answers because the lack of threading makes it so difficult.

I’d rather see us come up with a way to make threading more intuitive than abandon it for relatively flat structures. Any popular site today has far too much activity for [quasi]flat structures to bear coherently.

1 Like

Most discussions on the web these days, it seems to me, are basically “write only”. There’s seldom any sign that many of the participants have any interest whatsoever in reading what other people have said - or indeed the article that they’re commenting on, quite often.

In such an environment, threading is a waste of time. Just put a flat comment board there and let people spew out their stream of consciousness, which nobody will ever read.

For example this comment [on a meta] makes no sense unless you mentally build up the thread

You understand why meta sites tend to have more discussion than Stack Exchange sites proper, yes? This is a link to a meta post.

Stack Exchange sites only support the minimum amount of discussion necessary to get good questions and great answers.

The rules are different for meta sites, which are about governance and therefore by definition have a lot more pure discussion. Our engine isn’t great at it, but the benefits of keeping it all in (nearly) the same place and eating our own dogfood is far greater than outsourcing something so critical to a different, more discussion-friendly engine.



Combined with the ability for useful threads to bubble up to the top via voting, I think threading is an absolute necessity on a site like reddit.

That’s an odd sentiment since those two parts are at odds with each other. Having a flat structure (with optional context ala Twitter) allows each post to be voted on, and sorted in the list, independently. If you are a slave to the parent-child reply hierarchy, you could have the most brilliant upvoted post in the world, trapped way down deep in branch 5 of the tree where nobody can see it.

@Jeff (man, I wish I could just reply to your comment directly!):

You’re totally right that it’s possible for great content to be swallowed inside a bad thread, and I’ve seen that happen. At the same time, if you force people to wade through every comment linearly, it’s just as common to see great comments follow-on so far toward the bottom that almost no one perseveres long enough to see them (and by extension, a lot of people won’t bother leaving that great comment as comment #200 since they know no one will see it, but they will reply late to a popular thread).

In practice, that hasn’t been my experience with reddit though. There’s almost always a comment with either the answer to “who is that?” or the question itself with the top voted reply being the answer. So, being able to scan through the root level threads quickly makes the answer more accessible than if it were a needle in a linear haystack.

I do agree that traditional threading presents a lot of friction/challenge for your average non-technical user. Yet, I think totally flat and Twitter’s quasi-flattened approach sacrifices too much though. I don’t have the answer, but I hope someone finds a usable middle ground some day.

1 Like

Threaded discussions are more likely to be horrible. It’s Craigslist forums (Brueghelian) vs. SFGate Sports (wonderful - with voting, no less).

Perhaps a chronological view with the ability to determine the threads using a separate/parallel indicator could go some way to addressing the issues. For example, an adaptation of the the branching visualisations in git such as shown here could work: http://stackoverflow.com/questions/3299514/can-i-get-git-style-branch-visualisations-from-team-foundation-server-tfs.
In addition there could be functionality such as the ability to click on a comment to highlight it and have all other comments in the thread, past and future, automatically highlighted.

I think that Hacker News, in particular, has a clever implementation of this, with soft-capped threading. IIRC, you must wait something like n^2 seconds after a comment at level n is posted before you can reply to it. Given the short length of time things stay on the front page, this essentially creates a hard cap, albeit a fairly high one.

1 Like

"[advertisement] How are you showing off your awesome?"
Shouldn’t this be “you are awesome?”?
Or “your awesomeness?” for that matter?

The pun threads. Don’t forget the pun threads.

Ex: http://www.reddit.com/r/AskReddit/comments/l8ack/what_is_the_biggest_fail_date_you_have_ever_had/c2qnaj6?context=6

@Encosia, I think you touch on an important issues - it’s the flatness (or I would say two-dimensionality) of standard collapse/expand tress that’s the problem here.

Tree data, when it gets big, simply does not lend itself to good visualization in traditional 2D. You either end up panning too much or collapsing and essentially losing your orientation within the large view. The same is true, btw, for more complex graphs, not just trees. Although you don’t see many of those in discussions, you do see the same problems in my field, which is project management. Discussions, however, do often have one comment replying at the same time to more than one previous comment, and it’s a shame that the default visualization is always a tree and not a graph.

The solution, I think, can come from novel approaches to visualizing large graph (or tree) data, such as ZUI (zoomable UI). You can see an example of what I mean here: http://feedback.gigantt.com/knowledgebase/articles/98039-team-view
We (at Gigantt) use zoom to take trees/graphs, that would otherwise require panning dozens of screens to navigate, and turn them into something that can fit just one normal-sized screen by using the extra zoom “dimension”.

In short, discussion boards could be ripe for innovation using ZUIs, and we’re actually considering designing our in-app discussion feature in just this way.

1 Like

@Aarom Dufour: I think the Hacker News mechanism, like so many policies, has been implemented with the best of intentions, without realizing the unintended consequences. What happens is that posters don’t see the reply link, therefore they reply to the parent post, thereby injecting a threadless section in a threaded UI.
Of course, this is in no small part due to the complete lack of indication of this feature, which leads to the user discounting it as a software shortcoming.
Of course, longer time users already know the fairly simple ‘hack’ to bypass the limitation.

Regarding threaded vs threadless, I recognize issues and advantages on both, and threadless certainly makes sense in some cases, but for longer discussion I still prefer threaded with highlighting of new comments.

And I think the death of the threaded is mostly Jeff’s wishful thinking; I think Reddit shows that people deal with it just fine.

You want threads not because you want to talk to a specific person, but because you on to talk on a specific sub-topic. Usually a post contains not one thought, but a lot of them, so people who comment, do comment on various moments. As discussion evolves, those moments tend to either separate in different threads, if there’s an option, or discussion will stop because it will feel like talking in a loud noise, in a room where a lot of people interrupt each other.

When you have a real-life meeting with a group of people on a broad topic, it usually looks like “threads” too. Someone picks the first particular issue, then some of people in the room discuss it, some remain silent. When the first issue seems to be done, someone else brings up the next issue, and it’s discussed by others, and again it would be not all of the people in the room usually. When this order of talking about just one particular moment is violated, people usually have stress and headaches after the meeting, because they are forced to move to the next question in the middle of the previous one, and hold they thoughts on the different questions simultaneously.

I do use livejournal just because it supports discussions, where you can talk to people on some thoughts you have after reading, and you can do that in a separate thread, where only people that are interested in talking about this particular thing will post. When the comments are flat, all you can do is just throw your thoughts to the author with no hope for the response, especially in a situation like this, where a lot of people will read and comment. For example, even if someone would want to reply to me to this particular comment, I wouldn’t probably see that, because I wouldn’t read all the comments to this entry, cause half of them will be just thanks to the author of the post, or extended “+1” comments, and others will go on another thoughts raised by your post.

And in the livejournal communities there are a lot of productive talks and discussions in comments, because a good post in a popular blog or a community raises like 10-20 of them. People comment to the post, and then some people comment to their comments, because they have something to say about what was brought up in those comments. Result feels like a communication, not just post and thanks, or question and answers, which is just one round of what we normally do when we communicate.

Google Wave, lol. :wink: Me too…

I agree completely with you and have never been a fan of those sites myself, although Hacker News is something I plunge into because I feel like I have to. Twitter, as you say, has some annoying execution but does nail a few key elements. I’d like to say we’re looking at everything out there in the niche and working to offer something new and fun at http://NE1UP.com but also Twitter cofounder so-and-so has created something new called Medium, I’m sure you’ve heard of. Micro blogging, real time EFFECTIVE chat and communication, are all trendy, lucrative markets that many startups will be targeting with unique and game changing offerings.


Thomas @NE1UP