StackExchange Founder Vows to Reinvent Online Discourse
wired.com
wired.com
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.
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.
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.
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.
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...
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 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.
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.
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?
The useless website is on purpose.