Hacker News new | comments | show | ask | jobs | submit login
Civilized Discourse Construction Kit (codinghorror.com)
727 points by sosuke on Feb 5, 2013 | hide | past | web | favorite | 270 comments

Judging from the beta (http://try.discourse.org/) it doesn't seem to provide anything new in terms of managing a civilized discourse. The structure of the posts is very similar to regular forums; the only difference being the explicit replies, but they almost do more harm than good in the current implementation (it's just an expandable <blockquote> and doesn't really help me understand the context).

What I want from a "civilized discourse construction kit":

- Build it for a real community and try to make it work within that community.

- Make it possible to close threads, write summary for threads, group threads together, explore a topic. In general: Don't make the threads all about real-time, but rather focus on how they can be useful in the future.

- Bring more structure than linear comments, but less complexity than threaded comments.

- Encourage longer responses.

There was recently a good thread on Reddit about this: http://www.reddit.com/r/programming/comments/171xod/the_joys...

Interestingly, as an early users of the software, I got mostly the exact opposite feeling.

Build it for a real community and try to make it work within that community

Ember used Discourse for the past several months. We provided a ton of feedback and I like to think that our participation served exactly this purpose: building Discourse for a real community.

Make it possible to close threads, write summary for threads, group threads together, explore a topic

I'm not sure how much of this comes across in the pitch, but these specific goals are focuses of the software. For example, Discourse supports a "Best of Thread" view (see https://github.com/discourse/core/blob/master/app/models/pos... and https://github.com/discourse/core/blob/master/lib/score_calc...), which is currently only triggered on a very high threshold. I like this feature a lot. You could easily imagine it being possible for moderators to hand-curate the "Best of" view in the future.

There is also an "aggregated links" view that aggregates all of the outbound links from a thread and shows how many times they have been clicked on.

Discourse has moderator tools for "closing" threads. I would expect that closed threads would work well together with the "Best of" view.

Bring more structure than linear comments, but less complexity than threaded comments.

I think this is one of the team's highest priorities. There is some innovation in the way replies work, but it's also possible to "reply as a new thread", with margin links between the threads. I have found this to be a very good compromise, and something that explicitly attempts to tackle your desire here.

In short, I think there's more depth here than you're seeing at first glance, and the things you want to see from Discourse are things the team is actively thinking about.

Following yesterday's discussion on Ember.js / AngularJS (http://news.ycombinator.com/item?id=5168803) I think this is one more item in the "why to give Ember a try" side (Just for the mere fact that SE chose it over other alternatives, used it and open sourced it, and had you somehow involved I assume). Were you consulting them on Ember development aspects? Were you involved in the development somehow? do they use version 1.0?

Were you consulting them on Ember development aspects?

We worked with Robin and Sam as community members over the past few months as they worked on Discourse. Frankly, they're both rock stars, and managed the entire project with surprisingly little direction from us.

Were you involved in the development somehow?

I think the largest extent of direct code collaboration between the Ember team and Discourse was Erik Bryn's work on the `group` helper. Other than that, they asked us questions from time to time and we answered them.

do they use version 1.0?

Yes! I was insanely impressed by Robin's ability to get the (rather large) Discourse codebase ported over to Ember 1.0 pre4 within days of us shipping it. As has been mentioned on other threads, there has been a bunch of churn in the run-up to 1.0, and Robin took it like a champ. The code is largely idiomatic Ember 1.0 code, and reads well to me.

Thanks, very valuable information, was looking for a large v 1 real world implementation to learn from, (endorsed by ember maintainers). This is great. Thanks

Have to agree. Looking at a nice real world app has really pushed me into investing time with Ember.js.

As another commenter pointed out, forums tend to serve one of two needs. Either they are a source of information, or they can be a place for casual conversations.

Your list of 'wants' mainly speaks to forums being a source of information. People ask questions, remark on current events, debate and discuss and create a long-term record of thoughtful discussions.

But Discourse appears to be geared more towards the community aspects of a forum. Mentions between members of a community are relevant in this case, since it gets users into threads and posting. Real-time features lower the friction of using the software and increase rapid-fire communication (we call that "banter") between members. Avatars on the topic index make it easy to see which of your friends are posting in which threads, so you can better decide where to go next.

For this group, forums represent a "Third Place"[1] community outside of their home and workplace groups. I've been building forums software similar to Discourse, on my own for the past year, wagering that this second group of users is larger than the first, and that their needs are only accidentally addressed by the current generation of forums software. I'm anxious to see whether Discourse finds traction in this respect.

[1] http://en.wikipedia.org/wiki/Third_place

It does, but the trust metric we use is not very visible on the surface. Which is sort of by design. There is a hint of it on the user page if you know where to look! :)

Probably the main visible entry point is flagging, so try flagging a post or topic.

It's also hard to see the moderation functions from the outside, but I assure you that they're as frictionless as we could make them! For example, multi-selecting posts, splitting topics, merging topics, locking topics, archiving topics, etc.

There's still a lot to do, we have no way of selecting multiple topics at the moment, for example. But I encourage you to try out the Vagrant image if you want to hack on Discourse quickly. It includes a small db, and you'll be a moderator there.

I remember the first time I used threaded comments. I moved from the 1D world to the 2D world, and it felt right. I can't go back to 1D. I feel cramped.

But with 2D comments, there's rarely any actual discussion. It's mostly people stating their opinions and others individually responding to them.

Looking at the demo page, I love how the threads are 1D, but you can still switch to direct replies if you just want to follow the sub-conversation. It's the best of both worlds.

How many individuals have the means to sustain an online conversation? I love threaded conversations because they are so easily branched. However, I do wish there were a visual indication of the flow of discussions between two individuals.

Which brings up an interesting thought: why does a discussion have to be between two individuals? If we are all reading the two current sides to a discussion, are we not all entitled to share our opinion to continue the discussion? It's then a group discussion.

Downsides to conversations with more then two people:

* It is harder to build mental model of opposing view as the number of people on the opposing side increases do to inconsistances in their view points, experience, and reasons.

* It can be harder to judge how much an influence your arguments have the more people who are participating.

* Reinforcement with a peer group. There can be a tendency to not examining a topic closely if there is a peer group that shares the opinion and is holding strong in their opinion.

There are many advantages to one on one conversations that are lost in group discussions. I would love to retain the benefits of one on one conversations but on a forum involving N people. I do not think there is an easy solution though.

The best discussion platform I use is one semi-private one (it's closed), where you have unlimited tree structure and every node is equal whether it's a comment, category or "forum". You can differentiate a bit by using a template (which is just another node in the tree). For example you can view the discussion in 1D if you want.. but there's really no point.

Example: HN in that setting would be just one node, called Hacker News. Each submission would be a post/comment and all the comments from here would be just subcomments under that parent post. If someone posted here about new language for example, that post along with all discussion under it can be become a new "forum". If you move it away from under HN, you can still leave a hardlink there so it won't be lost.

Is the discussion there civilized though? Mostly not.

Elegant structure.

... for a more civilized age.

I find it interesting how Tumblr can frame a reply as a post, a different highlighting of the fractal flow of conversation, though ain't nobody got time for that, imo. I'll stick with plain ol' threaded HN/Reddit (though I think I remember finding a parent post for deep links to HN annoyingly unintuitive).

edit; ah, it has that - http://try.discourse.org/t/yo-dawg-heard-you-like-replies-so....

I like the new UX ideas. I'm wondering if instances will be able to federate, and the 'front page term[/hashtag](s)' for the discussion area of a certain website on a topic could be framed differently.

Some topics are going to get to crazy posting speed. Watching Reddit posts with new set on isn't that fun. An IRC/Jabber MUC format would be good for times, and Facebook autoupdates its newsfeed anyway. An IM system with text (and at least url) post and their replies upvoted, and maybe filtered in some tiling window like fashion?

There's my half-baked idea for the evening!

Agreed. Forums have two powers: 1) being hugely deep sources of information and 2) places where great conversations can persist.

