Here’s a question we get a lot — Discourse and Discord. They sound awfully similar, but are they the same?
Discourse is completely open source teamwork software, designed for asynchronous written conversation, building on traditional discussion forum software such as phpBB and vBulletin.
Discord is a proprietary chat service with a video game background, designed for real-time, presence based voice, video, and text chat, building on traditional game chat applications such as Teamspeak and Ventrilo.
Discord is immediate and synchronous, while Discourse is gradual and asynchronous. Communities sometimes think these two very different styles compete with each other … but we think they work well together.
Discord keeps a searchable record of all your conversations, but the highly unstructured nature of chat makes it difficult to find those really important conversations. Which chat room was the conversation in? How long ago was it? Who was in the room at that time? Was it voice, was it video, was it typed? How do you find out?
Let’s say you offer developer tutorials to aspiring engineers. When your students are stuck on a bug or problem, they might need hands-on, in-the-moment help. That is best served by instantaneous chat – assuming you’re in the same time zone, and not asleep halfway across the world. But do your moderators and teachers want to answer the same questions over and over again, every day? Probably not!
Discord and Discourse are useful for different reasons — as your community’s short term and long term memory.
Discord is great for…
1. Minimum viable communities
Get two people in a channel and you have yourself the beginnings of a community! As long as there’s chatter on a regular basis, the server will appear lively and inviting. This is a proven onboarding strategy in the early days of a community, but it’s difficult to scale. The key is knowing when you’ve outgrown your initial approach.
2. Real-time resolutions
I need fresh eyes on this new video.
Help, I think I just broke something!
3. Urgent notifications
Voting closes in 5 minutes!
urgentemail just arrived, we better look at this quick!
While social chatter has a place on Discourse, it is the norm in chat. Social chatter occurs in every channel, not just the designated
#off-topicone. Given a little time, you won’t be able to avoid it: it’s about to get personal. Being present together in the same slice of time, the here and now, creates a more casual, intimate space for human connection. Forums seem more public, and sharing personal news may feel like broadcasting it to the world instead of telling your friends.
Discourse is great for…
1. Inclusive discussion
The asynchronous nature of Discourse effectively lowers the bar for including everyone in the conversation, no matter where in the world they are located. You’ll find greater diversity of input by soliciting feedback from your community when they’re free to give it – hours, days, or even weeks from now.
2. Thoughtful conversation
A slower, asynchronous communication style encourages walking away from the discussion for a while. Stepping away and thinking about a topic is scientifically proven to improve critical thinking and the quality of the response. Where chat can make every conversation seem urgent and in need of immediate response, taking the conversation at a slower pace allows you write a more thorough, more helpful post that can reach more people.
3. Large communities
For every chat community, there comes a day when the community grows so large that the conversations fall apart and the format of instant group messaging starts to lose its value. Discourse was built for large communities. It solves the “too many chefs” problem when scaling community. Hundreds or even thousands of people can simultaneously participate in discussions via Discourse:
Conversations are broken up into individual topics, making them browseable, searchable, and readable.
Long-form input is strongly encouraged over rapid-fire back-and-forth debating, increasing the thoughtfulness and enduring value of community interactions.
After 4 years of running a (11,000 member) public Slack community for @TryGhost — today we’ve decided to shut the whole thing down for good.— John O'Nolan 🏴☠️ (@JohnONolan) April 2, 2018
I’ve got a few interesting observations to share from the experience, and what we’re moving to now instead.
And so beginneth the thread:
Three years after moving to Discourse and with nearly ~6500 users, the Ghost Forums are active and easy to stay on top of. Users can catch up on each focused topic at their own pace, without having to dive into the middle of a boisterous, active chatroom.
4. Knowledge storage & distribution
The permanence of a Discourse topic makes it an excellent storage space for knowledge. If a conversation becomes outdated, you can resume the discussion after a gap of time and have two solutions in the same topic. Or you can close the topic and link it to another, newer discussion, or even make the post a wiki, so it is editable by all trusted users.
Discourse provides so many tools for keeping discussions organized:
- Accessible quick search and comprehensive, powerful advanced search
- Discussions organized by Categories, Tags, Titles, Participants, and Top
- Strictly linear, on-topic discussions with minimal digressions and noise
- Collaborative wiki-style editing with full revision history on every post
- Split, merge, and link discussions together as needed
- The ability to mark solutions as the official answer
5. Civilized discussion
Even when assisted by more moderators, bots, and increasingly powerful tools, real time chat moderation is incredibly challenging. Moderation is difficult to scale for fast-paced chat communities and can result in a sub-par experience for community members. Holding a message for moderation is frustrating to the community because they’re expecting live discussion. On a forum, the expectation is you’ll get a reply within a few hours or even days after posting. If your post gets flagged, it’s not as big of an issue.
Discourse empowers active community members to help moderate the community. Our trust system allows the community to build a natural immune system to defend itself from trolls, bad actors, and spammers. Trust levels also encourage the most engaged forum members to assist in the governance of their community. The easy flagging system puts a trash can on every street corner, so everyone can contribute in keeping your community safe and clean.
Moderation scales with your community because we’ve designed Discourse to be safe by default. Positive behaviors are encouraged through likes and badges, while negative behaviors are discouraged through flagging and community moderation. Discourse gently but consistently reminds members via just-in-time education on the universal rules of civilized discourse.
Discord and Discourse play well together
Discord is great as your short term memory, and Discourse is great as your long term memory. You can use either tool for all of those things, but it’s not ideal. We think you need both! If you’ve decided to use Discord and Discourse together, and you understand the role each tool plays, you’ll find they play quite well together!
Configure a seamless login experience
Logging in twice is tedious. Avoid that by using Discord to log in to Discourse. Once configured, the option will appear alongside other (optional) login methods for your Discourse:
Any member of your Discord community can now log into your Discourse instance with a single click.
Nudge longer term memories to Discourse
Community leaders should be empowered to enforce the standards for where and how communication takes place. For repeated questions (FAQs), you’ll have a handy library of forum topics that answer the most commonly asked questions, and you can start by redirecting the most common chat questions to the forum:
New user → How can I do X?
Helpful user → Good question! There’s already a topic on the forum about X, here it is!
Once the user visits the forum, they can take advantage of the handy built in browsing and searching tools to find related questions, answers, and discussions.
Next, have your team politely nudge ongoing discussions that can help other people toward your forum, where they will find a wider audience:
New user → I’m interested in Y.
Helpful user → We have an ongoing discussion about Y over at the forum, here it is!
If you’re having a chat conversation about something new, we recommend waiting for the conversation to play out before deciding what to do.
New user → What about Z?
Helpful user: → Interesting, we haven’t considered Z yet. Let’s brainstorm here in chat for a bit.
Once the chat discussion has reached a natural stopping point, it may be appropriate to post a summary of the discussion as a forum topic, such as:
- team members walking through a problem together and arriving at a solution
- deep conversation that will require multiple days or weeks of thought
- minutes of a meeting
Not everything needs to be in your long term memory, but everyone should be aware that both places exist, and that there is an established process for moving discussions to the proper place.
Feed highlights into Discord
You may want to periodically advertise the existence of your Discourse in Discord. One way to do this is to highlight interesting forum topics in Discord.
- Set up Discord notifications using the discourse-chat-integration plugin.
- Use Display Discourse RSS feed in Discord or set up a custom integration using our API, webhooks or RSS feeds.
We suggest cross posting only the major highlights, such as a few select categories/tags and the occasional manual curation. You don’t want to overwhelm your chat community with forum activity. Another possible idea is to create a separate forum channel to post all forum updates in one place.
Set up a Discord widget
This works both ways; you’ll want to advertise the existence of your Discord in Discourse as well! Try adding a Discord widget to your forum.
As long as everyone is aware of the strengths and weaknesses of chat, it’s yet another way to bring your community together.
Try it out
Our managed hosting service is the best way to try Discourse, but for private team collaboration, check out our new Discourse for Teams. If you’re comfortable with technical overhead of running your own instance, you can also install Discourse for free using our cloud installer.
For further reading, check out:
Today we release Discourse 2.7, building on Discourse 2.6 from last November. For post 2.0 releases we’ve chosen a new set of codenames based on the history of human communication; this release is Strowger and represents the invention of the telephone.
Dashboard New Feature Alert
Like all well-maintained open-source software, Discourse is always getting better! And now, at the top of your admin dashboard, we highlight any notable recent changes and improvements so you can check out our new features at your own pace.
Improved login and signup UX
One of the first things new users will see is the Login or Sign Up dialog, so we’ve given that a bit of a revamp in this release. It’s lighter, cleaner, friendlier — happier!
(We’ve also hidden a bit of an easter egg in this dialog. Can you find it?)
Overhauled Invite system
In tandem with Discourse for Teams, which relies heavily on invites, we’ve completely overhauled the invite system to be much simpler and easier to use.
Copying and pasting a link to invite someone to a Discourse has never been easier — the invite link shows up immediately! Additionally:
- invites can be scoped to a specific email address
- invites can be limited to a certain number of uses
- invites can expire on a certain date
- invites can be sent via email, with a note
- pending and redeemed invites are shown in chronological order on the invites tab of your user page
Remember you can always get to Invites via the “Share” button at the bottom of every topic… which we’ve also improved!
If you’re a staff member, you can access a comprehensive list of all your invites via the invites tab on your user profile, plus send bulk invites. For more on this complete overhaul, see the dedicated topic.
We’ve made the composer more reactive to what you’re doing. When you’re editing, you will see the edit pencil at the upper left. When you’re creating a new topic, you’ll see the plus, when you’re whispering, you’ll see the eye glyph, and so forth.
The Submit button also changes in a similar manner, so it’s crystal clear what will happen when you push the button.
(Oh, and we also turned collapse/expand of the preview into a simple glyph to keep things tidy.)
Simpler Poll Building
We belatedly realized our poll building interface had become quite complex. In this release, we’ve made basic poll building a radically simpler affair.
All those awesome advanced poll options are still there, don’t worry — they are behind the gear button.
Automatic links to headers in posts
For those longer posts where you use Markdown headers (starting a line with
# Heading 1,
## Heading 2,
### Heading 3, and so on) those headers now automagically become link targets, like so:
(If you are on a mouse-capable device, hover your mouse over the header to see the link icon appear; if you are on a touch device, touch the header instead.)
These links will be automatically named using the header title text, so per the above example, the link is
This way you can link people directly to relevant sections of longer posts.
Do not Disturb (experimental)
We’ve added an experimental Do Not Disturb mode, for those times when you want to take a short break from active discussions.
Look for it under the user icon in your user drop-down at the upper right. This feature is still in development, so we may further enhance it in the future.
(As an aside, one way to enable “do not disturb” on any Discourse site is to turn off all email notifications via your user preferences. That way you only interact with a site when you choose to visit there.)
Remember bookmark timers in the previous release? If not, be sure to set a bookmark reminder so you do remember it next time! Anyway, we’ve updated topic timers so they take advantage of the same excellent interface:
Topic timers are super flexible and allow you to do lots of interesting time-related tasks with topics, such as auto-close, auto-open, auto-delete, auto-delete replies (mostly useful for wiki topics), auto-bump, timed publishing to a specific category, and more.
We’ve also added relative time support, so you quickly specify “close this topic 3 days from now” without needing to look at a calendar.
And So Much More!
Every Discourse release is packed to the brim with fun and useful enhancements; if we covered each and every improvement, this post would be so long nobody would read it all! 🤣 That said, here are a few other fun things of note:
Trying to remember a particular topic you know you visited recently, even if you didn’t post a reply there? Your read history is now visible on your user profile.
You may be familiar with Discourse Oneboxing, where you paste a link on a line by itself and it expands to provide useful context and a summary of the link. Well, we’ve improved oneboxing so it provides better dynamic feedback in the editor when things aren’t right on the target site — and we’ve also enabled inline oneboxing. When a link isn’t on a line by itself, it will still update to use the title of the target webpage as the link target rather than a bare hyperlink. So instead of https://example.com you’ll see Example Domain … try it out!
Bulk actions can now be performed on PMs as well as regular topics.
Watched words can now auto-tag, and auto-replace certain words with other words.
We now support Sign in with Apple via an official plugin, but bear in mind you’ll need a paid Apple developer account for this to work on your site.
Slow Mode is no longer an experimental feature; it has been enhanced based on feedback from several busy Discourse sites using challenging discussions, and is now ready for action! Enable Slow Mode via the topic admin wrench and let us know how it works for you, too.
If you’ve enabled account approval, accounts that aren’t approved can optionally get notified via email with a rationale as to why their account was not approved.
The “this site has been updated” notice has been demoted from an in-your-face modal to a much gentler banner at the top of the page. Feel free to update more regularly without disturbing your users!
You can pin especially important bookmarks to the top of your bookmark page. 🔖
At last, you can pause animated GIFs by clicking on them!
We continue to work on accessibility enhancements and there are many accessibility improvements in this release… with more to come!
Easy One Click Upgrade
If you are on our hosting, you’re already upgraded. Otherwise, upgrading is as easy as clicking the Update button linked from your Discourse dashboard.
We have a public exploit bounty program at Hacker One as a part of our security policy. It is one of our strongest beliefs that every Discourse site should be secure by default. We prioritize and thoroughly investigate any security issues reported to us. As expected, there are a few important security fixes in this release, so we encourage everyone to upgrade as soon as they can.
If you don’t have a Discourse to upgrade, why not? Install it yourself in under 30 minutes, or start an absolutely free, no strings attached 14-day hosting trial today!
First and foremost, a huge thanks to our customers. It’s because of your direct financial support that this project exists and is available to the world; we’re honored to be your partner on this open source project that, we hope, makes your day just a little bit brighter, in some small way.
Discourse relies on outside contributors to be a healthy, functioning open source project! Our sincerest thanks for code contributions in this release from:
Ahmedgagan, Qursch, ermolaev, pfaffman, mikepack, odlp, xronos-i-am, benlangfeld, angusmcleod, merefield, fzngagan, graydenshand, jorgeassuncao, schungx, kvokka, samamorgan, ryantm, paresy, webdirektindia, harirajv, ruidovisual, amanintech, brianbonk, chalkadmin, radek3911, afdy, melhosseiny, danymajeed, SystemZ, ka8725, talyz, graudeejs, ball-hayden, booleanbetrayal, blackjid, ukdave, haines, cyphermox, ggurbet, Fryguy, gogainda, Flink, babayotakun, simbleau, yaegashi, sbernhard, akshay-birajdar, jonatasdaniel, Carmer, jlosito, fgambino, Bmorrical, johnsonm, godmar, iamricard, tomscytale, 1resu, renato, ByteHamster, lhkjacky, nachocab, tisonkun, jessicah, wilson29thid, jsoref, pilou-.
Many thanks to the translators who generously contributed their time and effort translating Discourse into dozens of languages for this release. In this release, and for all future releases, we’re adding professional translation on top of those efforts to make sure all our translations are of the highest quality.
We’ve come so far since version 1.0 in 2014, and yet there are still so many features and improvements we’re excited to get to! To see what’s coming for future versions of Discourse, visit the releases category — we’ll get there together! 👋
It’s been a long, long time since we wrote about growing our team to 20. The last few years have been good to us and as a result, we’ve grown steadily and have also continued giving back to open source wherever possible. You might have heard of the new arrivals if you frequent the Discourse Meta, but here’s a list anyway.
Meet the rest of the team!
- Daniela Bogazzi - Technical Advocate
- Kyle Mitchell - Lawyer
- Jeff Wong - Software Engineer
- Johani Faris Saeed - Designer
- Ginevra Brown - Community Accounts Specialist
- David Taylor - Software Engineer
- Rishabh Nambiar - Community Team Lead
- Bianca Nenciu - Software Engineer
- Penar Musaraj - Software Engineer
- Saj Goonatilleke - Operations Engineer
- Dan Ungureanu - Software Engineer
- Taylor Henry - Technical Advocate
- Roman Rizzi - Software Engineer
- Justin DiRose - Technical Advocate
- Daniel Waterworth - Software Engineer
- Jarek Radosz - Software Engineer
- Kris Kotlarek - Software Engineer
- Mark VanLandingham - Software Engineer
- Martin Brennan - Software Engineer
- Osioke Itseuwa - Community Advocate
- Will Chau - Customer Success Manager
- Jordan Vidrine - Designer
- Kane York - Software Engineer
- Michelle Vendrame - Technical Advocate
- Tobias Eigen - Teams Product Manager
- Jamie Wilson - Software Engineer
- Michael Fitz-Payne - Operations Engineer
- Osama Sayegh - Software Engineer
- Blake Sorrell - Customer Success Manager
- Eleni Michalaki - Operations Engineer
- Andrei Prigorshnev - Software Engineer
- Alex Reed - Administrative Assistant
While it’s not a prerequisite, it’s clear we love to hire from our community. To read more about each member (ft. glorious drawings) and working with us, check out discourse.org/team.
We’re a fully remote company, working from 19 different countries and 15 different timezones, but does that make you wonder how we coordinate our work?
That’s right, we use Discourse as our primary team coordination tool to build Discourse! As it excels at asynchronous, distributed teamwork, we can keep interruptions like instant messaging, calls, and meetings to a minimum. If that approach sounds interesting, don’t forget to try Discourse for Teams.
Here’s to…the future of Discourse and to our community 🍻