Discussions: Flat or Threaded?

Clay Shirky's classic articles on social software should be required reading for all software developers working on web applications. As near as I can tell, that's pretty much every developer these days.

But I somehow missed Joel Spolsky's related 2003 article on social software, Building Communities With Software.* It's an excellent, albeit somewhat long-winded, explanation of the way Joel runs his community forums. Although I recently accused Joel of jumping the shark, his scathing criticism of Usenet, Slashdot, and IRC is right on the money. All three are deeply flawed social software models, incapable of sustaining civilized discussion.

Joel advocates policies on his discussion boards that seem unworkable, even borderline anarchic:

  • No registration
  • No user moderation
  • No email notifications for new posts
  • No posted rules
  • No support for quoting or reply shortcuts
  • No unread post shortcuts
  • Arbitrary deletion of off-topic posts

Reads like a recipe for disaster, doesn't it? But with one minor exception**, I'm in complete agreement. When it comes to writing social software, Joel's curmudgeonly advice may very well be the right approach. Read the rest of Joel's post to understand why.

In particular, I share Joel's intense dislike of threaded conversations:

Q. OK, but can't you at least have branching? If someone gets off on a tangent, that should be its own branch which you can follow or go back to the main branch.

A. Branching is very logical to a programmer's mind but it doesn't correspond to the way conversations take place in the real world. Branched discussions are disjointed to follow and distracting. [..] Branching makes discussions get off track, and reading a thread that is branched is discombobulating and unnatural. Better to force people to start a new topic if they want to get off topic.

ThreadedFlat
discussion-threaded.png   discussion-flat.png

Two of the oldest and most popular discussion boards on the web, phpBB and vBulletin, avoid threaded views. The phpBB developers won't add threading. vBulletin offers threaded views, but they are off by default-- and often disabled completely by administrators.

Personally, I have yet find any threaded discussion format I like. Aside from the philosophical objections Joel raises, threaded discussions are painful to use. You're forced to click through to see the responses, and once you do, there's far too much pogo-ing up and down the hierarchy of the threaded discussions. It's all so.. unnecessary.

Flat discussion views have their limitations, too. But they're minor compared to the trainwreck that is threaded discussions. Until we can come up with a new discussion model that doesn't add a slew of new problems, let's take Joel's advice and stick with simple, flat discussion views.

* Thanks to Phil for pointing this article out to me.

** Quoted snippets are helpful if used in moderation. Unlike Joel, I don't have total recall of the last five posts I just read; judicious use of a few contextual quotes helps me keep the rest of the conversation in my brain.

Read more

Stay Gold, America

We are at an unprecedented point in American history, and I'm concerned we may lose sight of the American Dream.

By Jeff Atwood · · Comments

The Great Filter Comes For Us All

With a 13 billion year head start on evolution, why haven't any other forms of life in the universe contacted us by now? (Arrival is a fantastic movie. Watch it, but don't stop there - read the Story of Your Life novella it was based on

By Jeff Atwood · · Comments

I Fight For The Users

If you haven't been able to keep up with my blistering pace of one blog post per year, I don't blame you. There's a lot going on right now. It's a busy time. But let's pause and take a moment

By Jeff Atwood · · Comments

The 2030 Self-Driving Car Bet

It's my honor to announce that John Carmack and I have initiated a friendly bet of $10,000* to the 501(c)(3) charity of the winner’s choice: By January 1st, 2030, completely autonomous self-driving cars meeting SAE J3016 level 5 will be commercially available for passenger

By Jeff Atwood · · Comments