Because of that, your forum thread topic should really have two views (sorts, if you will): Top replies and chronologically (we'll call that the status quo). Either I want to engage in a thread's conversation, or I want to know what the meatiest reply of the conversation is (and its context).

One keeps a thread alive, and one serves to make it useful in a future context. I'm surprised this is completely absent.

There is a "best of" view in Discourse. It only kicks in when a topic gets to a certain size and we have enough signal to infer the best post.

Thought experiment: how does one quantify the 'best' posts on a discussion topic? Discourse has some ideas about this, and I bet you do too.

Not sure if that was meant to be a rhetorical question, but here's my opinion:

"Best" posts--those which are a good source of information--have a high view-to-interaction ratio. An inflammatory post on a forum or Reddit tends to see more replies than the average. A good reference piece or poignant story seems more likely to stand on its own--it will have more views than most posts, and have a high view/reply ratio.

What separates a good post from an insignificant one is baseline views. If a thread has been opened 10000 times and everyone has read a certain comment, it's likely to be informative or controversial.

The "best of", even within a single topic/thread, is also per-user and temporal. The best-of in a thread to me is no longer a best-of when I've fully internalized it. I really value Reddit's collapse button/link for this reason.

I was looking for it, I suppose in the wrong places.

To answer your question, I'd have to agree with what was already written by eric-hu, except to say that bad or inflammatory posts also create a lot of response (trolls, as it were). I know it's maybe tired or clunky, but I think a forum can have both entertaining and useful replies, and thus should have a voting mechanism to indicate which are which. Yes, interaction can play a role in how important they are, and to maybe help massage ranking, but I think people are happy with and familiar with a system of voting for content.

That said, a token "good post" should be able to stand for itself. I envision a system where the top posts (be they replies to other posts or posts in and of themselves) sit flat among each other, ranked by their usefulness or entertainment value.

I think a forum moderator's real value in this situation is not to mess with the community's decisiveness, but to resolve matters of content relevance (to keep a community focused).

Threaded comments are not too complex. The main thing I want is a bidirectional NNTP gateway, so I can use nice clients to handle updating threads without having to trudge through the stuff that hasn't.

At some point in the future I think technology advances enough to where it makes sense to have fairly beefy client apps for discussions. Modern forums are based off of the idea that basically everyone sees the same views all the time. This is why you have to invent various tricks (like pagination "last read" state, quoting, and threading) to try to manage information density so that conversations don't become unwieldy too quickly. Although most such techniques are only slightly effective compared to the tried and true techniques of the good old days of usenet.

Yeah, I have to agree. Reading his blog post, and then the documentation on the site, I got the image of some great new designs to manage the "Information Architecture" of an online persistent discussion (a thread). But instead when I actually logged in and browsed around, all I got was reddit with nicer formatting.


If it's anything like StackOverflow then the focus will most likely be on nailing the gamification of moderation.

As far as building it for a real community goes; judging from their 'Buy it' page it seems that's exactly what they're planning to do next.

We really, really wanted a badging system in at launch but just could not get it done in time. It is a very high priority.

We view badges as alternatives to reading FAQs and community guidelines.

I view them as a gimmicky way to make users return and interact, but I think this perspective has some merit.

Badges ruin communities, full stop. Please keep them far away from this software.

> Bring more structure than linear comments, but less complexity than threaded comments.

Definitely. I basically want a forum that looks like gitk (but flipped, obviously). Clear replies, multiple parents, but sorted chronologically and without indentation. Higher or lower rated posts could be marked typographically.

I don't know how well this would scale, though.

> Don't make the threads all about real-time, but rather focus on how they can be useful in the future.

This. I'd like it on reddit. We have 7 years of back logs that just sit there.

Interesting Reddit thread. I created http://www.truthfinder.org/ to explore that concept.

Oh dear, this is what I feared from The People That Brought You StackOverflow: Numbers everywhere. Thousands of tiny icons, all alike.

Stackoverflow seems to me to be a giant case of post hoc ergo propter hoc. "We made a site driven by points and numbers and rules and gamification and it was success, therefore it was the numbers and gamification that did it". No, SO was a success because the tech world was gasping for a forum that wasn't a) mailing lists or b) expertsexchange. That's all. That's why the majority of their non-tech sites have bombed.

If Discourse is a success it will be because phpBB is hideous, not because of any merits shown here. A better model to ape would have been the truly successful community sites -- think the Well, or Metafilter. Flat. UI that gets out the way.

Humans are superb at managing conversations, tracking threads and managing state. It's how forums manage to be so good despite phpBB and the like. Let the humans get on with it. Get out the way.

We think you'll be able to suppress elements in the default design that you don't want with a custom theme or skin.

The default design (by Matt Grantham, great work by the way) is only supposed to be "good enough", not so good that you never want to change it.

And I hope FOR THE LOVE OF FSM that we've created a default design better than the bottom of the barrel that is phpBB or vBulletin, otherwise, geez.. ouch.

It's not the cosmetic problems of the phpBB design you've brought over so much as it is the fundamental problems. Take, for example, the list of threads. Just like phpBB, there are lots of columns of numbers, and stats, nearly all unnecessary. Likes? Views? Activity? Participants?

The job here is to judge a thread. If a thread's good, people will post on it, and it will bump to the top. That's it. The only other things you need to know are title and size (number of posts).

Even the avatars are unnecessary here: either the community is small and it'll be all the usual suspects on every thread, or the community is huge and most of the avatars will be meaningless.

phpBB's deep problem is it overloads human conversation with metrics and geegaws that are there only because they were easy to code. They distract from the discourse, and I fear they'll detract from Discourse.

Apart from all the space they waste, most implementations of avatars that use gravatar are a privacy leak, associating the MD5 of the user's email with every post on the net anywhere.

They should use the MD5 of the username instead.

Edit: You can change both so neither are permanent.

Edit 2: Not disagreeing with you. Only mentioned that username and email can both be changed to say there's no reason not to use username for the MD5

Yes, but you have to know it's a privacy leak, and then you have to change it. And in the meantime, WordPress and Gravatar insist it's not a privacy leak at all.

I find my meaningless avatars very useful. It helps to see when the someone is replying further down a thread.


Is that some kind of HN userscript, or did you mock up the screenshot?

It's a greasemonkey userscript running in Chromes Tampermonkey extension. It uses https://github.com/hgwr/identicon to generate data uri's for the avatars. I also have a hard coded map of usernames to icons. In the image above codinghorror has his own avatar as well as the stackexchange icon (I'll have to add one for discourse now). I've added many many more from icons for other users so I can remember their current and previous affiliations (which appear with 50% opacity).

To make it quick to add new icons I have a bunch of bookmarklets for finding the favicon for a site, doing a flood fill of the alpha channel from the corners and resize it to 16x16 if it is a newer larger favicon. So adding a icon generally takes less the 30 seconds.

I would be interested in seeing this turned into a true Google Chrome extension.

I always seem to miss who's replying. In a sense it's great since we are treated as equals, but I sometimes miss a great reply by pg and others.

I hesitate to share the code for this as it could change the nature of HN if it became widespread. (It would also take more time to convert it to an extension that anyone could use than I have available right now.)

I understand. Both points are valid, and I wish you well on the projects you spend your time on. ;)

I have to agree with the OP. While Discourse design looks different from vBulletin and phpBB, it's unfortunately just another variety of the same. It is busy and it's ... uhm ... giddy if you will. Why the heck does every message need a full toolbar of buttons, for example? Badges, counters - I think others are right, the gamification of SE wasn't the reason for its success. In fact, it might've pushed away more qualified posters than it actually attracted. Why not try something different, or at least make all the paraphernalia optional?

Take a look at the Pivory project - that's a great take on design that doesn't stick out, but doesn't hinder the usage either. Adopt something similar as your default theme, kill the badges and you will have a discussion software that is dramatically better than vBulletin, across the board.

Honestly, although phpBB's design leaves a hell of a lot to be desired (messy, table-based, complex, not pretty), the benefit I see from this as an open source competitor is that it's Rails and MVC.

This is a sight for sore eyes for someone who has to maintain a phpBB forum and its modifications (all of which, by design, require patching the source code with some bizarre XML-diff format).

Even with no formal plugin architecture, the decision to choose Rails is massively beneficial.


It's also beneficial from a security point of view.

Even if Ruby had a few security exploits recently, there shall never be as many issues as there have been with PHP.

I'm a huge forum users and they're regularly brought down (2+2, one of the biggest forum on the planet, was taken offline for weeks due to a PHP exploit).

That's a bad code problem, not a PHP problem. Why does this meme continue to exist?

This is a PHP bug: http://www.networkworld.com/news/2011/010511-php-floating-po...

Everything else? Bad code.

As much as I want to defend PHP a bit as a PHP coder who at least _tries_ and is kind of sick of the pile-on (while understanding the rationale), I'm reminded of the thousand odd reasons that PHP sometimes makes me just want to cry into my coffee.

I think it's both bad code and PHP.. specifically bad code written on old versions of php on crap shared hosts where that's the only server-side language available. It should be harder to write insecure code with PHP but it isn't. A language whose entire purpose is to process requests and return content should have security baked into its core. I shouldn't have to wake up one day and find out that "oh, anyone who adds an ?-s flag to their queries can maybe read your source code or whatnot." Now granted, it wasn't that common, but it should never have existed. PHP may not be the great evil some claim it is but there are parts of it that jump out of the dark and bite you, no doubt.

When bad code happens because the language is a security minefield, blame the language.

The security vulnerability occurred because of Rails models' mass attribute assignment, which you wouldn't have in a less dynamic language. So yes, that's a problem at least partially attributable to the language.

Language influences both how much bad code you get, and how large consequences arise from typical mistakes.

A larger than average proportion of bad code is a fault of the language, the design choices/compromises made for the language structure.

PHP vs Rails for security is like cyanide versus hemlock for health.

As someone who has derived great value from many of the 'non-tech' Stack Exchange sites, I dispute your claim that these sites have "bombed!"

Many of them are not (yet) household names like SO is around here, but they have thriving communities and provide real value, answering real questions, and providing legacy content that will be of use to people for decades to come.

>UI that gets out the way.

This is the biggest problem with the current fad in web design. Designers are designing for their own sense of "look what I can do" instead of for users. People need to stop designing UIs for the sake of seeing how much crap they can stuff in front of my face and start designing UIs to be used.

But the current 'fad' is exactly what you're talking about: flat, minimalist, getting out of the way? The "stuff as much crap as possible" design feels a bit 2002 right now. Personally I hope it stays minimalist.

Personally I hate the minimalist fad, and this is speaking as a minimalist.

I want a UI that shows me information I need and exposes actions I can take. That means (relative) timestamps and quote buttons, not client devices and administration buttons. It definitely does not mean the style previously known as Metro. If there's whitespace on the screen, stick something there that I will need eventually but wouldn't find without using it daily.

>But the current 'fad' is exactly what you're talking about: flat, minimalist, getting out of the way?

I only see that for the online version of a brochure. "This is us, buy our thing". There can't really be much of a user interface for those, since there's not much to do, and currently they are all identical ugly bootstrap things with obnoxious javascript scrolling instead of pages.

But actual web apps, where there has to be a user interface to let you interact with things I see mostly a "throw everything on there and who cares if it is usable" approach.

I've been beta testing Discourse for a few months now, and can tell you that this is going to have a huge impact on how we have discussions online.

Jeff Atwood has more insights into how humans communicate in an hour than I do in a year. Those insights are built right into the software, and I think that will help many communities take off that would otherwise collapse under the weight of trolls and apathy.

On a more selfish note, I'm excited to have an open source Ember.js app available from two of the best JavaScript developers in the world—Robin Ward and Sam Saffron. It's a great resource for the Ember community. If you haven't yet, make sure you head over to GitHub and check out what a modern Ember app looks like.

What problem does Discourse solve that Hacker News doesn't solve right now?

EDIT: Obviously it has a modern, nice interface. That's a win. But I mean more specifically, what problem of human dynamics does it solve that Hacker News doesn't solve?

HN has the problem that a high-voted comment that floats to the top, that might have a whole tree of less interesting discussion under it, keeps everything else stuck miles down the page.

So one persons comment can effectively derail most of the people viewing the thread into a cul-de-sac of discussing one specific point.

HN isn't meant to solve the same problems as Discourse. Both attack on a common problem, which is making discussion meaningful, but the context is widely different. HN isn't meant to be used as a forum, it is a news discussion board, topics loose relevancy after just a couple days. Try adding lots of value to a topic by posting a reply after 48 hours, chances are, almost no one will see it, and even less people will reply to it. Forums don't work that way, you get discussions in forums which can last sometimes even years.

And considering other forum options, Discourse has probably a killer feature, which is "Best of" a thread. Forums are horrible for documentation, after a meaningful discussion topics usually go dead, and if you want to read an old topic (but relevantt to you) with 500 pages (or even just 20), it is painful, you don't need to read every single comment, and Discourse's "Best of" will (should) fix that. That is powerful.

You realize Discourse isn't just for the hacker crowd?

Yes, but Jeff's post seems to suggest that there's something special in the design that contributes to more civilized discussion. I'm curious as to what that is. For example, does having a modern interface do that all by itself? Is there something special about the moderation interface? Little tricks isomorphic to the way HN makes you wait before replying to replies, and so on?

Whether used by hackers or not, these design features interest me greatly.

A lot of the moderation stuff and trust metrics isn't visible on the surface. And to be honest, we've only implemented the first two (new user, not-new user) and final (appointed moderator) trust levels at the moment.

One way to think of this is as follows: what happens when posts get flagged? What's the sequence, who knows about it, and how? For that matter, who can flag?

We do have basic rate limits throughout the app, and they're all configurable as well.

Much of this has to evolve. I'd love your input on it, too!

Wait, your saying how awesome its trust metric is and how it will change everything. Then you say no one can see it. Then you admit that its not implemented yet.

I really think you are onto something. If you can bring the goodness from StackOverflow (automaticly gaining privileges based on how you interact etc) and provide a place for interesting discussions (yes, it seriously bugs me when several of the best answers i find on SO are marked as "Closed as not constructive.")

Looking forward to see it in use. Hopefully this will provide a more modern way to ask all those important questions that needs discussion.

I think the one word answer to Reginald's question is: curation.

Community moderation based on increasing levels of trust worked well for StackOverflow and appears to be implemented for this as well. It's not unique to SO, but it works really well there and not (IMO) for Slashdot, so perhaps there is some difference that matters.

HN relies on a panel of hand-picked moderators, right? It works for HN, but perhaps not in other contexts.

Isn't that what karma thresholds are for on HN?

I guess I don't have enough Karma to know how much moderation I could get in HN -- thought it was limited to downvoting. In SO, it gets quite thorough and you also get prompted to do some moderation (approve edits, etc).

This looks to be a technical solution to a social problem. What exactly is wrong, from a participant's perspective, with existing forum software? Sure, EE and phpBB et al are terrible technologies, but are the needs of the various communities really not being met? If so, how is Discourse an improvement?

It's GPL, so I can plug it into my own nefarious schemes and makes miiiiiiiillions.

Modern forum software is much-needed, so I'm glad to see this out there.

But does the design feel incredibly busy to anyone else? So many little icons and buttons, and I can't move my mouse without tooltips and popups everywhere.

The most annoying thing about web page UI these days is things that pop up in your face as you pass over them. You look at the page, decide to click something, and as you move your mouse toward it, BLAMO!, some nonsense about Twitter, Facebook, Like Me!, email me to all your friends! jumps up and covers the link you were about to click. You have to jiggle your mouse to shake it off.

Or you are reading, absentmindedly moving your mouse cursor around and POP! POP! POP! things jump out at you, often blocking what you were looking at.

If this forum software is going to become popular, I'm begging the developers to set the default so that you have to actually click an item to bring up a popup window or menu, and you have to at least hover for a while (not just be passing by) to bring up a tool tip.

Books and magazines don't randomly throw things in your face and block your view as you try to read. As you reach up to turn the page, the book doesn't turn into a cell phone already dialing your friends' numbers, insisting that you tell them about the chapter you're reading RIGHT NOW! I'd like my forums to be equally well behaved.

design feel incredibly busy to anyone else?

Yes. My first impression was even worse than the usual PhpBB mess that you see every day.

At least your average PhpBB layout is relatively static.

In Discourse everything constantly flickers, pops up, slides out... The information I care about is buried under all sorts of noise; What are the 5 avatar icons in the thread-list supposed to tell me? Why is the thread-information below the first post? Why on earth are reply-quotes hidden by default and reveal with a painful sliding animation?

I love the simple interface of Stack Overflow. They added a lot of crap over the years but managed to keep it on the right side of the screen where it can be safely ignored (I'm only talking about the actual "question"-page, I haven't used any other SO-page in years).

Please make this look more like SO and less like someone trying to use all his favorite javascript widgets on every page...

We made it as minimal as we could, but discussion is kind of a noisy activity by its nature.

That said, we want to have excellent skinning and theming support, and I'd love to see "even more minimal" themes. We ship a reasonable default theme for everyone to use, but it shouldn't be so good that nobody wants to replace it, right?

> We made it as minimal as we could, but discussion is kind of a noisy activity by its nature.

Only if you choose to make it so (and you have).

Hacker News demonstrates that it need not be.

Oh, hai.

Can you clarify how "100% free and open-source" relates to "For enterprises, we plan to sell licenses and on-site private instances." ? Specifically, the licenses part.

We require a CLA for code contributions, so we have an underlying license to all the code -- and we can sell it to corporations.


Oh, OK. It's the dual-licensing GPL/DWTFYW arrangement. Why didn't you just say so? :)

BTW. Tried posting a reply in some thread on try.discourse - it showed up, but then disappeared in a second. Is it some sort of spam filter in action? The UX made no sense whatsoever.

Jeff, Do you envision modifying the variables and mixins as the main way of handling themes? Or is there going to be an admin upload method or something else that you could elaborate on?


Hard to say since it's so early, but I view theming and skinning support as very, very important in the priority list. It's probably the #1 customization people do on forums! And probably on blogs as well...

It also seems very ego-heavy, with lots of user-centric stuff. I find that the more central the concept of a user is the lower the quality of discussion that follows.

StackOverflow also has an extremely busy design, and it seems to work.

I remember reading a blog post, or maybe listening to a talk, where Jeff Atwood explained that this was on purpose because programmers like having lots of buttons and things (I'm paraphrasing really poorly here), but it seems to have carried over reasonably well to the other StackExchange sites.

> StackOverflow also has an extremely busy design, and it seems to work.

People often make the argument about HN being ugly and hard-to-use vs. those who think it is perfect for what it does (even saying that making it simpler would make it too easy for non-technical people to get involved, which always confused me). Personally, I think all three of these services could be much cleaner and user-friendly without Fisher-Pricing it.

> This is a similar to the argument people make about HN being ugly and hard-to-use vs. those who think it is perfect for what it does.

Apropos, my favorite suggestion for improvement in HN would be a menu item that lists direct replies to one's posts (something that Reddit does). Without this feature, some HN threads just expire because it becomes too difficult to follow them as time passes.

And now I can't reply to scott_s's reply (another weird quirk that I don't understand, since it doesn't seem to be tied to how nested the comment is), but even something as simple as renaming those links would help people ('threads' to 'your comments' and 'comments' to 'recent comments').

Edit: Now the reply link shows up. What's with the timer?

> And now I can't reply to scott_s's reply (another weird quirk that I don't understand, since it doesn't seem to be tied to how nested the comment is),

It's based on time. You can't reply immediately, you have to let some time pass. The idea is that it stops a conversation, a quick back and forth, and forces it to take a while, which should in theory encouraged more reasonable responses.

Does it, though? ;)

