Web Discussions: Flat by Design

One thing that made Usenet’s threads work better than those of most discussion sites is that by default it showed the most recent messages at the top of the page.

On those groups that followed the practice of re-posting the relevent context immedieately below the new text, it worked even better, and made it pretty easy to stay current with multiple conversations.

Voice conversations don’t restart at the top every time you contribute to the conversation, and they do allow you to easily restate the context on request. Twitter is a bit like this, and a bit like the old usenet groups (well, particularly like those groups that weren’t dominated by the notoriously arrogant OS developers)

I guess it depends on how you look at it. Though the right scrolling certainly is painful and I hate it too. There can be a better visual design for such thread comments that no one has ever thought about.

Sometimes the main topic is left aside and a gossip discussion starts and makes people more engaged. May be your site would want people to be more engaged. Threaded may give at least some opportunity on this. I still remember the old digg threaded comments that were almost always more hilarious then the main story.

I think you want the right tool for the job, and depending on parameters of the discussion, either tree or flat might be appropriate.

For example:

  • Want to “encourage” posts to stay on topic - flat
  • Want to emulate an interesting dinner party, where discussions inevitably devolve into half a dozen separate sub-discussions - tree
  • Want to keep replies to less than 200? - flat
  • Want to encourage participation from as many as possible - tree
  • Want to make it easy for casual/marginally interested browsers - flat

etc., etc.

Hence I like flat (Stack Overflow is a very nice model) for technical discussions, tree for political discussions, etc.

You can tell there are a lot of developers out of here. We are rattling our cages about the informational gains vs complexity that trees provide. I don’t really think it’s an issue at all.

The problem with the non-flat discussions described is that tree levels have too much visual differentiation (indentation, in most cases). I implore you to visit a site like Reddit where the tree provides and then look at other engines that display all comments on the same level but with information about to whom the poster is replying.

I suspect that most of the time, web readers do not care vary much to know specifies histories of discussion chains, but do care to know about to whom the poster is replying.

The problem with existing treed discussions is that the visual style overemphsaizes the tree nature. Our brains simply do not like having to keep account of every specific history in the chain. We can easily remedy this by reducing indentation/other markers that overemphasize the threaded-nature of the conversation.

*Reddit, where the indentation exacerbates the threaded-ness…

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.

Twitter is the worst example you picked for most natural structures in social networking. It’s actually a bigarse tree or a forest full of trees that appears to be a beautiful grassland when you look at it. I really hate trying to follow discussions on Twitter because it has the exact same problems you mention about Reddit and Digg, except they appear differently.

In Twitter, posts (aka tweets) have replies. These replies are posts by themselves. And they have replies (which are posts and have replies and… you get the picture). Now see this whole “tree” as a flat structure, where posts, reply posts, and their reply posts all appear at a single level. There you have it - the ridiculous but somehow immensely popular thing called “Twitter”.

To me, the right balance is always a two-level system, like that of Facebook* and Stack Exchange… and this blog: posts and replies, where replies are not posts. If you go too flat a structure, you essentially close the venue for any discussion at all (like a blog with comments turned off on all posts)**. If you go too tree a structure, you end up having the very problems of trees that you mentioned in your blog article.

A two-level system ensures discussion and also keeps it easy to follow. You make a post, and others make replies below it to discuss about it. New replies are added at the end, and you can easily follow the discussion without having to follow any tangents, branches or spin-offs. This avoids the headaches of trees while giving readers the opportunity to contribute.

  • unfortunately Facebook is starting to introduce “replies to comments” in some areas of the website (I think Pages), and that’s kinda freaking me out. But still, three-levels should be manageable.

** Twitter attempts to overcome this problem by introducing a loophole called “@reply” where you reply to someone’s tweet by making your own tweet starting as “@someone”. But it gets really ugly really fast because reply tweets are LOST in a sea of other tweets… and to overcome this problem they introduced the ability to view reply tweet by expanding a tweet… Basically, Twitter is a mountain full of fixes for problems they didn’t anticipate when they thought “hey, 140 char SMS tweets!”.

DailyKos.com is a very successful threaded forum.

Actually I think this page itself shows that flat discussions don’t work well if too many people leave comments and the discussion grows too large. Here’s why:

I thought this blog post was interesting, and wondered “what do people think about it?”. However, I didn’t read many comments on this page (flat discussion system), to find out. Instead, I read people’s opinions @ Hacker News (a threaded discussion system — which discusses this blog post) (here http://news.ycombinator.com/item?id=4919111 )

On this blog post page, there are too many comments not sorted in any particular manner (well, by date, but that’s somewhat random, when people happen to find the page?). If I start reading, I think I’d have to spend quite some time, before I find the “most insightful” comments (which are the ones I’d like to read). However, @ Hacker News, comments are sorted by votes, and I only need to read a few posts, to find insightful comments on this blog post.

I think flat layouts are geared towards writers — I mean, those who actively participate in the discussion, and read all comments. Then flat/threaded doesn’t matter much, since one reads everything anyway.

Threaded layout, with comments sorted by votes, however, might be more geared towards readers. Readers are generally short of time and just want to be served the most “interesting/useful” comments, read them and then go on doing whatever they need to do. Then it makes sense to let those comments surface to the top of the page.

Thanks for an interesting blog post :slight_smile:

I absolutely agree with this- threaded discussions drive me batty. But I mostly love that you quoted Parappa!

Here’s the backstory for the picture : http://www.reddit.com/r/pics/comments/14stwl/my_sister_posted_this_picture_of_me_to_imgur_i/c7g3gks

1 Like

But, it will be a sad sad world when you can’t keep a joke going on Reddit and Tumblr. Some of the most hilarious, clever, brain-bending things I’ve seen have come from those sorts of discussions.

The below link shows a version of Threaded Messages which is my favorite. The graphics are distinct, and navigation is aided by having a kind of 'index of links’ at the top of a topic page that only contains the particular titles of the responses. (this site has been removed, but with a little experimentation you can get most of the links to work thru the Wayback Machine)
https://web.archive.org/web/20120613235757/http://forum.myredbook.com/forum/pool

I have to agree with @WillN, classic threading with separate tree view, threading by indentation, chronological flat, flat with @ or # references, auto-collapsed weighted threading, Q&As with comments etc. all have their appropriate uses, but as it happens ever so often, the wrong tool is used for the job. Discourse isn’t perfect either (e.g. if I read direct replies to a post they should be collapsed in the main stream and parts that have been quoted in any reply should be marked in the original), but by default it fits more cases than most other approaches.

One thing that hasn’t been mentioned yet, it seems, is an alternative and much more compact way to display the separate tree view: thread arcs.

Thread maps, that had been mentioned by @Zestyping, may work in (small) touch-screen UIs with vertical and horizontal swiping, showing a single post at a time.

1 Like

Another thing that hasn’t been mentioned is this (hybrid?) design at www.drewgl.com which uses a flat design mixed with a visual map. Conversations are threaded but “mapped” onto a flat display. Its difficult to describe, definitely worth taking a look.

To avoid long threads from indenting too far to the right edge of the screen, indent replies ONLY when the parent message has elicited TWO or more direct replies. If the parent message has only one direct reply, display all the replies in flat format below the parent message. When the parent elicits a second direct reply, nest the first direct reply one indentation below the parent message, and display all the subsequent replies to the first direct reply in a flat format.

Nesting is absolutely essential when one needs to elicit multiple and direct responses to a given post to serve mutilple functions. For example, when someone posts a major premise to support a proposition, we would like ideally one reply to test the relevance of major premise, a separate and direct reply to test it’s accuracy, another reply to test veracity (presenting evidence) and another reply to discuss its validity (logical soundness).

The problem with large spacing between the direct replies as threads and subthreads grow in size can be resolved by giving users the option to collapse threads at any select thread level (e.g. show only thread levels 1 and 2 to show the proposition in thread level 1 and the postings at level 2 that test each aspect of the stated premise.

It can definitely break down when you are starting a kitchen sink topic that can cover many wildly different scenarios, but then a) don’t do that, as a general rule and b) if you must do that, use “reply as linked topic” so the tangentical topics are linked together, forward and back:

This can be triggered in Discourse, for example, through the link button on each topic.

Another situation where you want multiple threads posted in response to a message is when the message poses a question such as “what are the possible reasons to support the claim X”. Each thread presents an unique argument to support X and all subsequent replies within the thread are intended to question, challenge, develop, establish that validity of the specific argument.

When we talk about the use and the advantages of flat versus threaded discussions, we need to talk specifically about the tasks and the nature or demand characteristics of the tasks that we wish to accomplish with discussion forums.

Allan

For example, this discussion should be broken down into multiple threads - one thread for each type of discussion-based activity/task (e.g. question-answer, debate, etc.) - to identify the unique advantages of each format (flat vs threaded).

Allan