
Web Discussions: Flat by Design - stalled
http://www.codinghorror.com/blog/2012/12/web-discussions-flat-by-design.html
======
pseut
Since HN is explicitly designed to deter casual visitors [1], it might not be
the best example to cite for poor comment design. Threaded's not great, but
completely flat comments scale really poorly -- I can't imagine scanning a
page with ~100 unthreaded comments, but I do that all the time at HN. A lot of
the points seem like they could be improved a lot with a little javascript
(ie, nuking unproductive threads), but, as the quotation below indicates,
those changes probably aren't going to be made here.

[1]: <http://www.paulgraham.com/hackernews.html> (4 paragraphs from the end,
"But a site aiming at a particular subset of users has to attract just
those—and just as importantly, repel everyone else. I've made a conscious
effort to do this on HN. The graphic design is as plain as possible, and the
site rules discourage dramatic link titles. The goal is that the only thing to
interest someone arriving at HN for the first time should be the ideas
expressed there."

~~~
89a
> Since HN is explicitly designed to deter casual visitors [1], it might not
> be the best example to cite for poor comment design

The un-design is what makes it appealing to me

------
rcfox
> Poems about trees are indeed lovely, as Joyce Kilmer promised us, but data
> of any kind represented as a tree … isn't.

If you don't see tree data structures as "lovely", then I have to wonder if
you even understand them. Putting data into trees can make difficult problems
easier to solve in an elegant way: searches, file systems, space partitioning,
and so on.

> Rigid hierarchy is generally not how the human mind works...

That's why we keep creating ontologies to explain the world? Ask any 10-year-
old, and they'll tell you that tigers are cats, which are mammals, which are
animals, etc.

~~~
aamar
> Rigid hierarchy is generally not how the human mind works...

Jeff's sneaking a lot into the qualifier "rigid" here. The human mind loves
hierarchies of many sorts, but most when the hierarchy is based on the
context. For example: house cats could be mammals (near tigers) or pets (near
fish).

A concept or object that is relevant to different contexts needs to show up in
differently-organized hierarchies, or failing that, probably ought to be
organized non-hierarchically (e.g. flat or "tagged"), so as to reduce
cognitive dissonance.

Over-simplifying considerably, comments on Reddit/HN tend to be interesting
mainly in just one context, so a hierarchy is probably helpful.

------
rcfox
By the way, if you have trouble finding which comments are new, I highly
recommend the HNCommentTracker[0] extension for Chrome. It will tell you which
discussions have new comments on the front page, and will highlight new
comments on the discussion pages. I couldn't imagine using Hacker News without
it! (By the way, I did _not_ create it. I can't give you support for it!)

[0]
[https://chrome.google.com/webstore/detail/hncommenttracker/i...](https://chrome.google.com/webstore/detail/hncommenttracker/imeeonmdbakdmilnnccaddiplgjjhbog)

------
spiffytech
Jeff seems to have had a rather different experience with threaded commenting
systems than I have.

    
    
      there's always this looming existential crisis of where the heck am I?
    

Threaded comments aren't some expansive, complex network I have to navigate
like a city. I don't find my way to some place, then find my way back. Most of
my time in comment systems is spend reading linearly, where the only thing
that matters is what I'm reading now. "Where am I?" only matters if you care
to answer it relative to the wider context, which I find unnecessary.

    
    
      You're talking to everyone
    

Of course! You're commenting on a public web site! Threaded comments aren't
for any semblance of privacy, they're an organizational mechanism. That
organization is a key enabler for in-depth discussions- discussing a complex
subject in any depth becomes tricky in a flat environment- it's hard to keep
up with what topics are even being discussed, and who's quoting whom, for any
serious discussion in a flat comment system- _much_ harder than keeping track
of stuff in a threaded comment system.

However, threaded comment systems do have their faults, as Jeff points out:
keeping abreast of all discussion as it evolves is difficult, and lack of a
nesting level cap can make things look awkward (however, I don't see a whole
lot of discussions progress to the point that the "far right" problem actually
becomes a _problem_ ).

Jeff's idea of capping comments at a single reply level is a sensible
compromise; it allows a rudimentary sense of organization without introducing
most of the problems Jeff criticizes.

------
ksherlock
Am I the only one who thinks twitter is terrible for conversations? "@somebody
@somebody shortened url ..." That does not stand alone. And every flat comment
system now includes people using @previous-poster to compensate for a lack of
threading, but without the proper context.

------
lazyjones
Ugh.

I don't know where this hate of threaded forums comes from, but these
arguments are obviously based on something emotional rather than rational. If
you don't know where the heck you are in a threaded forum, where sub-threads
often have changed subjects and you can quickly navigate up and down in that
subthread(!), how would you know where you are in a flat discussion where
people just quote some bits and just pretend they are in a subthread (they are
discussing a sub-topic, the context for the post you're reading is spread over
2-3 other posts somewhere on the past ~10 pages on typical boards)?

New replies can easily be found through a special display of new (unread or
recent) posts, in our forum we just display the subject in bold or green (if
it is a reply to your post), it works fine.

One of the best implementation of threaded discussions is slashdot, where you
can find the interesting stuff quickly even when there are more than 1000
posts. Please show me a comparable flat forum.

It's terrible that the crappy flat forums (you know, that widespread PHP-
written stuff that is regularly exploited) broke threaded discussions for so
many people, because they decided to go "guestbook style" (that's what it is -
a guestbook, not a discussion, despite the lame attempts of some people to
quote each other so they could pretend to stick to a topic) and never look
back. I can only conclude that flat forums are preferred by people who don't
really like discussions, they like Q&A (like SO) or guestbooks, or perhaps a
maximum of ~10 replies on any subject. That works fine as a flat list. For the
rest of us, threaded forums have worked fine since the BBS and Usenet times.

------
merlincorey
I'd just like to note that vBulletin, used on on many of the largest web
forums on the internet, historically, and presently, has for some time
supported a dual flat and threaded view. Most sites will default to the flat,
but there is a setting to set it per user to threaded. That's why every post
has their own reply link/button - to maintain the threading.

~~~
HeyImAlex
Whew, I bet that causes some problems for threaded readers: I know when I used
to be more active on forums I _rarely_ used the proper reply buttons to
compose my posts.

~~~
merlincorey
Quite a bit, in fact, from time to time but overall really not so much as you
would think if they had a sane quick-reply feature since ultimately people are
lazy, if the easiest place to reply is the right one things work a lot better.
Pedantically, I'm referring to where clicking reply opens a reply box under
that post and maybe with quote so you KNOW you are replying to that, or you
use the box at the bottom which joins the main "flat" thread of responses of
everyone yelling at each other in a single-threaded dance to the "right".

------
Alex3917
If conversations aren't nested, how are you supposed to know what the replies
are referencing? There's no effective way to talk to each other and have a
real discussion.

All of the 'problems' of nested comments are trivial in comparison to that.
There are certainly good use cases for flat comments, and I think Stack
Overflow is a good example, but there is a reason why all of the biggest
discussion sites use nested comments. There might be more sites with flat
comments overall, but that's only because they're much easier to implement.

~~~
prawn
How do you have a real discussion in real life when the discussion is
effectively flat? You let a 'branch' peter out, then re-raise a previous point
for response.

~~~
damncabbage
But it also gets frustrating. Conversations can go in many very interesting
directions, but you can't, and you often end up railroaded down one path with
the others mostly forgotten as you come across more branching points in the
discussion. It feels like a Choose Your Own Adventure book where you only get
to read it once.

With HN, Reddit, Usenet, or whatever, you can keep that line of discussion
going at whatever speed you want.

------
debacle
There are problems with the threaded model, but they're not the same problems
that Jeff is saying that there are. The real problems are:

1\. When ranking threaded comments, often times a low-ranked comment attached
to a high-ranked comment will be read before a more highly ranked top-posted
comment.

2\. Two diverging branches of the tree can result in the same discussion
occurring at two different points in the thread.

3\. It's very easy for niche discussions to become the focal point of the
conversation, which, while good for discussion, detracts from the subject
matter.

I don't think any threaded discussion system has solved all of these -
Slashdot has its threshold filters, reddit compresses large threads with a
similar threshold, HN is more simple but I find the text dimming effect to be
valuable. Facebook doesn't really need to be concerned with these things as
much, because the discussions are usually more personal and shorter. Stack
Exchange is obviously an outlier here, but I feel that if its mods weren't so
jackbooted it would have devolved into a similar discussion system long ago.

I think the biggest problem with our current discussion systems is that they
are inefficient. Sometimes experts will avoid a conversation because they
can't quickly and easily reply on all points. Multiple conversations can
happen on the same topic (or in the case of the news sites mentioned, across
different posts entirely). People get karma for being snarky but that's
different than the karma given for being wise, being analytical, or doing the
legwork (finding references, etc) so that others don't have to.

If you then consider the extreme - a contextual tag-based karma system with
threads combined based on their subject matter, you quickly realize that no
one will do anything with that because it's too complex.

What we need is curated discussion - not the Steve Jobs kind, but rather the
kind you get when you go to a dinner party and the host introduces you to
someone that you really wish you had met years ago. Unfortunately, that kind
of discussion can only happen currently in more intimate settings, or, in the
case of a site like reddit, if we have limited AIs that can actually determine
the context and sentiment of a discussion, and alter the structure of the
thread tree based on that.

Unfortunately, you're never going to get something like that in an ad-driven
Internet.

------
guygurari
One piece of evidence that flat discussions don't work well at all: on general
news sites which have numbered flat comments, I often see comments that start
with 'reply to number 4...'. Users are actively trying to make up for the lack
of threads. Of course, such discussions quickly become unreadable.

The article points out some valid criticisms of threaded discussions (like
excessive indentation), while ignoring the giant mess that flat discussions
tend to become. The funny thing is that it's a false dichotomy. Even the
article mentions the possibility of having just one level of reply, and yet in
the last sentence it just reverts to 'Always favor simple, flat discussions
instead.'

------
purplelobster
I remember what it used to be like on random forums across the internet, and
it wasn't pretty. The fact that discussions on reddit can still be easy enough
to follow in spite of the tens of millions of visitors, and thousands of
comments speaks more for how good the system actually is. Living before
threaded comments like HN and reddit was like living in the stone age. Every
system has it's flaws of course, as mentioned in the article.

------
dools
You know the model I wish web discussion would follow? Interleaved email
replies. Text only, interleaved email replies is the ideal format for multi-
person discussion and it's been around forever. Too bad everyone is trying to
figure out a way to fix email, instead of learning how to use it properly and
taking those lessons into almost every other ,odel for discussion.

~~~
cbs
Isn't email just an example of a fundamentally threaded medium, with emphasis
on quoting in responses?

------
saurik
I very often will find a post on HN where the conversation forked in numerous
unrelated directions: one thread taking about the politics, one talking about
the economics, one talking about the font used on the website, and another
angry that the post got enough upvotes to be on the front page in the first
place.

I consider it of immense value that I can skip most of the content I am not
interested, and concentrate on the parts in which I am. Further, I will
contend that it would be impossible to even have that many interesting
discussions were every participant forced to struggle through all the other
parts in a massive flat discussion.

Of course, you can then argue "let's have multiple flat discussions", at which
point you start to see something more like a typical web forum: with
categories, forums/topics (I will maintain "topic" going forward; to be clear,
by "categories" I mean the section headings on the list of topics you often
see), specific threads, and then linear posts within the thread.

But, if you think about how that maps to a site like HN, you find that the
part with the flat posts isn't analogous to the comments on an article: the
are more akin to individual thread trees, each one diverting off to talk about
the politics, economics, etc. of the overall topic (the link). Now, the
article does seem to realize this, as it explicitly is mentioned that capping
the thread depth has value, but doesn't seem to understand that that's the
world that most of the systems that he's operating in already have.

Take StackOverflow as an example: he says there is one level, but there are
actually a bunch, from the site as a whole, to the individual interest areas,
to the level of individual subjects (which are modelled as a DAG due to being
structured with tags, but are of course used in the field as the next level in
the tree, as that's how humans can conceptualize it) to questions to answers
to individual comments on answers (where it stops).

That's a lot of levels of depth, and it lets the site help you weed out all of
the stuff you care about from the stuff you don't. That depth was important:
if you came to the site and you saw all of the questions at the same time,
you'd be frustrated; if you came to the site and saw all of the comments, it
would be worthless.

Now, go back to HN and attempt to remap that kind of depth: we have links, but
there really are lots of sub areas that people like to talk about with regards
to those links; as I mentioned: politics, morality, design, alternatives...
and each of these is really a fairly high-level goal that tends to get rapidly
paired down to "what you actually wanted to discuss".

It doesn't _feel_ like these levels are occurring if you concentrate on the
schema, but if you examine how the site is used they are clearly there; the
exact boundaries, though, tend to get blurred depending on how many people are
participating, what kind of article it is, etc.: there isn't a hard/fast set
of rules like on StackOverflow, but the site serves a wider set of purposes.

Of course, when you get down in the trenches, things can get confusing. That's
the only place this article has any meat: however, to turn this into a David
v. Goliath "Discussions: Flat or Threaded?" kind of topic, claiming "Web
Discussions: Flat by Design" misses the essential complexity of this field,
throwing out all of the fascinating parts of discussion communities and
bordering on linkbait :(.

Further, it then ignores the ways in which Hacker News attempts to do this
(the reply delay limit that kicks in the deeper you get down in a discussion
tree), and doesn't offer any enlightening solutions. That said, this is the
same author (Jeff Atwood) who wrote a massive tirade about discussion systems
in 2009 called "The Value of Downvoting, or, How Hacker News Gets It Wrong"
without realizing that HN actually supported downvotes, so I'm not certain
what I should expect here.

(Oh, and the idea that Twitter somehow makes it easy to follow conversations
because it attempts to group replies back/forth is kind of ludicrous if you've
attempted to dig back through a conversation on the site that involved more
than four people after the fact: the mechanism often doesn't work, and it
fails to deal with how Twitter is actually insanely NON-linear to the point
where there is often a cacophony of discussion going in every direction at
once by people who may or may not even be following other people who are
involved in the same discussion... how that model--the least linear model in
existence today--somehow proves that any linearity at all is valuable is
confusing to me ;P.)

~~~
codinghorror
Speaking of categories: I was browsing many pages deep in HN a few hours ago
and I noticed a ton of "Ask HN:" topics buried on pages 6-10. That kind of
implies those should be different category area on the site, rather than being
mixed in with the regular "here's a link, discuss the content on that link",
perhaps? To me, there seems to be a very broad divide between "here is a link
to an article, discuss", and "here is something I am thinking, discuss". One
is of the community, the other is fundamentally outside it.

> without realizing that HN actually supported downvotes

I have almost 500 HN "rep" and I _still_ can't find any way to downvote. Is
this documented anywhere? At Stack Exchange downvotes require 125 rep to cast,
and cost you 1 point of rep for each answer downvote. (Question downvotes are
free, but still require 125 rep to cast..) This is all listed in the FAQ.

> one thread taking about the politics, one talking about the economics, one
> talking about the font used on the website, and another angry that the post
> got enough upvotes to be on the front page in the first place

I should have mentioned this in the article (and I might revise it to add
this, actually) but each one of those _blocks_ the other. In other words, if
the politics branch of the tree is first, that's 50+ replies I have to wade
through to get to the next branch (say, economics). There's not even any way
to collapse branches here as there is on Reddit...

Have we also talked about first topic reply advantage? How many people will
bother to read past that first massive 50 reply tirade about politics to get
to anything else?

~~~
chris_wot
_Have we also talked about first topic reply advantage? How many people will
bother to read past that first massive 50 reply tirade about politics to get
to anything else?_

How do you handle that anyway? If you make it a flat discussion, if someone
brings up a new topic (in other words, a branch) then how do you respond to it
if there were lots of responses between the time you wanted to reply and the
time the original post was made?

If you have a long distance between the original post and the post you are
responding to, then that means that the audience loses context and don't know
what you are talking about - thus instead of asking "how many people will
bother to read past that first massive 50 reply tirade?" you now have to ask
"how many people will bother to read past the first insightful comment?"

Basically, how do you keep the thread of discussion without using indenting,
or expanding/contracting the discussions? I can well understand that
StackExchange needs to keep discussions punchy by design, because it's about
keeping information succinct in order to properly answer questions, but on a
site like HN that is designed for discussion I think that flat discussions
would be an absolute disaster!

Slashdot actually allows for flat discussions, try using it sometime and I
think you'll see that it's a nightmare.

~~~
kijin
> _the audience loses context and don't know what you are talking about_

In most forums, you just jump quote the post you want to talk about. Doesn't
matter if you're on page 144 and the original post was on page 36. Click
"Quote" and phpBB/vBulletin automatically adds a link to the other post.

And it's an unholy mess to wade through a 144-page forum topic. A lot of
people just quote the whole post to add a one-liner. It's a nightmare. Any
long thread is probably 90% quotes and 10% new content. Just the other day I
was trying to find some information in an XDA Developers forum. I gave up
after a dozen pages or so. Too much garbage thrown in between useful content.

On HN and Reddit, on the other hand, people quote one another much less
frequently. For example, I only quote other comments if I want to say
something specific about a particular passage. Here, we get along just fine
without excessive quoting, because the context is already there. HNers
understand the cost of context switching.

I wouldn't want to read a HN thread where 90% of the content was made up of
quotes a.k.a. context-switching crutches.

------
damncabbage
The Twitter example was terrible, mainly because it _does_ have a tree
structure to the discussions, but you can only have a flat view of them. You
have to manually sift through replies to find the branching points and then
trace it from there.

For example, these are two discussion trees branching from the same
conversation starter:

<https://twitter.com/lgarvey/status/279088834115940352>

<https://twitter.com/nitecoder/status/279088173743747072>

------
zanny
I think the better solution is to just hide the "discussion" part from the
content by default. If you are in a comment section, you are looking for one
of two things - information on the topic (usually restricted to the top 2
levels of a comment thread) or discussion (the deep trees Jeff complains
about).

Making that discussion flat doesn't make people want to read it, get involved
in it, or understand the exchange. Comments / forum threads are trying to
serve two distinct purposes.

My solution would be to have the comment tree hidden by default.(tangentially,
I wonder if a system where comments move to the right relative to their time
posted, not just in order, since that is why we are moving comments rightward
anyway - that way a comment thread would map the post times out rightward.
Since replies could only come to already posted content, the flow still moves
right, but the active discussions still show themselves off) If people want to
see the discussion on top level comments, it should be a very obvious and very
apparent mechanism to reveal a discussion tree, but otherwise, let people
browse the top level first (with a ranking system, not just by time) and find
discussions they are interested in. That is my biggest problem with all the
reddit-esque sites where discussions take up tons of my vertical space by
default even if I don't actively seek to engage in them.

------
ajuc
There's Polish site wykop.pl, it's a digg (now reddit) analogue. They use
capped level system (article -> comment -> reply) with special formatting for
> quotes and @nicks so people can refer to each other in the comments, and the
discussion doesn't differ much in structure from the one on reddit, from what
I noticed. It's rather large site, often there's around 300 comments on one
article, but it is easy to read (easier than reddit, at least for me).

------
majormajor
I've mentioned this on here before, but the live-updating approach taken by
SBNation sites (I'd guess The Verge, too, but I don't have an account there to
know for sure) solves a lot of the issues, including the big ones of "where's
the new content?" and "I just want to scroll down" (cause now you're using
keyboard shortcuts to navigate to the new stuff).

Since I haven't seen the live-updating-with-keyboard-control threaded model on
other sites, and haven't seen anyone else on HN comment on their model, I'm
curious if there just isn't much overlap between HN and SBNation—though since
the launch of The Verge, I would've expected more HNers to have seen it.

The complaints about stuff getting pinned to the far right are specious; a
flat discussion thread is equally prone to getting hijacked over by two people
having a fight. And when it happens on a flat discussion thread, it's not
sequestered off to the side by itself, it's constantly being reinserted into
the main flow where other people are talking too.

~~~
codinghorror
Yeah, but that's a community flagging / moderation problem. If two people get
in a fight in a bar, _they need to leave the bar_.

------
netcan
Overall I think its amazing that an unstructured discussion involving dozens
or even hundreds of people can be possible at all. It's not possible in
person.

Whatever the format (threaded, non threaded, threaded with limitations) it's
going to run into some limitations. They're all imperfect and I think that
which one is right depends on the number of participants and velocity of
comments. This threaded format seems to work well for 10-50 participants.

Stackoverflow is different in that every "topic" has a predefined structure an
hierarchy of importance: a question, answers & comments. In a way, it's not
tackling the same problem as HN, reddit, forums, disquss, etc.. These are
trying to allow discussion regardless of the topic & structure. They are also
different in that they place high importance on being accessible to casual
future readers.

Unstructured "discussions" hundreds or thousands of participants is largely a
problem that twitter tackled. That's why celebrities and high profile people
like it.

------
RivieraKid
"How do you know if there are new replies? Where do you find them?"

This is solvable in a very obvious way. Just visually highlight the new
comments since your last visit. E.g. like this: <http://i.imgur.com/MXjNZ.png>
(new comments are yellow).

------
SCdF
"precious few threaded discussion models survive on the web."

Citation needed. Seriously, you can't just casually throw out a phrase like
that and not expect to back it up. HN seems to be going fine. Reddit seems to
be going fine. Facebook has threads now I've noticed and it hasn't exploded in
a ball of threading-related fire. I can't think of a website that has died
because it uses threads, nor can I think of a website that is overly popular
because it doesn't use threads.

Anyway. let's talk about his arguments a little:

1) It's a tree. His argument seems to be it's unnatural and confusing to read.
This is sometimes true. What's even more confusing though, is when people wish
to reply to one particular post, but since it's flat it all gets smushed
together into some kind of massive confusing shouting match.

2) Where did that reply go?