The "threads" link at the top is a decent approximation.

Yes, for my posts, but not so effective for replies to them, especially those older than 24 hours.

Here's a bookmarklet that might help some:


It turns the time stamps on a Hacker News comment page into buttons that hide/show comments that are the same age or older than the clicked time stamp.

It works on the threads page. There are probably some bugs, but it mostly works fine.

I use HN Notify: it sends me an email notification every time someone replies to one of my submissions or comments.


>StackOverflow also has an extremely busy design, and it seems to work.

The design's being so busy has prevented me from exploring the site.

I wish I knew of a browser extension or a bookmarklet to make the site more sedate by, e.g., deleting some of the elements on the page.

I sometimes use adblock as an incredibly blunt instrument to delete unwanted page elements.

This is the design of their demo. They aren't selling a design, they're selling software. With a bit of HTML, CSS, and Javascript fiddling, you can mould it into any shape you want.

The theme shops will appear if the software becomes popular enough.

And what big factor do you think contributes to a piece of software becoming "popular enough". (Big hint: its design.)

I think the space is growing, especially in the rails world where it's been stagnating for so long. There's discourse, forem and I've even just released my own at http://www.thredded.com (source at http://github.com/jayroh/thredded)

It's definitely more along the same lines visually as the "traditional" forum but I'm hoping that the innovation in the future pops up in the small interactions. Replying, quoting, splitting threads, moderation, interaction via email, etc

Right now the basics are in place that I hope to build the really good flourishes around.

If anyone is intrigued feel free to ask me anything about it or find me on twitter - @thredded or @jayroh

> the design feel incredibly busy

Then you will enjoy this I suspect - http://pivory.com

Hey that's pretty neat. It actually feels pretty different from a standard forum, which is nice. Discourse just feels somewhat samey to me; not much innovation.

This is the definition of busy.

If the goal of this is to supplant vBulletin and phpBB, it has to be written in PHP, period. A non-programming community is not going to deploy a RoR app, they're going to FTP some files into the hosting they just bought from GoDaddy.

Once upon a time people said that creating stuff in PHP was ridiculous as Perl in cgi-bin was way more supported.

As was mentioned, we have a hosted offering planned so people can set up a forum in a few clicks.

But besides that we actively want to work to make Ruby apps easier to install. Right now they're too hard and we're going to try and fix that.

At the very least we'll offer VM images and install scripts for various cloud hosts.

> Right now they're too hard and we're going to try and fix that.

Awesome! I was trying to point out to someone that this is a critical market-share-limiting factor for Rails apps the other day. It's good to know that someone's devoting time to the problem.

For an example of the difficulty of installing Rails apps, take a look at the length of the installation guide for Gitlab [1]. There are seven numbered steps, some of which involve multiple commands. Upgrading from 4.0 to 4.1 was about the same complexity.

Thanks to the thoroughness of its author, the guide largely worked as advertised. But being able to install and upgrade with apt-get would have saved me hours.

Please also keep in mind making it easy for people to upgrade your app -- that's just as important as installing it.

[1] https://github.com/gitlabhq/gitlabhq/blob/stable/doc/install...

RoR just isn't good at this. It's had more than enough time to position itself as an alternative to PHP. Node looks promising.

I think you're just living in the HN bubble there laddo!

Nice ad hom. Care to state why you disagree?

If you make Ruby apps as easy to install as PHP then that will quite possibly be a much bigger achievement than writing a new forum could ever be.

Hint, to start provide a giant tar.gz with all relative paths, with everything included inside, all the libs, rails itself, and so forth. Make it trivial to install it providing a proven environment with the right versions of everything.

If you look on the discourse.org website, they are planning to eventually sell a hosted version (including custom domains). Discourse is taking VC funding, and that's their plan for making money.

This could be sold by third parties as a standalone thing where some hosting company manages the deployment for you.

There is market for similar services based around phpBB.

Sold, rebranded, tinkered to the point where its not recognizable any more- yep!

Rebranding could be considered a feature depending on your point of view. Most phpBB hosts don't seem to screw with it too bad apart from maybe inserting a few ads.

That didn't stop a bunch of services selling 'free phpBB' installs littered with malware advertisements, to people who didn't know how to deploy a PHP app.

I'd imagine there's a market for a generic push-button "insert dev-provided VM, recieve app" hosting service for these kind of people without being limited to PHP. AWS Marketplace already does this to a degree, just a matter of making a similar service accessible to the GoDaddy crowd.

And to add to your point, since Discourse is taking VC money, it will not supplant phpBB, vBulletin and the likes. Absolutely free software that's been around for more than a decade and web hosts don't have to pay for it either.

And if a website owner wanted to migrate from oldskool forum software that's been around since the dawn of the internet to Discourse, oh man.


Discourse does not have a strong incentive to make their software easy to install. Following the WordPress business model, Discourse wants you to pay them to host your forum.

Surely something like this + heroku + a deal with godaddy would make it even better and easier.

