Hacker News new | past | comments | ask | show | jobs | submit login
Discussions: Flat or Threaded? (2006) (codinghorror.com)
38 points by EndXA 10 months ago | hide | past | favorite | 33 comments



I've got to disagree with the recommendation against threading. The problem is that too many sites do it badly. The HN approach, where I can collapse an entire thread easily but see them all by default, is optimal for me.


I think it’s worth noting that when this post was written, the reddit/HN style of threaded conversations was really new, and other contemporary implementations of threading were truly awful.


nntp news readers had existed for many years and many do this form of threading.

So not new.

I hate many web boards as they don't thread.


I used to prefer threaded discussions, but nowadays I am more leaning towards flat discussions, as it is more usable for me.


And HN famously took this approach from Reddit, who do the same thing.


Like the article says, threading can be tolerable with a programmer mindset but in more general audiences you often end up with just nests of essentially unthreaded conversations.

Even here it’s a major drawback on the very big threads, because it’s impossible to see what posts are new or keep current on the big discussions.

As soon as you see Dang posting a link to page two and promising software updates in future, you know you’ve no chance of understanding what’s being said.

None of these things are problems with unthreaded conversations, which easily scale to thousands of comments.


None of those things are inherently problems with threaded conversations either. Hacker News is designed to discourage long-term engagement because the quality of conversation drops and the likelihood of flamewars increases over time. It's just a matter of implementation design and goals.


I would argue that the quality of conversation drops and flamewars increase because HN is discouraging long-term engagement with an article.

Threading, new-only, relevant context displayed systems without point systems but with personal killfiles encourage discussion and viewing other participants as people.

What HN has makes only a relative handful of high-frequency commentators visible as people; everyone else is marginalized.


> Threading, new-only, relevant context displayed systems without point systems but with personal killfiles encourage discussion and viewing other participants as people.

What do you mean by "new-only"? And how would you show relevant context with personal killfiles and without a point system? :)


How would you solve the problem of keeping track of new comments in the HN model (threaded), assuming you'd like the conversation to continue over a few days or weeks?

I think the HN model is superior in almost every ways, except when it comes to following new comments, which is painful.


I have a browser plugin that does it - when a thread I've read has new comments, it shows the number of new comments and highlights them in the thread. HN could also have some way to inform someone of new comments. Literally HN should just do what Reddit does, because this is not an issue there.

Of course, the phrase "do what Reddit does" is blasphemy here, so I'd suggest finding a plugin or a third party service like hnreplies[0] or just put up with the pain. Or do what most people do, resign yourself to forgetting about a conversation as soon as it drops off of your threads page.

[0]https://hnreplies.com/


Agreed, Reddit's solution works quite well. And yes, hnreplies.com is very useful (I already use it).


HN is lacking in that you cannot hide threads/comments already seen.


HN added collapsible comment threads a few years old ago...modulo the meaning of "few." So there was a long time to get it right (right for HN); a lot of time for the people implementing collapsible threads to experience them as users; and in the end the implementation made minimum changes to the user experience.


I absolutely despise the phpboard type sites where you have to wade through 1000 low-quality replies [<= 1 2 3 ... 57 58 LAST => ] to find the meaningful ones.

HN is not perfect (breaks above several hundred replies), but it is pretty good.

I did kind of like slashdot's upvote-reason information. I thought it could have evolved better though. There could have been "browse serious answers" or "browse to entertain" to match them. That could be an answer to stack overflow's "death to discussion" kinds of things.


The threaded model simply scales better. A Reddit thread (on the old interface, before they ruined it with the redesign) with 5,000 comments is a huge pain to navigate, but it's possible. A flat forum thread with 5,000 comments is utterly and completely hopeless; lasciate ogne speranza, voi ch'intrate. And yes, I was cutting my teeth on flat forums for years before Reddit even existed (all thankfully deleted now, to the relief of my teenage self). The ability to isolate and instantly collapse irrelevant subthreads and understand the full context of a specific reply is what makes it easier to scale threaded discussions.

If you have a small, boutique forum with less than ten active chatters at any given time, then go flat, sure. You don't need to scale when N is small.


"... the old interface ..." is at https://old.reddit.com


For now


I think 4chan’s model is actually really underrated. Replies can be indicated by referencing the number of a previous post, and a post can link arbitrarily to as many posts as needed. Posts include a header with links to all posts that reference it. This allows posts to form arbitrary graphs and allows following a single thread of discussion while still maintaining a linear structure without disjointed branches.


Definitely a favorite of mine as well, strikes a good balance between keeping conversations going while also still organized enough. Shame the last image board I enjoyed succumbed to death the same way all small forums eventually do.

One additional thing that is special about image board discussions, is posts often have a picture thumbnail along with it, which I find provides for having an innate spacial awareness when jumping around in a thread.


Phpbb is almost unreadable for me. What he's missing is persistently collapsible comments.

Say for example in this discussion someone mentioned internationalization which I don't care about with 50 replies. I collapse this comment and it's 50 children and this discussion is for me still very readable. It must be persistent because if I return in 30 minutes I don't want to collapse same posts over and over. I also collapse posts that I have read and I'm not interested in replies. This effectively makes me a moderator.

Subreddits protects website from off-topic posts. Nested collapsible comments protects posts from off-topic comments and tangents.


And what makes it worse in phpBB and other forum engines is the waste of vertical space. 4 messages on your screen seems to be the maximum despite using smaller fonts than web average nowadays.


Back in 1998 a German webtech forum installed its first forum software, if I remember correctly it was WWWBoard out of Matt's Script Archive. They soon got better software over time [1].

But something the community was and is sure about was a preference for threaded discussions. WWWBoard must have been inspired by the Usenet – and for meandering discussions with many sub discussions it still is perfect, I think. We then looked down on those flat bulletin boards – but then the Usenet people were looking down on us Web people.

But to be sincere: In a way threaded and flat are just different views on the same date. From a modern web forum I’d expect a switch button for different views or even maybe a combination of those two: A visualization of the thread structure on the left, a flat list of posts on the right.

What speaks against threaded, sadly, is the rise of mobile: You can’t very good display an even more indented structure on a small portrait screen. Another cultural technique lost.

[1] WWWW Board was replaced soon by as custom Perl Software which then because of resource constraints was replaced by a server in C which then later was replaced by a Rails application and now it is written in Elixir. But there is a clear lineage and the archive was always converted and goes back a quarter century. I feel old.



Flat discussions can easily go off the rails, and then never go on track. Threaded is better as new tangents start new threads while keeping context


> Branching is very logical to a programmer's mind but it doesn't correspond to the way conversations take place in the real world.

But online conversations are their own type of discussion. They may have been born from wanting to mimic traditional discussions, but we're down the road from there now.


Flat discussions tend to be alive for waaaay longer

Ive spent years using both approaches and threaded is better for fast moving, news oriented content like hn or reddit

Meanwhile old style forums are better for deep, weeks long discussions.


the user agent can simply choose how they render and order the content


this is true only to an extent -- users will adapt to the structure by including (or not) any quotes from the comment(s) being replied to. If the default view is threaded and you've rendered it as flat, all that missing context affects the reading of it. If the default view is flat and you've rendered it as nested you end up with a lot of embedded quotations that repeat the context now plainly visible.


flat requires more maintenance but it's worth it, social media uses threads to actually hide discussion and reduce moderation needs


An interesting model is the one found on 4chan (maybe other places too?). All the posts are sorted by timestamp, but you can add a link to one or more previous posts, meaning your are "replying" to it/them, and those posts get a footer with with all the replies as links. You can then scroll to check a discussion or click to see/jump between references.

I find threads useful under specific circumstances, but cites are way more useful (I'm looking at you, slack...)


4chan threads are basically a generalization of the classic (HN, Reddit, etc.) threads.

Classic threads are just trees of replies, where each reply has exactly one parent and one or more children. By contrast, 4chan threads are directed graphs of posts, in which any post can reply to any other post by its number - even itself (hard to achieve, but not impossible). It is even possible to reply to someone in the future (which sometimes happen when people reference a future "get", in which some poster will get a "nice" post number, such as 99999).

There are even some frontends that render 4chan threads as graphs in the browser. I forgot their names though.


Yeah - thats really good model and best way to keep conversaions going. Also Zulip's model is very practical too.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: