Hacker News new | ask | show | jobs
by travisb 4933 days ago
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.

2 comments

Indeed, the value of threading on usenet was that it provided data for the user-agent to decide in what order to present unread posts to the user - if the original topic A had drifted to subjects B C and D which were being discussed in parallel, when reading it three hours later I would get all the posts about B before the posts about C and then the posts about D. And if I grew tired of B I could hit 'k' and move immediately onto C. As long as I wanted to carry on reading, though, all I needed to do was hit SPACE (or in today's language, scroll down)

This is all a completely separate issue from the one of whether replies should be indented under their parent. For my money, this only makes sense if the reply is approximately as long as 'ME TOO!!!11!!!1!' and in the more interesting case that the reply is actually a reply and not just a comment, indenting is the wrong decision. But there is no need to conflate the two: ordering and indenting are independent decisions

The primary lesson of Usenet is that Usenet is dead.
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.

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.

It's also dead because spam killed it. It wasn't designed to deal with it (see the famous Canter-Siegel incident)