The non-programmers aren't going to want to ditty around with copying files from a CD, they will just want to run setup.exe.

If someone is going to setup and run a forum figuring out how to deploy a RoR should be a minimum barrier to entry worth an hour of research.

I setup about 50 forums on my hosted plan before I became a programmer and many of them went on to be quite active and useful. All I knew at the time was very basic HTML and CSS. Once I actually started programming, RoR was a pain in the ass to setup the first time, it definitely took much longer than an hour (I even gave up on my first try).

So no, this barrier of entry isn't needed.

I cringed when I saw infinite scrolling as the first feature they're highlighting on the landing page. I expected it to completely break back/forward navigation (a la returning to your home page feed on Facebook or Twitter). However, I played around with the demo a bit, and I was pleased to see that they've somehow solved that problem. I'm still not a huge fan of infinite scrolling in general, but this looks like a significant improvement.

Thanks. I'll probably write up a blog post of how it's done eventually but the short version is we use HTML5 replaceState to update the URL as you scroll down a topic stream, so you have a unique URL to go back to and share.

There is a little more intelligence as links within a topic just replace the state, but links to other topics push the state.

Also infinite scrolling downwards is easy to implement. Upwards is a huge headache.

Please write it up!

There are non-terrible ways of doing infinite scrolling, they just take a lot of work. E.g. https://news.ycombinator.com/item?id=2592741

I haven't tried it, but infinity scrolling is horrible, as is pagination. There is no limit on the size of webpages, so don't put artificial limits on them.

Database can't handle the load? Put caching in.

Pagination as in when a forum displays its topics in numbered pages? I've never had a problem with that.

Pagination as in whenever it is used.

Ever tried to read a long article online? I have seen them split over 15 pages.

And yes, I always click the print/view on one page button.

And it is even more insulting with comments -- I am not going to click/scroll just to see ten more comments.

Those who don't learn from Usenet are doomed to recreate it -- badly.

My ideal discussion forum software would support threading, would remember which messages I've read and which I haven't, would allow me to rate both messages and authors, would provide a personal killfile, and would allow me to use whatever client I prefer to access it. In short, it would be Usenet exposed via a web API. No discussion forum software I've seen so far comes even close in features and usability to what GNUS provided in the 1990s.

We are closer to your vision than you might think.

Discourse remembers what you've read and what you haven't. You can "like" posts or "flag" them as poor.

Our API coverage is almost 100% - our rich JS client consumes our own API for just about everything, so we actually know it's working because the client wouldn't work without it.

We also have an (admittedly undocumented) plugin system, where you can install rubygems that add or remove functionality from the core app.

The rating of individual users sounds interesting, can you comment on that? I would like to rate other forum users, and then find conversations composed of users I like.

> Those who don't learn from Usenet are doomed to recreate it -- badly.

Yes, and the reason people (mostly) don't use Usenet is because it was free, meaning you couldn't turn it into a property and make people sign up.

As you point out in your wish list, Usenet had a number of very nice usability features. And, notwithstanding a lot of time and effort, they haven't been duplicated in the modern era.

You don't consider my $5 per month to Supernews to be a good monetization model? ;-)

The clear need that the OP is trying to address suggests that Usenet might be monetizable now. Many web sites aren't going to want to store large amounts of historical text from their user forums. Perhaps there is a market for hosting forums using NNTP under the covers. Each site could provide a default web interface but also allow access via the users' preferred news readers.

Decoupling the GUI from the service is good practice in any case.

Wait this thing is written in Rails?

Just a few days ago Patio11 mentioned that the only good thing about the recent security issues was that Rails didn't have an app similar to wordpress that would be installed everywhere and never updated.

And now, this.

Well, we hope that we can popularize Rails to better approach the "it just works on every server everywhere" PHP ubiquity.

And what's, er, worse? PHP everywhere, or Ruby everywhere?

