I really don't want to hijack the topic. I've worked as a User Experience Designer for Y! and there are many logical reasons I could list why threaded conversations are easier to follow.
Go for it. This topic is about the "current thought on threading", so that kind of input seems to fit perfectly here.
Also, I find that more modern social news sites (reddit, slashdot, the Stack Overflow family, to name a few) and commenting systems (Disqus (example
), Intense Debate (example
)) support, if not favor by default, a threaded view. Do note that these systems are geared towards discussions where individual posts tend to be shorter, which is keeping in step with the decreasing attention span of recent years.
I've used Disqus and it's OK. However, it probably does threading because it doesn't support quoting. Even in a threaded system, quoting is still necessary if you want to make it clear which piece of a post you're addressing.
By the way, I wouldn't call Slashdot "modern"; it was one of the first social news sites from before the dot.com boom.
On the other hand, a threaded topic is a superset of a flat topic, because you could always render the threaded topic with an indent of 0 for all posts, and you get the flat view.
First, as a math major, I wouldn't call either a superset. They both show the exact same content, just in a different order and perhaps with different formatting.
Also, removing the indent does not make it "flat"; it just makes it look
flat. The biggest difference between threaded and flat views is the post ordering, not the indenting. By default, in phpBB's flat system, posts are sorted by date (ascending), although you can also sort by other keys and in descending order. in a conversational/threaded view, the root posts may be sorted by date (ascending), but the branches and leaves aren't. Within a given root post, each level may be sorted by date (ascending), but merely removing the indent won't change the default ordering.
And that's the biggest problem that I have with threaded views. The post ordering makes it more difficult to find just the newest items. You have to scan the whole tree to find them. Yes, you can add a view that only shows new items (but without quoting you won't have context) or you can somehow flag the new items, perhaps with color, borders, highlighting, etc., but you still have to scan the whole tree.
Also, as Lumpy mentioned, you have the indenting vs. scrolling problem. If people keep replying to replies, you either indent so far that horizontal scrolling is necessary or you have to reset or freeze your indents at a certain level, which makes it look like the posts aren't threaded properly.
Furthermore, unless you display the whole tree on one page, pagination becomes more difficult. If you want to display 20 posts per page, you could end up starting a new page way over on the right side due to indenting (even if that page only contains posts at that level).
dandv wrote:Users can also just reply to the whole thread rather than to an individual message, so they can choose "flat" even in a threaded system.
Unless all users choose to "post flat" or there's an option to view flat, that's not true. They're just posting flat.
I come to this debate with a user's experience, and no investment in one system or another.
Your first paragraph seems to contradict that.
As a former developer and user experience person myself, I don't have a problem offering a threaded view as an option selectable from the UCP. In fact, from a database view, it might only require one or two new columns -- a "parent" post ID and possibly a level counter (to make things faster). The parent ID would be useful without threading -- it would allow making the QUOTE attribution a real link to the quoted post, which is useful when somebody has trimmed a quote (like I often do). That's also something that I believe vBulletin does.
The harder part would come trying to implement the view, as you can't just use a simple SQL statement to sort posts. There might also be other "gotchas", like what happens if you delete a "root" post or merge two topics, but I'm just considering the basic view problem right now.