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.
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.
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!
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.
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.
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.
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.
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.
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
Also the metafilter post doesn't open for me.
The mess that online forums have been, seemingly since forever, should be reduced, not continued with snazzier implementation.
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.
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.
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?
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.
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!
After signing up for try.discourse.org I now have to re-register to post on meta.discourse.org as well.
[1] http://www.codinghorror.com/blog/2010/11/your-internet-drive...
Separate logins for try and meta is just silly though.
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.
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...
http://www.pocoo.org/history/#history
Python community should be familiar with pocoo.org. These guys made Flask, Jinja 2, Pygments, Sphinx and Werkzeug
"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.
so what's up?