I'm pretty sure the real threat is unpatched apps, regardless of what language they're written in (which was tomjen3's point).

I'm concerned that the relative complexity of upgrading a Rails app with bundler and application server, webserver, etc is significant compared to the steps to upgrade the average PHP app (copy the new files over the old ones).

Then again, perhaps an even bigger threat is people who feel smug about security due to their choice of programming language, which is what you seem to be hinting at.

"If your hosting account is listed as Shared Hosting, you cannot install Ruby on Rails." - GoDaddy.

I dislike PHP as much as the next guy, but if your goal really is ubiquity, you've forgotten a decently large segment of the e-population. :-/

What's with all the Rails hate? It's getting tiring already. We're not going to stop loving and using Ruby and it's cute little sibling Rails because of a few hiccups so get over it already, ok?

That isn't quite what I meant by that line. (I was pointing out an ironic upside of decisively losing the CMS war to Wordpress.) "Never use Rails ever and especially not for installed apps" is very, very far from what I think.

Though if I were doing anything installable I'd put a channel for security notices on the admin panel like Wordpress does.

He meant that it is a good thing, right now, that there are isn't an application like that (because it would expose so much of the web).

That being said, I'm hesitant to try this until ruby calms down a bit.

This won't happen as long as Rails apps can't be hosted on a $4.99 / month shared host, uploaded through Filezilla, and hooked up to a MySQL DB created through a visual control panel, all in the span of ten minutes.

The barrier to entry for deploying a Rails app is high enough that it's unlikely a significant number of deployments will be installed and forgotten like so many PHP packages.

Deploying to Heroku fixes this. If not actually deploying to Heroku, then the spirit of doing it the same way which will probably come about in other implementations.

Yes, and?

(Not trying to be snippy, but really, what is your point?)

>Why break conversations into awkward and arbitrary pages, where you have to constantly find the Next Page button? We've replaced all that with the power of just-in-time loading. Want to read more? Just keep scrolling down.

While I like this for viewing lists of threads, I'm not sure it's a problem that needs solving within threads. Maybe it's just a symptom of my confused mind, but I actually like reading a few pages of a really long discussion, then coming back later to read more. Here I come back to the top and hell if I'm going to try to remember where I was.

I no more think paging needs to go away than I think chapters in books need to go away. Or pages in books, obviously.

When you're logged in, we track exactly what posts you have seen. When you click on the topic again, it takes you directly to where you left off, to the post!

Ok, great then!

Purely from a code standpoint, this is a pretty awesome repository to browse if you want to see how rails, redis, sidekiq, postgresql, pg's hstore, ember.js all tie up!

Gemfile gives a pretty good overview - https://github.com/discourse/core/blob/master/Gemfile

Any differences between this and Vanilla (http://vanillaforums.com/), which has an abundance of community-created add-ons (http://vanillaforums.org/addon/browse/plugins) and the ability to really customize the forum to however you want it? I'm on a board that uses it, and we've been able to integrate inline private conversations into public threads, multi-user private conversations, the ability to draw a post instead of write one, etc.

A bunch of differences, but the big one is that we're 100% open source. No crippled-unless-you-pay business model here, personally I find those irritating.

Vanilla is certainly much more mature since it's been out longer. Discourse is new as of today, so we've got a long way to go.

> A bunch of differences, but the big one is that we're 100% open source. No crippled-unless-you-pay business model here, personally I find those irritating.

Vanilla is too, they just charge if you host with them and want customer support. Best of luck to you guys!

Not true, the open source version of vanilla does not contain all the features. Certain features are pay only.

Forum software is often clunky and old-fashioned graphic-design-wise, and its search features often are broken, and I'm sure it's not a barrel of laughs to moderate or administrate.

But what specifically about the user interaction and user experience is wrong about old forum software that is corrected in this new platform? The sandbox forum is very nice looking but does it operate much differently from old-school stuff? Ultimately I'm looking at a list of topics sorted by how recently they've been updated (and there doesn't even appear to be a way to change that order).

I've been administering a vBulletin forum for 8 years or so. Let me tell you, this is a great idea.

Just yesterday, I was evaluating a bunch of forum software and came out empty handed:

The OSS forum scene is just depressing, some of the more popular packages still use tables for layout. I themed a table based layout (vBulletin 3.x) once, _never_ again.

The paid packages are just full of shit no-one needs. vBulletin is basically social networking software at this point. These things are so complicated only geeks, and I say that with love, can possibly figure out how to use them. It's a pissing match between competitors.

However, no import (as far as I can tell) means I can't move over to Discourse. And, in your FAQ, you actually suggest that I shouldn't move. I think you underestimate how much hate I have for forum software.

As a developer, Jeff, what I really want is SO self-policing features, as a service that I can use in other products. Discourse is nice and all, but I want to build something more than a forum.

It's great that they are offering this as a thing you can actually download and put on your own server or rent from a commodity hosting provider.

The great thing about traditional forums was that they made it possible to host discussions on controversial topics without fearing being culled by the platform owner. They also allow forum admins to be entirely free to set their own rules and create a marketplace in third party extensions.

Completely, forums are about basic human expression in paragraph form. This is an essential right and we want to give it back to the world in 100% no strings attached open source form.

Not that there aren't other forum choices, of course there are, but VERY few are 100% open source and even fewer are ones I want to use.

I've been playing with this for the last 20 minutes, and there are things I really like and things I don't like.

The good: It's got a lot of the automatic things that make Stack Exchange a pleasure to use - conversations slide into place nicely, infinite scrolling feels nice and new, and updates to conversations happen while you're watching.

The bad: The front page is already very noisy, and it's only in test mode. I expect that with time, the only way to use this properly will involve creating "channels" with tagging or filtering.

There are two major problems with this outcome. Firstly, if users select their own "channels", it becomes a reinforcing cycle where each "channel" (or "room") is only exposed to its own conversation. This is largely what happened with USENET (and to a degree what happens with subreddits), and while each one might be good if it stays small, if it doesn't it'll end up being as noisy as the front page. If managed well, on the other hand, I expect that the prettiness of conversations as they are now will follow nicely into each channel.

The second problem with the noisy front page is that as with every other general purpose discussion site with a front page, there will be a race to the bottom, where everything that makes it to the front page will be about grumpy cats or hot girls.

Maybe my criticisms stem from the very nature of discussion forums (look at the cycle of slashdot, digg, reddit etc.), but I don't see this tech fixing that problem like Stack Overflow claims to have solved the Q&A problem. I'd like to think it will though.

I'd argue that Reddit and other link-aggregation sites like HN are the evolution of the online messsage board to an online-focused format, though self/text posts are possible to start general discussion.

The big thing missing is a way to 'sticky/pin' posts, though Reddit makes use of the sidebar to similar effect.

How Discourse's conversation threading model is quite interesting though, I'll be interested to see how well it scales.

I agree with you for the most part -- but how many times do you return to an old HN or Reddit thread a few hours later? It's very hard to see which comments are new. Even though I like threaded discussion I get a warm feeling about seeing that new posts notification on a flat thread I was posting in earlier, and it will make me go back and read the new posts, whereas on Reddit or HN I usually only go back if someone replied to me.

About a year ago, Jeff Atwood came to the Something Awful forums to discuss ideas for better forum software. Unfortunately, it seemed like he had already made up his mind on the design, blithely dismissing well-articulated arguments against things like gamification and having non-moderated hiding of posts.

As much as I like stack overflow, I don't have high hopes for this project. I fully expect it to be even more full of the terrible metadiscussion about mod points, tags, visibility, and so on that seem to corrupt half the posts on places that implement similar systems.

I think you might be surprised if you check out what we came up with. You're right that in the beginning Jeff was interested in gamification, but when we sat down and started to crack at it, we found the interface itself was in need of the most work.

You can like posts in this release, but it's mainly to prevent useless "me too" posts. Users don't have scores. Posts do, but that's just so we can calculate a summary view for mega threads.

Additionally, almost everything is configurable. We give what we consider sensible defaults out of the box, but you can disable/tune a lot right now.

We also integrated features suggested by goons like a global API.

I've been a SA goon for almost a decade. I really want to make this software good. Actually I'll probably post a follow up topic there soon!

It would be great to see these vendored gems individually released for use in other projects: https://github.com/discourse/core/tree/master/vendor/gems

on the cards, message bus really is awesome, I plan to blog about it. can you put a request on meta for this? Also I would like to release the "general consumption" gems as MIT

This looks great. I recently went through the decision making process with a client and they settled on getsatisfaction for now but would probably love something like this.

I'd be interested to know how they came to the decision to use Rails. The goal here seems to be an application that is easy to deploy across PaaS/IaaS platforms such as AppEngine (no Ruby support atm, mentioned on the website though), AWS, Heroku as well as self hosted/installed.

All the apps in this space (behind the firewall, self-installed) to date have been either PHP (Wordpress, PHPBB, SugarCRM etc.), Java (Atlassian, Jive, Zimbra) or .NET (Telligent, FogCreek, vBulletin)

The only Rails app I can think of is Redmine (oh, and Diaspora).

PHP is easy to deploy while a lot of businesses are already running either Java or .Net. It may be more difficult to get Rails deployed, but then again having a simple virtualization or PaaS target could change that.

I think this pretty much sums up why Jeff isn't using php: http://www.codinghorror.com/blog/2012/06/the-php-singularity...

Part of the motivation for this seems to be as a way of supporting Ruby over php for ubiquitous webapps

Correct, I can talk about it, or I can do something about it. Be the change I want to see, and all that!

vBulletin is a PHP app. The three prevalent forum solutions are Invision, phpbb, and vB.

This is still a friggin popularity contest. Why do communities need to have any sort of popularity metric attached to each comment (favorites, upvotes, etc)? There are sites that are meant for this (hacker news), but that doesn't mean the methods are generally applicable or even desirable.

Agreed. There needs to be some sort of mechanism to flag trolls, etc. This same mechanism can be used to rank by popularity. This doesn't mean it should be used that way unless you actually want to promote shallowness and group-think.

Out of curiosity, what was the reasoning behind starting a new business entity for this product? Will there be a different management team here, separate from Stack Exchange, Inc., or is Civilized Discourse Construction Kit, Inc. a subsidiary of SE?

Just curious.

EDIT: Nevermind, just found the answer to my question:


http://techcrunch.com/2012/02/07/jeff-atwood-bids-adieu-to-s... (I didn't realize Jeff had left SE.)

Wow... another multi-million user platform has just been born.

Not necessarily. StackOverflow was much needed by a well-defined userbase, and unique in its approach.

This is much more open-ended, and however nice it might be, there are other products attempting the same thing already.

It's much more meta, for one thing. SO had a topic: programming. Here we don't have any particular topic, our goal is to make your topic successful, whatever it is, through open source software and community.

In other words Discourse is only successful in the sense that it lets you be successful.

WOW! This whole thing smells like quality. Even to the usage of CoffeeScript through and through. You guys rock!

Been going through the assets/js and it's really amazing quality code.

Discourse is a significant upgrade from phpBB. Awesome.

...and vBulleting, InvisionBoard, etc. (Not free, but that's what all the 'cool kids' had not-so-way-back...)

I'm very interested in trying this out. Besides the nostalgic kick of having dedicated forums come back the potential for moving forums forward is pretty great.

JIT loading of comments, eww...

You say it "remembers my place" but does it remember my place across all of my devices? What if I want to link my friend to a comment? What about SEO, will my community turn up in google/bing's results?

1. If you log in across various devices you'll end up with links to the last post you read in the topic. Unlike other forum software we don't consider all posts on a "page" viewed when the page downloads, only as they are scrolled into view.

2. We use HTML5 replaceState to update the URL as you scroll. Just grab the link from the URL bar and it'll take you to where you left off. Or additionally click the "Share button" for a copy and pastable pop up.

3. Yes we render a lightweight version of the pages in a <noscript> tag for google indexing.

> 3. Yes we render a lightweight version of the pages in a <noscript> tag for google indexing.

Can you explain it in more detail? Are you returning different results to Google bots?

No, we were worried that rendering different content for google violates their TOS. So what we do is render a super basic version of the page in the <noscript> section with no tools or extras. You can see it if you disable javascript in your browser.

It's not much to use, but enough for google to get at the words and links.

We're not sure how well it works since the project was secret until today! We're going to keep an eye on it and adjust for maximum google-fu going forward.

(Shout out to Sam Saffron who implemented this!)

> What if I want to link my friend to a comment?

The fact that there's a permalink bar on every single comment was the first thing I noticed, since it highlights on hover anywhere on the comment.


If you `wget` the canonical URL of the page per the meta tags, it contains all of the comments in the HTML; everything is accessible to the search spiders.

It's pretty but years of reddit and hacker news make it very difficult for me to follow message boards without nested comments.

I guess this puts a previous post of his in context: http://www.codinghorror.com/blog/2012/12/web-discussions-fla...

And now I fear for the future of online discussion because I expect that Jeff will succeed.

What specifically do you fear?

That every forum that I might want to participate in will have linear discussions and be a nightmare to follow.

Forums haven't changed in 10 years because they got it right back then. I don't think you really need more than a forum and an IRC for a good place for a community to gather. I honestly have yet to find a configuration for online communities I like more than the classic forum and IRC combo.

The usability leaves something to be desired. I couldn't work out how to post a comment. There should be a button marked "post" or "send" or something.

Also, comments aren't threaded. They should be, because once there arem ore than a few, a flat form makes it hard to easily tell what is a comment to what.

So, while their is definitely room for better forum software, this isn't it. Personally I prefer the way my http://meowc.at/ website does it (obviously I'm biased), even though its a lot less polished.

> I couldn't work out how to post a comment. There should be a button marked "post" or "send" or something.

I just came back to it and a Reply button suddenly appeared. I assume this is a bug.

I'm interested to see a new tech stack for Discourse vs. StackExchange:

Ember.js and Rails backend vs. C#/.NET

I suspect the dichotomy might have something to do with open-source vs. proprietary.

It's something that many people will consider pretty according to today's trends (fixed-width text, rounded corners and gradients and monochromatic icons and tooltips) but from reading the announcement I expected something more. Looking around the Discourse site, I just can't find what makes Discourse special and my first reaction after 5 minutes of poking around was "Well, okay...". Maybe someone else can explain it to me.

You have to look at the other choices to appreciate part of it. I know, this is a little bit like saying "we are the prettiest object in a room full of ugly objects".. but.. well, see for yourself:


There are very, very few 1st tier forums that are fully open source, too. None that I know of!

Looks great overall, we just recently discussed how bad are open source forum options and said how nice it would be if SE would open source / sell the stackoverflow Q&A format for companies for internal forum-like discussions. So I find this to be great, much better than the alternatives,

Here are a few confusing things in terms of UX though:

the "New" button, expected: create a new topic, instead, took me to "You have no new topics to read." page e.g. it seems the "read new stuff" is merged with "create new stuff" (the "create new topic on the right")

the "item has x replies" thingy, I understand you want to have replies in context, but this duplication confused me, e..g I wasn't sure if it's a new "type" of reply. how to solve it? well I would do one of the following: either just link (via scolling to the right location via an anchor / scroll aniumation) or keep what you have right now but also have the link so pepole can see the original comment as well

So far so good, thanks for sharing this, I'm happy twice, both needed a Q&A forum at work, and also wanted to learn Ember.js (version 1)

A one click button to export from phpBB and vBulletin would be amazing.

We do have a fully documented import and export format, however, we're not prioritizing conversion at this time because we believe there's too much technical and social friction to wholesale forum change.

And it's early, very early in our beta!

Mostly we expect early Discourse adopters to be of the "starting from scratch" kind.

I definitely need an importer to be able to use Discourse. I have been looking for a way to get away from PHPBB for years, and would happily move to Discourse, but if I can't bring my content and user posts with me, my community won't follow, either.

Unfortunately, this is one of the major general problems with forums. You just don't have an option. Import of old forums might be one of the bigger impacts you could make.

It doesn't appear to be responsive, is there a mobile version? The biggest problem i see with phpBB and the like is that they're a huge pain in the ass on any sort of mobile device, and then you get abominations like tapatalk filling the void. If somebody wanted to solve a problem with online discussion software, that's where I'd start.

From their github readme:

  This vision translates to the following functional commitments:

  1. Support all contemporary browsers on the desktop:

  Internet Explorer 9.0, 10.0+
  Firefox 16+
  Google Chrome infinite
  2. Supporting the latest generation of tablets:

  iPad 2+
  Android 4.1+ on 7" and 10"
  Windows 8
  3. Deliver support for mobile/smartphones as soon as possible:

  Windows Phone 8
  iPhone 4+
  Android 4.0+
So it seems that mobile support is coming, "as soon as possible".

I'm patiently waiting until the heroku instructions come out. Thank you, also waiting for the donate button.

Trying to get a dyno up atm. It's fun.

I hope it's not stating the obvious to say there's often a gap between the interests of participants, and the interests of people looking to get information from threads later on.

I've found that forum moderation sometimes fragments a forum audience across "boards" to no helpful organisational end. This reduces the value of forums for the casual conversation and debate uses (as opposed to retrieval of information later on).

Separately: For the participants, I think threads that discuss issue x for the hundred-and-first time are more often wanted than they are unwanted, because repetition of casual conversations is not a problem. This is despite the fact that participants often complain about such threads. The silent majority of readers presumably have a different view on it.

I have yet to see anything that can beat a good old fashioned mailing list for discussion, sadly.

I have to give credit to Jeff and developers here, setting this to try it out almost felt like php in terms of how easy it is to run. I wish other rails projects were this easy to try out.

Oh man... :) it is a little busy interface. Let's see if this helps or gets in the way.

Non-threaded discussions are simply broken. They visually combine multiple conversations into a linear thread. Since threaded discussions came about in the mid-2000s it is apparent that linear discussions are simply inferior. They are cacophony.

Come to think of it... what would it take to convert HN in to a true forum/community discussion website? I love the compact, get out of the way UX without mug shots of people sprinkled all over. I love the fact even more that there is no way to post LOLCats pictures inline with text that would take away attention and occupancy unnecessary space on screen real estate (you can of course link them). It has all the necessary elements (threads, karma and so on). I think only thing we need is to be able to tag posts, search, TeX and it could be far better forum website than feature bloated Discourse.

On vaguely this subject, I had an idea that I mean to implement but so far haven't found time. The idea was for a captcha-type system that required the user to match bad arguments to whatever logical fallacy they fell into, eg. they'd have to match "If we tolerate homosexuality, how long before it becomes normal for people to marry their pets?" to "slippery slope fallacy".

I think requiring people to answer a few of these correctly might raise the standard of online discussion, both by keeping dumb people out and setting a tone of reasoned debate.

Please steal this idea, as I don't know when I'll find time to do it.

That selects for trivial pattern-matching ability, not the ability to evaluate arguments.

Engaging in productive discourse is not associated with knowing the names of fallacies.

> That selects for trivial pattern-matching ability, not the ability to evaluate arguments.

I think the chances of somebody learning to match the entries without understanding at all are fairly low. Computers could do it of course, but that's a different problem.

> Engaging in productive discourse is not associated with knowing the names of fallacies.

The former is not a necessary consequence of the latter and the latter is not a prerequisite for the former, but I think if your debate only involves people that know about common logical fallacies it's likely to be a better debate.

"If we tolerate mass electronic tracking of our children's locations to keep them safe today, how long before it becomes normal for everyone to be location-tracked all the time?"

Slippery-slope arguments are only fallacies when they go against your own beliefs.

Seems to me this would have the disadvantage of being a maintenance hassle, i.e., not providing the CAPTCHA half of the functionality very well because of a finite number of questions.

Of course, if you're willing to not care about that, it'd be cool.

Describing it as a "captcha-type system" was probably misleading, it's not intended to solve the problem of computers being able to match the answers easily. It's intended to require people to either know or learn about common logical fallacies.

Not objecting to the specific idea, but ... I'd prefer to think more about ways to elevate everyone's contribution than just about ways to filter people we perceive to be unhelpful.

(Unfortunately that requires letting go of us-vs.-them, and just speaking for myself, that's surprisingly difficult and ongoing work.)

Elevating everyone's contribution seems to be the thrust of much of the features in Discourse.

This looks great! Thank you.

I wanted to try it, but because it's rails and I haven't gotten into rails, I won't. You have me for a few minutes of playing around and putting on a site somewhere but not for a multi-hour excursion into a big can of worms I'm not familiar with.

I know people are ragging on you and I don't mean it like that. I just thought it was important to point out that you are deliberately raising the bar for the community. Perhaps that's a good thing! Beats me. I am not complaining, just pointing out that this choice has consequences.

I want to look into this in more detail and I'm not making any judgments; it does sound interesting. However, I have never understood why Jeff hates forums so much. I visited discourse.org briefly, and I think congratulations to the team, but right now I'm not sure how this so much better than the "evil" forums. Right now, I feel like this is something that feels like a bit too much going on the site for me to get it; I certainly don't see how this trumping the horrible "b-movie" that is allegedly what forums are.

I'm personally very excited to be picking through the ember application(s). It's rather rare to find large-ish open-sourced ember codebases, so I'm pretty stoked about this. Thanks!

I'm surprised that he compared forums to stackexchange and the customer service sites (uservoice, desk, etc), but didn't mention Quora.

That said, open source forum software sucks, so thank you!

What is Quora?

Answer #1: Quora is a question and answer website.

To see more answers, please login to Quora so we can show everyone what you've been looking at on Quora.


Remind me of LiveFyre or Disqus.

Speaking of the wordpress of forums, does anyone have experience with http://bbpress.org/ ?

I share their opinion on other forum software, but for god's sakes the UI is an eyesore, literally. I clicked on try, and when the home page loaded, I didn't know what to do next because everything looked clickable.

I know they'll be improving on it later but I don't understand how UI was not a priority in the first release. One of the main reasons why the other forum software suck is that their UI sucks.

How does the infinite scrolling work when you have topics with 10000+ posts?

I'm halfway tempted to install it and learn the API just to answer this question.

The infinite scrolling works in both directions (up and down). There's a "jump to last post" and "jump to first post" navigation aid to the right of the comment list. You can also start anywhere in the middle of a conversation if someone gives you the permalink to that comment.

No matter where in the conversation you begin, only a limited number of comments are preloaded into the page (before/after your current position), and the rest get loaded as you scroll down or up. If you're a search spider or other bot loading the canonical URL of the discussion, it's rendered in plain HTML and paged into multiple HTML pages if very long.

I often read things on the bus over a not so stable 3g connection.

How does infinity scroll work with that?

You're far too young to be a luddite -- the only difference between infinite scroll and paging is whether the action is initiated by swipe or click. If you have a connection, you get more comments, if you don't, you don't. Maybe you have to reload or click the permalink to a comment to try again; you have to jump through the same hoops if you clicked a page link without a connection. When you do have a connection, infinite scroll is preferable on 3G since only some JSON has to be loaded rather than a full page of HTML wrapping it.

Check out the browser requirements. IE10+, Chrome 24+... wow.


Normally when I'm working on a new project without clearly defined platform requirements, I'll start with most the modern platforms available and then work my way backwards. It speeds up development and causes less grief.

I noticed that as well. If your userbase looks a bit like StackOverflow's or HN's it's probably not such a big deal. If your userbase isn't a bunch of developers, designers or early adopters and looks more like W3counter's then 14% of your potential desktop users (tested IE8, presumably similar on 7) get a loading screen when accessing the try.discourse.org demo. If the apparent limitations to IE9 support are significant, that's a quarter of a potential userbase that can't effectively participate in a community, at least not without writing new code - presumably connected with the infinite scroll feature - to support still-common legacy browsers.

Say what you like about the crappiness of php forum software, but their designs that haven't been updated since about 2001 just work.

Interested to know how people think it compares to Telescope (http://telesc.pe), which is more of a traditional HN-clone social news app (also open source by the way).

(I also posted in the other topic, sorry for the double post but I'm really interested in knowing what people think since both apps have similar goals)

After http://news.ycombinator.com/item?id=2473029, I would expect this team's tools to embed values that greatly differ from mine regarding "trolls" and "bad actors" and controversy, and would be unlikely to participate without some sort of transparent oversight.

The official Github-repo in case any one want to run it themselves: https://github.com/discourse/discourse/

Install instructions: https://github.com/discourse/discourse/blob/master/INSTALL.m...

I'd rather see more information on one page than fixed width layout. Some threads can get veeery long and you have to go through a lot of comments to get to answer that is most important to you. Are you guys planning on experimenting with different layouts, or you'd rather not diverge from stackoverflow path ?

I'd be happy to try it, in fact I have a site idea dying for a good forum. However, like all things new what I'd hate to have happen is to install it, get some messages flowing and then have a huge problem upgrading to the next version. He cites Wordpress, but can he make it as painless to upgrade as that?

A bit off topic, since this is done in Rails, and we all read the dreadful warnings about the remote code execution exploit, how safe is it now? (I plan to run internally at work)? Are the latest YAML vulnerabilities patched? Just do 'gem update rails' often? Also is the rubygems.org exploit behind us?

Not only does it run the latest stable release of Rails 3.2 (which was immune from the latest security vunerability), but I made sure we are running the latest versions of all Rubygems.

Having said that, this is very much an early beta right now. We expect to get a lot of feedback over the next little while, and we want to integrate that before we release a 1.0 stable that we'd be comfortable telling many people to install.

If you install it now, you'll have a more complicated upgrade path to our 1.0.

Was 4chan an inspiration for this? It seems much like a mix between 4chan and a more typical phpBB-style forum.

It's quite similar to what 4chan would be if threads were archived forever (which is actually the case for some boards), if 4chan had user-based moderation, and if anonymity was removed.

I don't see how trolling can be stopped. Anyone can add a reply to a new discussion and since the reply can be anything, then trolling is easy and there is no dissuasive pressure on it. What I feel is missing is the possibility to down-vote messages or something like that.

The threading here is completely broken. Replies are hidden unless I mouse over the post being replied to. Some of the messages are tagged with "in reply to $username" but I can't tell which of that user's posts.

If I need a forum, I'll create a subreddit.

I guess this answers, "What's he been up to?" Great for him! The need is real. I feel like most discussion boards I'm a part of haven't evolved much relative to the rest of the internet. Even news.ycombinator.com is a case in point.

It seems like a forum trying to focus on everything, with no real way to surface content. The result is that you end up getting lost in a sea of random topics. Also, the abundance of colourful little icons is a bit annoying.

I've been looking forward to seeing what Jeff was going to put out next. If Discourse is anywhere near as well thought-out as Stack Exchange, it could be a great success. Congrats and best of luck, Jeff!

I agree that it's exciting, and I really hope it's successful. I like the SE model.

But the great things about SE are

i) strict moderation

ii) limited, clear, scope

iii) separated meta

Some of that can be helped by the software, but most of it comes from human involvement.

I'm still not sure how the new software will ease the problems that forums face.

i) Web searching a problem returns a hit for a forum. I visit the forum, to see someone asking my question, and someone else saying "Search the web, noob".

ii) People just love feeding trolls. It's trivially easy for trolls to disrupt forums.