\- "How do you know if there are new replies?" Yep, that sucks, no question
there.

\- "reply at the wrong level" I'd argue that occasionally getting your reply
wrong is better than _constantly_ replying into a shouting match and never
being heard.

\- "responses buried somewhere in the middle" that kind of thing is lame
totally, but it can be "fixed" (to a point obviously, imo, ymmv etc) with a
upvote system

3) It pushes discussion off your screen. Aka "indentation is ugly". That is
certainly true, but it can be mitigated (at least in terms of wasted vertical
screen space) with expand / collapse buttons. In terms of horizontal space, I
think that's an UI issue waiting for someone to solve it (I don't think it's a
fundamental failure).

4) You're talking to everyone. Not sure what he's really talking about here, I
don't think anyone thinks a reply to a comment is private-- you reply to an
existing comment when you want to comment on the comment, not talk to the
person who wrote the comment. Otherwise "polluting the tree with these massive
narrow branches" seems to be #3 again.

5) I just want to scroll down. Basically, he finds it too hard to navigate in
tree-space. The problem with this is that everyone else wants to _reply_ in
tree space, so even if your site has flat comments people still going to use
@originalCommenter at the top of their comment, or if you're lucky quote the
originalCommentor's post. And then originalCommentor will quote back, and so
on and so on until, surprise!, you have threaded comments again, except this
time it's adhock, ugly and with no collapse button.

