The mistake that a lot of websites make with comments is treating comments like data-structures. The website Digg.com recently released a new commenting system that was met with a lot of hostility. The commenting system is overly complex both in it's use and it's interaction.
A typical data structure approach would be to have each comment parented to another comment allowing things to cascade deeper and deeper. The problem with this is that conversations don't work like that. Comments on a website represent a conversation between people. When you have a conversation you don't have a structured flow. You talk, you interupt you introject, you catch parts of various conversations, you're human.
Most commenting systems aren't setup for this. The interface encourages users to have an intimate discussion with hundreds of people.... And we wonder why it doesn't work well.
I took a stab at creating a concept for an alternative commenting system based on the Digg design. The objectives:
- Make it easy to read and understand.
- Have one central topic and make it easy to have secondary replies and off-shoot conversations.
- Optimize the design and layout for shorter comments (most comments are a couple lines)
The first column is the main thread of the conversation. You can follow the core comments reading straight down the page. Secondary comments and replies are read to the right of a comment in the second and third column. If there are more replies then fit in three columns a fourth column holds the additional replies as icons. Users can hover over the smaller icons to continue reading the conversation. They can also click to read the conversation on a seperate page.
This keeps the main conversation on topic and allows for deeper in-depth discussions to continue. This encourages people to actually talk and discuss a topic in smaller groups rather then commenting and moving on to the next story. (This will also help people who have something to say to contribute without fear of being dugg down)
The layout assumes that most comments are short and allows for one, two or three columns for text. Most comments would be one column but if someone wants to write a lot that's ok. The height of the comment would be flexible as well.
One key element of the design is that it greatly increases the information density. You're no longer scrolling to track a conversation or expandin/collapsing nodes. The key conversations drift to the top and secondary topics are discussed in smaller sub-groups.
The key is to think about comments and discussions in terms of communication tools instead of as a datastructures.