iii) Vested_Contributors - forums have rules. New users get punished for not following the rules; long term users have people making excuses for them ("It's Bob! Everyone knows Bob! And he makes great posts normally, so let him off this time!").

iv) Signal : Noise - and this is made worse by having limited number of posts per page. A 29 page thread, with many people saying "Wow, great!!!" is a sucky experience. Especially since most forum search software really sucks.

I always thought reddit would turn into the next-gen forum, especially after it went open source. But it didn't have as big of an impact as I hoped. reddit is a giant step beyond things like phpBB.

I'm at Scholarpedia, and we're looking for people to help replace MediaWiki talk pages with, basically, this.

If this kind of thing sounds interesting to you, please contact support@scholarpedia.org

Whoa, this is even more awesome than Postline!

Well, granted, Postline still uses frames, and I know only one site that uses it (and I tried using it once, got too confused and dropped out)

I'm really surprised to not see a .NET backend especially since StackOverflow, etc. was built on .NET MVC. I would love to hear the design decision behind that.

According to Jeff Atwood:

"Well, I love .NET -- it is amazingly fast and incredibly well designed"

"But for open source projects, there's just too much friction in a Microsoft stack. So it was either Python or Ruby and @eviltrout had an extensive Ruby background, so... here we are."

Source: http://try.discourse.org/t/-net-vs-ruby/415/11 (That forum is reset every day, so this link will expire soon)

The interface is a to cluttered for me. Too much noise compared to the signal. The interface of Hacker News is much better in this respect.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact