Day 1 Review of Discourse
Discourse is new open-source discussion software.
Version 1.0 of Discourse launched at the end of August. Within days, both the SitePoint and Twitter developer forums had migrated.
How on earth does a new platform attract users of that stature so quickly? And more importantly, will Discourse become a viable alternative to phpBB, vBulletin and older forum software?
To answer those questions, let’s see where Discourse came from and take it for a test drive.
Who’s behind Discourse?
Discourse is the brain-child of Jeff Atwood, who’s the co-founder of Stack Exchange, the leading developer forum.
Atwood is also known for his strong opinions on his Coding Horror blog. On that blog he announced the launch of Discourse, and it’s well worth reading the whole of that launch post.
Atwood says that “all your software options for online community are, quite frankly, terrible”. He’s also very clear about his goal: “we want to be the WordPress of forums”.
To help reach that goal he started an Automattic-style company behind Discourse and took venture capital funding from the likes of First Round (investors in Uber, Square).
In short, the plan is world domination:
“We’re on a ten year mission to improve the Internet with free, open-source discussion software that raises the level of discourse for the entire world.”
What can we expect from Discourse?
Discourse clearly aims to go beyond forums. On the FAQ page they mention 3 uses:
- a mailing list
- a discussion forum
- a long-form chat room
I’ve also seen it used as a blog comment system. There’s a WordPress plugin to do just that.
The launch blog post outlined 4 principles for Discourse:
- 100% open source and free to the world, now and forever.
- Feels great to use. It’s fun.
- Designed for hi-resolution tablets and advanced web browsers.
- Built in moderation and governance systems that let discussion communities protect themselves from trolls, spammers, and bad actors – even without official moderators.
It’s fair to say that the moderation principle may be the most important. The software is designed to help posters self-moderate. For example, whenever you start posting Discourse you get a series of guidelines.
Moderation is perhaps the killer feature:
“What I learned building Stack Overflow, more than anything else, is this: the only form of moderation that scales with the community is the community itself. We became quite skilled at building systems for self governance of online communities.”
Sarah from SitePoint spoke about the importance of the moderation features in their decision to use Discourse:
“I love the concept of crowdsourced moderation. I think it’s awesome if you can empower individuals in your community to model the kind of behavior that they want to see, and to influence the type of content that they want to read. Moderators end up feeling like policemen on vBulletin.”
By choosing Ember, Discourse also gets Handlebar.js to (*cough*) handle their templates.
The server-side of Discourse uses Ruby on Rails and the database is PostgresSQL.
This means that Discourse is really two distinct parts: the front-end and a server side app. The two communicate via a REST API.
Suffice it to say, this is a radically different technical set up when compared to older forums such as phpBB or vBulletin. However, Discourse is released under the GPL v2 license.
Discourse pushes the limits with browser support. Nothing before Internet Explorer 10 is supported.
This was somewhat disappointing for an open source project.
The website at discourse.org is very much set up to push you towards hosting with them. They offer hosting (currently starting at $200 per month) or they’ll install it for $99 and then $10 per month. Perhaps this is inevitable for venture-capital backed open source?
There’s an install guide here, which says that the only supported installed method is with Docker. Not exactly beginner friendly.
I found the best and quickest solution was to use the downloadable app from Bitnami: https://bitnami.com/stack/discourse
Creating posts in Discourse is done through markdown or BBCode. The choice of markdown for this project set off quite a drama as there are dozens of different markdown formats available.
Fortunately, despite being on record as a markdown sceptic, I did find Discourse’s implementation easy to use:
You write on the left and see a preview on the right:
Although having two panels is cumbersome, you can hide the preview. Overall, the editing isn’t difficult and it’s relatively easy to add images
Aside from the posting, much will be familiar:
- There are categories for topics.
- There are lists of the latest posts, unread posts and popular posts.
- You can like a post, flag it for spam, bookmark it, or share it on social media.
You get the picture. If you’ve used a discussion board before, you’ll instantly recognize many Discourse features.
There are some distinctive touches beyond markdown. For example, Discourse supports Twitter-style @replies and you can subscribe to topics, based on those replies:
You can also get automatic, Facebook-style notifications for post updates:
These touches do add up to a lighter, faster and more modern feeling. Leland Fiegel launched WPChat.com on Discourse and had this to say:
“Discourse just has a more modern feel to it. The instant flow of discussions, the notification features, it just feels much more like a chatroom, rather than a more traditional piece of forum software.”
The admin area is not a whole lot different than vBulletin or phpBB. To run a discussion forum takes a lot of thought and care, so perhaps this shouldn’t be easy.
In particular, I would need more time to wrap my head around the moderation options in Discourse. There are trust levels, groups, badges, moderators and more.
The best explanation I could find was from Jeff:
“Discourse offers five user trust levels, and your current level is visible on your user page:
0 (New) → 1 (Basic) → 2 (Member) → 3 (Regular) → 4 (Leader)”
As you contribute to the forum, you rise up through those trust levels.
So a new user (at level 0) can’t start a topic, add images, add attachments or do much of anything. Leaders, on the other hand, must be appointed manually and they can edit and moderate all posts on the forum.
All-in-all, Discourse is powerful, well-built software. Discourse is remarkably mature software for the 1.0 version, although the documentation is currently very sparse.
Discourse is aimed squarely at experienced technical administrators who want to build highly successful forums. You can see why SitePoint, Twitter and similar sites have adopted Discourse.
Equally, it’s clear to see that you wouldn’t use Discourse for your local non-profit or sports club. Installation and maintenance isn’t easy. Hosting is expensive. The settings are professional-grade and designed to solve the problems of people managing very large communities.
In all of this, Discourse reflects it’s creator: it is highly opinionated software. That’s no bad thing, because Jeff has earned the right for people to listen to him about forum software. With Stack Overflow, Jeff has built a forum that is light-years better than any rivals in it’s niche.
Give Discourse a try. As with anything that’s opinionated, I suspect that many of you will love it and many of you will hate it.
If you want to find out more, read our interview with Sarah from SitePoint about why they picked Discourse.