Web Discussions: Flat by Design

Compared to Usenet every web based discussion forum I have seen so far is crap. I still read Usenet groups daily and love the high post quality. However, the Usenet needs fresh blood if it wants to survive. On the other hand it would surely collapse if all web forum users switched to it.

The main reason I think that web based forums are crap is because they miss the user interface of modern NNTP readers. For example reading the G+ or Twitter stream is a real pain. If they offered a NNTP interface following streams could be a nice experience.

Finally a decent analysis of everything thatā€™s wrong with threaded discussion systems. For anyone planning on creating one of these, one suggestion: Slashdot is the ultimate antipattern for usable discussion systems. Without NoScript and an ability to switch back to their original non-Javascripty format, itā€™s quite possibly the most excruciatingly painful way of presenting a discussion that Iā€™ve ever encountered. So when you build a new system, take a look at what Slashdot does and then make sure you never do anything like that.

Usenet should not be discarded as a forgotten relic of the past, at the very least it should be learnt from. The issue is that all web discussion formats and UIs are just unbelievably bad compared to even the most basic of mid-nineties Usenet reader.

Threaded discussions worked perfectly well on Usenet because there was a good UI to navigate the threaded discussions. On the average web page discussion thread there is no way to navigate the discussion thread and so it becomes a confused and cramped mess, especially if message indenting is used.

Naive discussion wish:

If every post is required to be a reply to a specific post (twitter kind of achieves this) and also has a timestamp, then you should be able to set threaded or non threaded display as a preference.

You could even click on a post ask for something like ā€œshow 3 levels above and below threaded for this postā€ if in flat mode and vice-versa for threaded.

Forcing a reply target helps avoid the non-sequitur posting you get on flat discussions

@Dummyacctforsso: I donā€™t think you should confuse Slashdotā€™s JavaScript abomination with threading. The Classic Discussion System, which you can still enable in the preferences, works just fine and doesnā€™t rely on JavaScript, itā€™s (almost) pure HTML. So is HackerNews or Reddit, for that matter.

I think Alistair has a good point; we desperately need better tools for managing our discussions. I have a glimmer of hope for RDFa-tagged pages, particularly using the SIOC ontology, to allow the normal HTML interface to be enhanced or even replaced by dedicated discussion tools without losing the accessibility of the Web, but I donā€™t see the incentives for forums to adopt it. Instead, weā€™re seeing closed proprietary solutions like Tapatalk take their place, which is a shame.

Hierarchies always suck. And thereā€™s always a better system that allows multiple labels.

An ontological hierarchy is better replaced by tags.
An inheritance hierarchy is better replaced by composition.

A flat comment stream loses important information, a comment hierarchy is a UI nightmare, but still isnā€™t rich enough semantically.

Instead we need a comment stream where replies can be made to one or more comments, to make a comment bush. This can be done with a fancy UI, or just numbered comments and either a field to enter them, or a regex on the main text. No need to do @anne, @bill etc (which of anneā€™s comments did you mean?)

That reply-to data can then be presented in many ways. New responses to you can be offered to you as ā€˜whatā€™s newā€™. You can follow an argument back to those it replied to. You can view the stream chronologically. You can view the current commentā€™s bush chronologically. You can even mark a response as private and have it disappear from the main stream. And the stream can be totally reordered, since context is only ever a click away.

But the initial UI as a chronological stream is lightweight and simple.

1 Like

While I like Reddit, the problems you mentioned become apparent when you look at /r/depthhub, /r/bestof and /r/defaultgems. (On a sidenote, is there a way to find highly upvoted comments on HackerNews?)

While they work as well for finding comments from subreddits you are not subscribed to, they help with exactly the problem you mentioned:

>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.

I think the threaded system is best if you are deeply invested in a discussion. It helps better than any other system I know of understanding whatā€™s about what. Especially when the discussion is a huge one you can easily find the parts of it that are of interest to you.

When I read a thread in a bigger board they often get to topics I have no interest in, how would I wish I could just press a + sign and collapse that part of the discussion. And threads with thousands of answers like Reddit has quite often? I donā€™t even try to read those, without threading thatā€™s just a giant wall of noise for me.

SEā€™s 2-tier system (Q||A)&&C is great (perfect?) for what the site does but for proper discussions? Iā€™d take threading every day.

Seems reasonable to mention this here: http://stackapps.com/questions/2050/threaded-comments

Iā€™ve been experimenting with using hypertrees to make sense of long threaded discussions.

You can see some examples (using App.net) at
http://shkspr.mobi/hyper/?thread=262171
http://shkspr.mobi/hyper/?thread=2014530
http://shkspr.mobi/hyper/?thread=307452

I canā€™t claim itā€™s the ideal solution - but I think itā€™s good for seeing where conversations are branching off etc.

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