I'm also confused as to why Jeff includes a couple of paragraphs implying that
Stack Exchange is a good commenting system and then says "but remember: Stack
Exchange is not a discussion system.". So then why bring it up? It not being a
discussion system implies that perhaps the techniques used there may not
actually translate into something that _is_ a discussion system.

In the end, I understand that there are elements of threaded discussions that
are frustrating, of course there are, nothing is perfect. But I would argue
that flat discussions are, for certain types of conversations (specifically
those had on HN and Reddit), far more detrimental. I'd go so far as to say
that Reddit would not be even _remotely_ as popular if it had a flat
discussion system.

~~~
travisb
My take on the entire flat versus threaded discussion is that it boils down to
a few facts.

1) Outside of computers people don't experience recorded threaded discussions

Instead what they experience is much like a flat forum. Everybody talks in
chronological order about the current topic at hand. Some small number of side
conversations are free to start, but too many and the rooms becomes noisy and
all the conversations are hard to follow. If you come to the end of a
discussion thread there is no record of the discussion you can refer to and
pick the thread up elsewhere. Instead the best that can be done in one
participant recalls some kernel of a previous thread and throws that back into
the conversation in the hope that other participants will both be interested
in discussing it and remember enough of that previous thread to continue.

For normal human discussions this is fine; there are a small maximum number of
participants, conversations are limited in both time span and time between
comment and separating the jumble of chronologically ordered threads is labour
intensive.

The environment which makes this flat threading model of conversation work in
the real world don't hold. An Internet discussion can have hundreds of
participants and span weeks with any particular person responding only once a
day. With suitable UI the computer can carry the entire burden of organizing
and displaying the record of conversation in any subthread of discussion.

2) Web forum writers don't pay attention to the lessons of Usenet.

Atwood himself mentions Usenet and quickly discards it. This is the single
biggest mistake of thread proponents and forum developers. News readers have
already tackled the most serious issues with a threaded display with a few
powerful techniques:

The first is that newsreaders explicitly show their user which posts are new
since they've last read the thread. This solves the issues of "Are there new
replies?" and "Buried responses". It does this by allowing users to skip to
the next new post quickly as well as to see which subthreads have new replies.

The second is that news readers allow the user to trivially close an entire
subthread or mark it read. I would argue that this is the second most
important feature of any threaded system anywhere and yet is missing in nearly
every threaded commenting system. When somebody comes back to a discussion
they don't tend to be interested in rereading posts they've already seen.
Instead they want to view the new posts yet have the thread context readily
available.

The lessons of Usenet are not complicated, but they do depend on the
understanding that computers should do work for humans. It's more work to
track which posts a particular user has read, but it helps the user. It's more
work to jump to the next unread post or collapse a subthread in the UI, but it
helps the user.

3) Nobody seems to realize the UI middle ground between flat and threaded.

The vast majority of the cause of threads indenting themselves into infinity
is a linear chain of responses, usually two people going back and forth. While
this is technically threaded out to infinity, it is effectively a flat
discussion in chronological order.

Take a look at the threading display Nitpick uses
<http://travisbrown.ca/files/nested_threading.html> .

Nitpick doesn't display the technical threading, but instead the effective
threading. Instead of indenting a linear series of replies once for each
reply, it displays one indentation for the entire linear subthread. When the
technical threading doesn't add any information it isn't displayed. You don't
have to scroll right and down to read it, just down.

It seems that a threaded forum which took these considerations to heart would
solve all his issues or at least reduce them to minor annoyances. Yes it's
still a tree and as Usenet has shown that's not always enough, but most of the
time it is. If the computer provides the necessary tools to navigate to new
posts in a thread then it doesn't matter where in a thread the response goes,
you'll be able to find it when new trivially. If you don't indent when it
doesn't add value you aren't required to scroll left.

All this leaves is the fact that you have to scroll down. As you state his
complain seems primarily focused on having to close subthreads he isn't
interested in. This seems like a feature and not a bug. You can just read
downwards, it just takes longer than collapsing the thread. In a flat forum
you have no other option but to scroll down.

~~~
codinghorror
The primary lesson of Usenet is that Usenet is dead.

~~~
Flenser
Usenet is not dead because it had threaded discussion (Edit: not that you were
saying that); it's dead because people find it easier to find discussions on
website forums than install and set up a newsreader to access Usenet.

Edit: I use a few chrome extensions that track what I've read on hacker news
and mark new posts, and allow me to collapse a post and it's replies, or the
the entire thread it is in. It's not perfect but I'd rather have this than no
threading.

~~~
travisb
This is but one example of an unfortunate bias I see in tech generally and the
web specifically. A short name might be Not Invented Now syndrome.

Not Invented Now syndrome is the tendency to dismiss technologies simply
because they are not the newest hip thing. Sometimes this argument is phrased
as "X is dead" or some equivalent. This ignores any lessons which may be
learned from those older technologies and there are always lessons.

The old systems have always tackled intrinsic domain problems, such as how to
keep threads of discussion straight within a large public forum with hundreds
of participants, which just keep on coming up. The old systems have also tried
most, not all but most, of the possible solutions to this problem. Ignoring
the wealth of research done into the intrinsic problems, especially the ones
which aren't immediately obvious, just results in new systems wasting time
dealing with well known and understood problems. These are the positive
lessons.

There are also negative lessons to be learned from old technologies. It can
take decades to determine what just isn't working well. Often you can see this
in the reasoning behind why a technology was left behind. These are the only
problems within a domain that a new development effort should be working to
fix. Sometimes these failures of the old system are due to technical
limitations at the time and sometimes due to unforeseen use cases or issues
which strained the original architecture. Failure to note these failings just
causes new systems to leave consideration and solution of these issues until
the architecture has been set and only inferior bolt-on fixes can be applied.
SPAM is one good example of this. There are methods of drastically reducing
SPAM which require core changes to the design of communication systems. A new
system which fails to consider SPAM in its design from the outset is stuck
with inferior solutions.

If you don't know history you are doomed to repeat it may be a cliche, but
cliches only exist because there is some truth to them.

------
tripzilch
Flat discussions can be implemented without much extra thought, just the
comments below eachother and you're done, and it'll work as well as the next
flat comment system.

Threaded discussions require a bit more thought. If you just make a basic
"reply-to" tree style discussion, you get something unwieldy quick. It _can_
work, if you happen to catch the right community, but it'll be fragile.

So you need clever things like voting, sorting and collapsing/pruning.

Now for some reason, the article's first example was HN, which gets almost all
of these things quite wrong. The voting/sorting algorithm makes threads
stagnant and rigid (top voted comment will stay on top, even if it's off-
topic) and there is _no_ collapsing/pruning going on whatsoever.

His other example is his own site that he says is not a discussion platform.

And then there's Reddit, which he passingly mentions. I know HN doesn't like
Reddit much, and whatever you may dislike the community but there is one
thing: Not only is it one of the _largest_ discussion sites on the web, it is
one of the very few sites that get threaded discussion really _right_.
Comments are collapsible and do so automatically at smart places, but the
interface to expand/collapse them yourself is responsive enough to be pleasant
to navigate. The sorting algo almost always gets it right, and (especially for
top-level comments) I hardly see an interesting comment buried to obscurity by
a most top-voted one (something that happens on HN threads all the time).

Well. I didn't really intend for this post to come off as so much critique on
HN's discussion system. But if you're talking about flat vs threaded
discussions, then HN just isn't a very important example. Also not for "why
threaded doesn't work" (not with all the other low-hanging fruit).

So yeah, if you just want quick comments/discussion, go flat. But threaded can
be done right. Especially if you want to stimulate "discussion" vs "comments".
But it's not set-and-forget, you need to tweak it for the community, and the
style of discussion. Flat is easier. Or maybe I should say it's easier to do
threaded wrong :)

------
Hupo
I have _never_ liked the threaded model, largely for the reasons pointed out
in the link. Threaded discussion is nice when you first read something, but
becomes a total pain in the ass instantly afterwards if you want to
participate in the discussion and/or actively follow it (oh hey, there were 85
comments in the last refresh. Now there's 89. Time to go comment hunting,
since they could be _literally anywhere!_ ). One of the most annoying cases
I've seen is Techdirt - it offers both flat and threaded view, but everyone
seems to assume that everyone is using the threaded view and doesn't properly
quote the posts they are replying to, which essentially makes the flat view
completely useless for trying to follow the discussion. And in threaded view,
you can end up with ridiculously thin posts where they're practically
unreadable. _Oh dear._

This is why a strong quote system is _absolutely essential_ for a great flat
discussion model. I personally consider 4chan (powered with an userscript like
4chan X or with the inline extension introduced a while back) to be a
fantastic example of this. With simple quote links, backlinks to replies,
hover previews and inline quote expansion, you can follow discussion within a
thread incredibly easily and even do basically on-demand threading! Allow me
to demonstrate it with this image: <http://i.imgbox.com/adss6lfu.png>
(functionality and style in this case provided by 4chan X[1] and OneeChan[2]
with a slightly customized Photon theme)

[1] <http://mayhemydg.github.com/4chan-x/>

[2] <http://seaweedchan.github.com/OneeChan/>

Also, in regards to HN, a while back I thought about writing a userscript to
turn the comment view to flat (with some sort of auto-quote links), but turns
out it's not really possible because there's no way to get the accurate post
times for comments due to the "X minutes/hours/days ago" - though this could
be easily solved if the relative timestamp was wrapped in a <time> element (or
heck, even a <span> with the accurate timestamp in a title attribute or
something, _anything_ ).

------
Trezoid
The only time I've ever seen flat comments work is when there is essentially
no discussion (stack overflow) or where there is an obvious mechanism to
indicate (and link too, ideally) the comment you're replying to.

Threaded comments allow for more in-depth discussion, while making it obvious
where the current thread finishes, so that skimming through is possible.

Adding thread collapsing, or have threads auto-collapse at a certain point
with a separate page for that thread solves the "super long tree" issue, since
the really long comment threads are hidden away if you don't want them, but
still there if you want to read them.

~~~
codinghorror
> an obvious mechanism to indicate (and link too, ideally) the comment you're
> replying too.

Like say quoting the relevant bits you're referring to? :)

~~~
Trezoid
It really depends on the style of conversation. It's not unusual on some
forums to use the quote block (linking to the the comment being replied to)
but leave it completely empty to respond to the whole comment. people can
click the link to see the context, but don't have to re-read the whole thing
again if they're following the conversation already.

On the other hand, quoting individual lines to comment on a specific section
happens plenty too.

------
dllthomas
Having participated in in-depth discussion on both threaded and flat systems,
I can't stress enough how much more comfortable I find threaded fora. It
allows multiple digressions without them getting in the way of each other,
which can be problematic in some narrow contexts where you need to keep
everyone on the same page, but is such a tremendous win when you're exploring
ideas where you need to collectively pin down all sorts of pieces of the
problem.

------
otakucode
As the article itself points out (though in a specific rather than general
mode), what you are trying to accomplish and facilitate matters a great deal.
When I approach a place on the Internet in which a discussion can take place,
my primary concern is that I be able to participate in many different threads
of discussion at once. How could a flat structure accomodate this?

I can get by in IRC just fine, talking to 20 people about as many different
topics all at once, and keep it straight (I am a very engaged
conversationalist, I consider discussion one of the sublime joys in life),
which is fine so long as I restrict it to private message boxes. Any time I
carry on a conversation with 3 or more people simultaenously on different
topics in a main channel, most people have a breakdown and can't cope.

If you make your discussion format flat, I will not alter my habit. I will
break your discussion format. I will write 10 replies in a row, directed to
different recipients at different points in a discussion on different
subjects. And you'll see them all as one big block (or maybe 10 blocks nested
to the same level).

I spend a lot of time in Reddit comment threads. The only hierarchy I have
EVER expanded was comments downvoted into collapse. Not once have I ever
collapsed a part of the tree. Why would I? I can, exactly as the author said
they wanted to, just scroll down. There's even a straight line for your eye to
follow as you scroll down so you don't get lost in the indent!

------
asfdfdasfafdsss
I agree that I don't like trees, but in HN just go to your user in the upper-
right, and click on comments. Problem solved! Still a tree, but no more
clutter.

Looking at flat comments for an involved discussion is sometimes confusing
because you have to scroll around even more to see who is replying to what.

Maybe PG would provide an option in user config to view comments in a list
rather than a tree if we asked.

------
petercooper
I've always found unthreaded/single threaded conversations to be better when
you want the discussion to remain civil and focused. For example, on
MetaFilter or Edward Tufte's board.

I wish/hope someone puts some effort into studying the difference one day
though because it might just be confirmation bias on my part.

~~~
kitsune_
The most vile and trollish boards I know are single-threaded. It's very easy
to derail a discussion.

------
akkartik
Incidentally, here's an alternative UI for HN that lets each comment stand on
its own: <http://hackerstream.com>. It's a hobby project I built with a
friend.

~~~
rcfox
Hey, that's pretty neat! Unfortunately, I accidentally logged in with an empty
email address field and it seems like I'm logged in as _everyone_ , with no
way to log out. Or something... The "your stream" page takes like 30 seconds
to load after that.

~~~
akkartik
Thanks! The "your stream" page just gets slow sometimes.. it has nothing to do
with who you logged in as.

Try clearing your hackerstream cookies to log out. That whole login flow was
mangled to fit in a single-screen app.

------
prawn
I was wondering today if someone could create a great way of reading threaded
discussions, a little like how Flipboard provide a different way of viewing
paged content?

------
aslakhellesoy
Please reply here

------
martinced
Amazingly ironic that he uses StackOverflow's (very basic, lame and
restrictive and, yes, I have several Ks rep there) commenting system in a blog
post title "Web discussions" when, years after years, they kept repeating:

"StackOverflow is not a place to get interesting discussions because
StackOverfow is not a place to get discussions at all"

It's not very honest to use SO as an example of a good way to do "discussions"
correctly.

------
89a
4chan gets this right.

