Threaded comments—like here, on HN, and on Reddit—easily spiral out of control. It's especially hard to come back later and see what's new.
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.
The reason multiple views don't work is that a board is a collective document. Everyone will learn to look at the most common view because they want to know what the average user is seeing.
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.
notice that one of the flag reasons is "off-topic", to give the poster (if threshold reached) a gentle nudge that hey, maybe they can click "Reply as new Topic" and take it there.
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.
Linear forums can't achieve depth of discussion. Discourse only supports one layer of replies with its slight improvement on an archaic quoting mechanism.
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.
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.
I think that depends on the audience of a forum. I'm a pretty regular poster at the SomethingAwful forums, which still utilizes a flat, quoted forum style.
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 they have the "smaller safe" problem. This is where people don't want to read through the whole thread, so they skip to the end and post and write, "I bet there's a smaller safe inside!" So readers have to skim past dozens of those to get to the content. With threaded comments, it's more ephemeral, but the cream floats to the top, and the smaller safes sink to the bottom.
At least for me I hate nested threads. And even worse is when upvoted stuff gets pushed up to the top. On HN I wait to read the comments until there is about 50 of them. Then I never visit the comments on the article again. Maybe there is a way to just read the new comments without digging through the stuff I have already read and I haven't found it. And this is also why I never respond if I make a comment here. It is simply a pain in the ass to find what I wrote again.
But I have no problems on metafilter that is a single (flat) page with sometimes thousands of comments.
`Reply as New Topic' is a pretty elegant solution, but has a huge failure point: the user. It might work with a technically minded audience, but with Joe Bloggs, it's almost certainly not going to be used. The result will most likely be one massive thread that lurches on and off topic post-by-post, with the responsibility for forking it into new threads -- and replies to the OT `new thread' -- pushed onto the moderators/admins.
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.
I've built a few different discussiony things. When I was building one for the Long Now a decade ago, I was going to put in threading. Because features are good. Stewart Brand, who started The WELL, talked me out of it. His point that stuck with me is that a major effect of threaded discussions is to improve the ability to bicker endlessly.
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.
>"His point that stuck with me is that a major effect of threaded discussions is to improve the ability to bicker endlessly."
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!
It is sometimes conversation, and that's great. It is much more often argument. And it is frequently pointless argument between two people who don't want to learn anything but instead are playing "king of the hill" with words.
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.
The problem is that the way flat forums limit "bickering" is by making it harder to follow sub-threads. However this doesn't mean there aren't sub-threads—there almost always are when more than 2-3 people are involved—it just means that the result is much more confusing; at some point people give up responding because they get lost or lose track.
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?
Turns out people are actually very, very good at following a conversation. They hold the state in their heads. Try going to a bar and sitting at a table with eight or nine people at it. If you could write a transcript you'd see the conversation spiralling, branching, merging and branching again. And nobody gets lost.
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.
But that's hardware accelerated. There's a lot of brain given over to doing just that. When you stop that working by presenting the conversation in an incompatible codec (threaded), you switch over to the equivalent of software decoding.
And that is as bad an idea for conversation as it is for h.264.
Back in the early 2000's I much preferred a flat forum. As I remember VBulletin had flat/ nested or a hybrid of both. When I was designing my own forum software I went with flat.
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)
Nesting (and reordering by votes or activity) works well for divergent discussions: expressing views, exploring the possibility space, brainstorming. Or: exhibition.
Flat (and stably ordered by time) offers some hope for a convergence of viewpoints, or at least shared-narrative and common-knowledge. Or: deliberation.
Which are presumably both useful to have within the same community. Maybe forum software should allow individual threads to be made flat or nested, at the discretion of the person creating the thread?
I could see that working, with the right community and moderators, especially if the choice were presented not in terms of simply flat-vs-nested, but "what is the goal of this discussion?" Those for informing and airing possibilities might have certain titling, features, and moderation (including nesting)... while those for hammering out some common experience/decision would have other titling, features, and moderation (including flatness).
(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.)
You can't just declare evidence against your claim "exceptional". Reddit has a large userbase, and includes numerous communities. Nested discussion seems to work pretty well for it.
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.
I think reddit's moderation system has more to do with the relative success of its discussions than its audience. Are you implying Slashdot didn't have a high proportion of programmers?
Not to mention the page is so wide that it's completely unreadable. By the time I get done digesting the views or or activity, I've already completely forgotten the headline.
But conversations are nested anyway. In real life you rarely have discussions with more than ten people at once. Even when you do, it's frustrating as you have to switch between topics instead of following the "threads" of the conversation. (And inevitably someone doesn't shut up and derails the conversation in a particular way.)
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:
Ours is essentially the twitter model, with a few tweaks. I think a hybrid approach -- flat for reading, but limited expansions on demand for context -- is best.
A linear forum compared to a nested forum is like cutting off part of your brain. You have to expend brain power sorting out multiple conversations occurring in the same sequence. The quoting mechanism is an attempt to unbreak the linear forum, but it's a kludge. Linear forums are a cacophony of conversations intermixed.
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.
The downside is that it's nearly impossible to go back to a thread and continue where you left off. With a linear thread, you can go back to the last post you read and continue from there -- with a fully threaded forum, I basically get one pass at the comments and then can never view that page again without huge effort to reconstruct my position.
nearly impossible to go back to a thread and continue where you left off
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".
> The downside is that it's nearly impossible to go back to a thread and continue where you left off
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).
You can only show new comments, highlight them, even view them in flat mode. Threaded forum naturally separates subtopics while flat forum is just a big mess. Also old subthreads naturally die so the new stuff is usually in the new nodes. And you can also just view subtrees to follow certain discussion.
In my experience, I've found that a linear forum works great when its strictly moderated. No off-topic posts, sometimes not even something tangentially related. The community also plays a huge role in maintaining the quality.
I find it a very different experience and have no trouble following discussions in linear threads. I find linear gets you more substantial discussions with multiple contributors all aware of one another.
I don't care for nesting much either. While it may be more like real life one-on-one conversations, I find it more difficult to follow an entire thread and very hard to scan through. I can enjoy a segment, but that's one of the problems I see: it segments a conversation greatly. I think things stay more on topic with a flat discussion, and I discover things I would have missed in a threaded one.
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.
I really like the StackExchange family. But this is weak, IMO, for some reasons:
1. A typical forum looks simpler to me than this. If they're going to reinvent forums, it should be intuitive
2. AJAX? Yea, fine, but only as means to an end
3. "Discourse is designed from the beginning for high resolution touch devices." -- Tried on my nexus 7 and it looked bad, I had to turn on the laptop. Not all mobile devices can be described as "high resolution touch devices".
4. Their key features: "Conversations, not pages", "Get notifications when mentioned", "Simple, but with context", "Remembers your place", "Reply while you read", "Reply as a linked topic", "Real time updates", "Links automatically expand", "Bring your friends", "Paste to share images", "Log in with … anything", "Moderation that scales with the community", "Categories that grow with you", "Search that actually works", "Simple metrics", "Your stuff belongs to you", "Comprehensive API", "No app required". -- These are all welcome features, but they don't reinvent anything IMO, more like an incremental improvement. Most of them could just as well be implemented as plugins to traditional forums.
That being said, forums need to be reinvented, but Discourse doesn't do that.
I'm not a huge fan of infinite scroll for things like this either. I always lose track of where I am in the list as new things keep being added. And then when I navigate down a level and come back up, my browser tends to lose track of where I was.
"Forums are the dark matter of the web, the B-movies of the Internet. But they matter,"
I totally agree with Jeff and do welcome any innovation in this space but it's hard to imagine more efficient comment/forum systems than the Reddit/HN style (I like even more the Reddit style since it offers more features and hides irrelevant or long discussions in a better way). I'm not much a fan of the linear, non-nested, old-fashioned but wide-spread bulletin boards style which Discourse follows.
But I really miss places where to discuss political stuff. These kinds of discussions really got stick in some 90s style niche forums. And in the forums I know that still have these discussions, they got just boring and repetitive.
Part of my working hypothesis is that the reason flat forums are so ubiquitous is their simplicity -- I think larger audiences just don't "get" threading at all, and there are a lot of ways for misused (and even correctly used) threading to actively harm the discussion.
We got a basic demo online (w/o API keys for 3rd party auth, and there's some broken stuff): http://discourse.a.pogoapp.com/
We'd like to ultimately contribute back some 12factor-esque code (e.g. ENV vars instead of YAML for config, Procfile to define processes). It was interesting reading the comments on the Metafilter thread about how the app seems promising but difficult to host compared to shared hosting+PHP: http://www.metafilter.com/124658/Not-phpBB
The relative difficulty of getting hosting for a Ruby app vs. getting hosting for a PHP app may work in their favour: they intend to offer managed hosting akin to Wordpress.com. (WordPress.com can be used for free, but there are all sorts of paid extras.)
They've said in the other thread a couple of days ago one of the long term aims is to make this super easy to install and as part of that they want to help make Rails super easy to install.
Welcome to a prettier online discussion. I don't intend to be an active contributor, but so long as the content is indexed by the search engines, then I am sure I'll benefit as an active consumer (much like I have with Stack Overflow).
From my perspective, Discourse is a polished forum; analogous to Stack Overflow in the Answers World (many of the other Answers sites are ugly, ad-filled, and closed to the public). So I welcome this, and look forward to seeing the resulting discussions in my search query listings...
discourse's design entirely misses the charm and feeling of community that "ugly" forums like phpbb offer. This just looks bland. Maybe it can work for technical or support forums but not real communities.
In general it seems like a lot of design fails to understand the difference between a clean bathroom and a charming but messy living room. You do not want the former.
It makes me think of Spolsky on what a singles bar designed by Nielsen would look like: clean and the menus would have 16pt Arial type. But it would be empty because everyone would be at the gross dive bar across the street having fun.
I hate phpbb and their ilk and use them often in forums for the tight, obscure subcultures that I'm a part of. I don't think phpbb gives a sense of community. I think a sense of community makes people willing to put up with the barfy fugliness of phpbb.
On the other, discourse actually just seems to have a different kind of ugliness rather than a good design or a good interface. Why do they all have a banner/header that takes up half the screen? Why all the unnecessary crap?
Not really, I use several completely average PC laptops
The thing about phpbb-type board is that they encourage the people who them up to put huge graphics on the masthead, so the average subcultural board is actually going to be significantly larger than a pure default install.
I admire Jeff as a person, the whole Stack Exchange network is amazing but Discourse needs some serious thinking applied to it. If Jeff wants to release a decent forum application, he should look to Vanilla for inspiration: http://vanillaforums.org/ — in my opinion, Vanilla is probably the cleanest and best forum application out there today. PHPBB and MyBB feel horribly dated and vBulletin is expensive and looks like it hasn't been updated in about 15 years.
The forum market is ripe for disruption on the same scale Wordpress disrupted the CMS market, fancy Javascript is not enough to disrupt the market. I personally find infinite scrolling to be buggy and highly annoying when you're scrolling and trying to read text, then BAM! scrollbar gets longer and the page jumps.
Simplicity is the key, not a large number of features and copious amounts of Javascript unnecessarily added in. Discourse as it currently stands doesn't impress me on the same scale Stack Overflow did at least not in its current form.
One of the necessary features of a forum going forward is a notification system.
I ported a vBulletin forum to a custom Rails app, and rolling a notification system is THE feature that inspired me. Meanwhile, on a conventional vBulletin forum, you're arduously making the rounds to see if anyone is even responding to you. It's hilarious.
Definitely one of the things that Discourse gets right!
I don't care what makes it different from PHPBB. We know that PHPBB is horribly broken for a wide variety of uses (and incredibly useful in its niches). I want to know what makes Discourse different from Google Wave. Google Wave is a lot more recent, and has already bubbled and fizzed out, and the idea that you can invite people into conversations, the idea of unlimited flow, reminds me much more of Google Wave than anything else.
I'm a big fan of reinventing forums. The current software used for forums is terrible and this fixes many of the issues with them. Looks like he has even thought about SEO as the underlying links on the infinite scroll pages will work for crawlers.
As I said on Atwood's blog post, there is nothing wrong (and a lot right) with the 3-pane setup of a mid 1990's newsgroup reader. It's surely not beyond the ability of a modern programmer to implement that in a web-browser today.
If you go through the list in that wired articles of things that supposedly set this apart, you'll find that in most cases, that stuff already exists. That leaves two things:
"a “best of thread” view, which shows the best reply to a particular thread based on unspecified factors" & "“aggregated links” view, which displays all outbound links mentioned in a thread, plus how many times they’ve been clicked"
Wow. This is turning from puzzling to genuinely funny. You know, two things anyone could add about to any existing mature forum software in about an afternoon, and which they don't, because they do nothing to improve online discourse. And Wired writes an article about it.. love of money truly is the root of all unintentional comedy.
Nuuton makes this obsolete due to being able to hold conversations (with nesting) about a given topic or website without actually having to be on it. Plus it eases search for information inside those same topics by indexing each post as an independent entity. Good try, though. Nuuton launches in March.
You're going to have to be a little more specific. How can you ``hold conversations ... without having to be on [the website]''? If you're talking anonymous comments, we already have those and they're largely a disaster. If you're talking something different, then what is it? I'm sure you can share the general concept without giving away your `secret sauce'.
How are you supposed to follow a conversation more than two posts deep? This is PHPBB with more javascript.