How are you supposed to follow a conversation more than two posts deep? This is PHPBB with more javascript.
How are you supposed to follow a conversation more than two posts deep? This is PHPBB with more javascript.
Many people seem to have missed this, but Discourse solves the problem in a particularly elegant way. Each topic is about, well, a single topic. The conversation flows as a series of replies, ordered chronologically.
If, however, you'd like to change the topic, there's a "Reply as New Topic" button to the right of every post. This allows you to create a new thread, with a new topic. Metadata about this forked topic is saved, so that future readers can easily bounce between related threads, while still having every message in sequence about the same "topic."
In my experience, this approach maintains the simplicity of flat discussion with the ability to fork topics of nested threads, without the complexity.
Then have multiple views of the same data, so you can see it threaded, oldest first, newest first, etc.
I took me a while to figure this out but since the design and presentation of a board, a board should have none, zero, alternate views. Instead, a board needs good defaults.
Or mods can click "select posts", click click click the posts they want, then click "move to new topic".
And topics created either way are bidirectionally linked, so you can follow different related tangents back and forth without breaking your flow in the main topic.
So either the community or mods can hopefully assist in keeping things on topic.
Flat forums have to worry more about staying on topic because all the conversations happening in a thread are thrown together. There's no "flow". Posts responding to each other and posts responding to the OP are all jarbled up.
On reddit you don't worry about conversational tangents. You just fold them.
Notice how I didn't have to quote you for others to follow our discussion? That's because our conversation is nested :) If this were a flat forum, my original post would be at the top of the page, your reply would be in the middle, and this comment would be at the bottom. Multiple other conversations would be in between. And we would have to quote each other to have any chance of following the conversation.
Flat forums are strictly worse than nested forums for in-depth discussion.
Being someone who has, in the past, been active on several different `traditional' forums, I'd agree with that. You end up with a complete mess of people quoting posts that can sometimes be several pages back, or -- worse -- replying to posts several pages back without quoting, which just causes confusion.
Say what you want about SA, but the average poster is pretty good. We routinely carry on huge megathread discussions about a single topic with no difficulty. Just pop into any of the subforums and check it out. The Recipes subforum, for example, may have a huge megathread dedicated to Cookies. Another about Stews. Another about Chicken.
Within those, there will be all sorts of discussions, quoting, etc...but it never becomes unmanageable. You just learn to skim posts that don't interest you, read those that catch your eye, quote those that you want to respond to.
The SA forum automatically limits quoting depth, so you only see the last quote or two.
Frankly, I prefer a flat forum over threaded any day. Threaded forums are where discussions die. Once you leave the real-time, "in the moment" posting of a threaded discussion...it's impossible to spark the conversation again. Threads get too deep, there is no sense of what is new vs. old. New readers have an impossible time getting "into" the conversation, often piling into the top of a thread instead of the more active inner-parts.
With a flat forum, you just skip to the end and see what's going on, maybe browse back a few pages to catch up.
But I have no problems on metafilter that is a single (flat) page with sometimes thousands of comments.
For hacker news it's good, because those are more "asocial" conversations - I don't know who I am replying to, I don't personally know any of you folks and I don't really remember to who I replied.
However, a lot of forums (phpbb and the like) are more "social" - you get to know the people, you want to read what they have to write even if it's not a reply to you.
You just want to follow the whole conversation. Usually it's doable, because the forums are rather small in audience, people know each other and so on.
Yes, it wouldn't work for reddit or digg or slashdot because there are tons of people there and you just can't read everything. But for a smaller forum? Yes, I want PhpBB style conversation rather than nested one.
My default now is to leave them out. There are some contexts where lots of argument is valuable, but generally it's just a strain on the social fabric without a lot of upside.
This is called "having a conversation". In flat discussions you can't bicker endlessly because a large portion of the posts are just replying to the OP. There isn't as much back-and-forth or progression of the discussion. Discussions tend to get only a few levels deep.
The only time anybody has changed my mind has been on nested forums, like this one. It is because we had to go back and forth three or four times to arrive at a new understanding. Nesting let us track that discussion.
Maybe it's a personality flaw, but I have had far fewer enlightening experiences on flat forums!
For people who really want a conversation, I think a forum should support some way to privately contact one another. And a good ability to start new discussions. But for general-audience, broad-appeal forums, I think threads usually create more problems then they solve.
So you've replaced a perhaps over-verbose but relatively easy-to-follow set of discussions with a smaller, but much more confusing and hard-to-follow set of discussions. You might have succeeded in limiting "bickering," but I think to a much greater degree, you've reduced the quality of the discussion (to a bewildering mush in the worst cases).
So I think it's no accident that, based on my experience, flat forums usually seem to be, well .... pretty shallow (and I mean that in a bad way :)... they're fine for saying "hi!" and talking about the weather, but surely we'd sometimes like more than that?
All a forum has to do is record who said something and in what order. Threading is a ridiculous "solution" to a problem only programmers believe exists. Nested threading makes it impossible to see what's new since you were last in a thread, encourages anti-social digressions and most fundamentally it works against the deep human ability to understand, manage and participate in complex conversations.
Say a newcomer joins the conversation (at the bar) halfway through. He is missing a lot of context. His kind friends would then fill him in, unlike the internet.
A threading like structure however, allows you to quickly scan the parent, and if need be the parent's parent. It's within the user's perogative to choose how much information he needs to be caught up.
That being said, I'm very open minded about seeing the new approach develop. Heavily nested threads are a far from perfect solution.
And that is as bad an idea for conversation as it is for h.264.
Threads allow me to skip them faster than any other method.
I think it really depends on the topics and the audience though. For something like Hacker News, flat would be a nightmare as it is such a large loosely connected community and each submission usually generates comments that are only loosely connected.
A smaller online community, maybe a few thousand where all the regular contributors know each other can have flat work fine depending on the topics discussed.
What is the answer? Probably the ability to configure. One thing I can say I do hate is nesting to one level, this confuses people more as the first reply will be nested then subsequent replies to the first nested level will be awkwardly placed at that first level also. (Guess I am mainly thinking of Disqus here)
Flat (and stably ordered by time) offers some hope for a convergence of viewpoints, or at least shared-narrative and common-knowledge. Or: deliberation.
(Remembering, as always, that it's not exclusively a goal for software design to solve, but also and probably primarily up to the participating people and their behavior... who can and do bend any offerings from the designers/coders to their own ends.)
Nesting: discussions converging towards separation, isolation, protectionism and flamewar ;)
Flat: discussions converging towards consent.
EDIT: Getting downvotes, but face the facts: HN, Reddit are pretty exceptional. Look at the legacy from the 90s and try to proof me wrong.
The point is this: reddit has a certain demographic that you don't find on most websites: mostly tech geeks that embrace modern web technology and a very high proportion of programmers. On the other hand look at slashdot, horrible discussions, just a random pile of opinions with many flame wars.
That said, discussions in News forums (news paper, news agencies etc) are often very stupid or unpolite. But I have seen that they are at least slightly more polite in flat forums. There is less repetition and if someone complains about unpoliteness, this is taken more seriously by the followups. Of course flat forums are way more work for the commentator because he needs to read all the posts that were before and make conclusions based on them. This can be next to impossible on an article's comment section with high load.
Or, to put it differently: he confuses discussions with guestbooks (he prefers the latter).
So what do current systems do?
* Go for broke, go full threading (eg. HN, Reddit, Usenet).
* Ignore it (eg. phpBB). Just like real life, everything gets muddied, but you have far more people in the conversation that would be practical in reality.
* Track it but try to hide it (eg. Twitter). Discussions have tree structures, but you can only have a flat view of them. You have to manually sift through replies to find the branching points and then trace it from there.
For example, these are two discussion trees branching from the same conversation starter:
https://twitter.com/lgarvey/status/279088834115940352
https://twitter.com/nitecoder/status/279088173743747072
In any case, I suspect Discourse's threading mostly stems from Jeff Atwood's dislike of threading: http://www.codinghorror.com/blog/2012/12/web-discussions-fla...
Deep conversations die early on linear forums because they are too hard to follow. You will find more posts responding to the OP and fewer posts responding to each other. Linear forums are built for announcements or Q&A, not conversations.
We have the technology, we can do both!
The page is drowning in useless javascript gimmickry anyway, it should be possible to add some actually useful javascript to seamlessly switch between linear, conversation and tree view. You know, to aid the user in his interaction with the content rather than fancy stylesheets and sliding widgets.
The more I look at discourse the more it infuriates me.
The complete disregard of time tested interfaces (Usenet and the authors own StackOverflow) just doesn't jive at all with their wild claims to "reinvent online discourse". Unless their idea of reinvention translates to repeating every mistake made in the past 30 years...
What they did is unleash a terrible forum software that will undoubtedly be forced down the throat of a great many users for no reason other than it being "the next hip SV thing".
local storage would be sufficient to store the viewed pages without cluttering up a db on the server.
False.
In the early days, browser designers took care to use different link colors for visited/unvisited links (gasp!). Nowdays, in the age of fancy JS gimmicks and contrast-less design, we are overriding this functionality because it apparently looks better (if you don't see the extra information).
Forums with diffent link colors for visited/unvisited posts and threading work pretty well. It's not to hard to implement something like this with JS (unless one wants all posts to be open/visible as default).
edit: In yesterday's discussion I posted some advantages of a discussion system based on tree structure https://news.ycombinator.com/item?id=5175660
I'd love to see some innovation in the forums space, it's been a while. I still don't see it, but I'm hopeful.
At the other end, Google Plus comments don't nest, and nor have the typical PHP forums added it.