Exactly right. The best experience Iā€™ve had with long online discussions involving many different users have been on an SMF forum. For all its faults, the ability to quote someone with one clickā€“and better yet pare down that quote to only the relevant partā€“is incredibly helpful.

The RSS reader Iā€™m developing http://bazqux.com shows threaded discussions for Reddit, HN and Livejournal.

Recently I decided to ā€œput a hard cap on the level of repliesā€ and guess what? After short time getting accustomed to changes, reading long discussions become much more simple.

When there is a long thread with conversation between two people itā€™s more pleasant to eyes to read comments vertically not diagonally. And when there is a comment which is not direct answer to previous one itā€™s better to write name of original comment author, put a link, hint, anything but decreasing tree depth several levels. Itā€™s hard to understand to what this ledge answers for.

@Leeho L: While Livejournal threads are very good at grouping discussions itā€™s not convenient to read deeply nested threads. I found that itā€™s easier to read them when nesting is limited.

@Christoph Bartoschek and @Alistair Sheehy Hutton: NNTP reader UI wonā€™t help with current web discussions since there is no practice of quoting relevant parts of message in answers and you need to see previous message while reading next one. With NNTP reader youā€™ll need to spend too much time navigating back and forward just to get the context.

Couple of thoughts -

  1. The collapse war you wage on Reddit is easily solved by offering to collapse all children of the top-level replies (or defaulting them to collapsed and offering an expand for those who donā€™t want to manually expand all replies). I think the RES browser plugin offers this already, and Iā€™ve found it quite useful for pun-thread-heavy discussions

  2. Shacknews.com (specifically shacknews.com/latestchatty.x ) has an implementation of threaded discussion that I think works well once you are used to it. All 2nd level replies are single-line and expand when you click on them to reveal the text. This can get annoying to browse if you are using a mouse, but Iā€™ve found that using keyboard navigation hotkeys makes it pretty painless. Been a while since I have frequented their site, but if I recall correctly, the age of the reply affects its color (fades from white to grey) so that you can easily see where fresh new replies are popping up

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.

This is true, but that post is more than likely near-worthless w/o context from the posts before it.

Maybe reddit, and the like, could add a sort all comments and replies by votes in a flat structure and would provide links to the threads.

To use your site as an example my reply is 20 or so posts below what your post Iā€™m trying to reply to right now. I suppose I could read all 20 of them to see if someone has already said what Iā€™m about to post, but itā€™s easier/quicker for me to type it. If it it had been threaded in some fashion Iā€™m guessing I wouldā€™ve seen a similar post.

Maybe it could display in a flat structure, but each post could have a ā€œView Repliesā€ and ā€œIn Reply Toā€ links that could let users easily get to further discussion/followup and context.

It sounds like the real problem is indentation rather than representing hierarchy per se. I donā€™t see why you canā€™t keep a single-column view while denoting a postā€™s position in the hierarchy with bread crumbs.

Andre KibbeIt sounds like the real problem is indentation rather than representing hierarchy per se. I donā€™t see why you canā€™t keep a single-column view while denoting a postā€™s position in the hierarchy with bread crumbs.

I think you could be onto something here.

COMIC SANS!!!

Heise Forum would never be the same without threads.
And its hard to discuss some topic, while others are shooting replies to much older posts in between. For serious discussions over a time longer than a few hours (in a high frequented forum), you just need to use threads.

even stackexchange has threads ā€¦ each solution has its own comment thread. Of course, its not possible to have there a full discussion system, but you said yourself, you do not want to provide a forum there.

If youā€™re not designing a discussion system, how is your design in any way relevant to designing discussion systems?

It seems youā€™re confusing a discussion with a debate. In a debate you have a lot of contestants, each voicing their opinion in a sort of sequential manner.

In a discussion, you often see contestants pair off and start discussing the topic on their own, rejoining the larger discussion, or grouping with other contestants, after some time.

Now, while a threaded, pure three-view, design of this might not be the optimal way, a sequential design is not really helping at all, as it is, as you say, forcing everyong to ā€œdiscussā€ with everyone.

Soā€¦ rewindā€¦ Are you confusing a discussion with a debate?

Great article, thanks Jeff.

How do you feel about flat/thread hybrids like Yammerā€™s reply-to? 1 level of depth, no indents, and anyone can make sense of the thread even if you donā€™t understand the reply-to function. E.g.: http://imgur.com/V1hKi

To use your site as an example my reply is 20 or so posts below what your post Iā€™m trying to reply to right now. I suppose I could read all 20 of them to see if someone has already said what Iā€™m about to post, but itā€™s easier/quicker for me to type it. If it it had been threaded in some fashion Iā€™m guessing I wouldā€™ve seen a similar post.

Yeah, but you blockquoted the relevant bits, so you brought the necessary context with you, didnā€™t you?