70 %
Chris Biscardi

Why use Discord for open communities

We use Discord as the realtime community space for the Party Corgi Network.

Why Discord?

Discord is the platform I would suggest for anyone starting an open community that is looking for a chat-like application to host that community. Here I go through an incomplete list that represents why I suggest using Discord, how Discord supports people's agency (especially around who they want to interact with and when), and more.

  • A block button
  • Role Based Access Control (RBAC)
  • Lightweight join flow
  • DMs aren't "recorded"
  • Voice channels
  • Misc

Blocking

Blocking is a really important thing to have in an open community especially if (as a member of that community) you don't have the power to kick someone yourself. If something goes wrong, Discord allows blocking on the personal level, as well as kicking and banning from the server itself. With RBAC, you can prevent someone from having access to particular channels.

You can also mute or deafen yourself or other people (from your own perspective) in a voice channel. Moderators or those with server-wide permissions can mute or deafen people for the entire server as well. Finally, moderators can disconnect someone from a voice channel.

Role Based Access Control

There is rich RBAC integration for just about anything you can do in Discord, from allowing text-to-speech to the ability to see or interact with specific channels. We can disable features like @everyone and @here or give specific people access to change channel descriptions, etc.

Join flow

To join a Discord server all you have to do is click a link. For non-boosted servers this link can be created to go to a particular channel. For boosted servers you get a vanity URL such as discord.gg/partycorgi. Unlike some other options (as discussed below), you don't have to set up a new password for every new server you participate in.

DM's aren't "recorded"

As an open community we don't "own" the platform, which means that if people need space to talk without the mods "listening in", they can use Discord's DM feature and be sure that they're only talking to the people in the conversation. Other platforms (like Slack) allow the owners to get the text content of all communication. This is an important note of agency and consent: There is no way for Discord server owners to look at or use your private messages without being given those communications. The default stance matters.

Voice Channels

In Discord, voice channels are the location for true realtime interactions (as opposed to the soft-realtime of text chat). Voice channels allow screen sharing, audio, and webcams on a granular level. Multiple people can screenshare at any given time. By default it is "audio only" and you can mute or deafen yourself and other people, such as if someone comes in with a horrific microphone screech. Mods can mute or deafen people for the entire server if there's a problem as well.

Misc

Stuff that is useful, but not really a deal breaker either way.

  • Code highlighting
  • Vanity invite URL (discord.gg/partycorgi)
  • Per-channel muting/notification settings
  • A web app presence (in addition to native apps)

Why don't you use X?

Slack

Slack is well-known for being hostile to large open communities. This has led other communities like Reactiflux to ditch Slack for Discord. This, to me, is reason enough to prefer Discord over Slack, but there are more reasons.

Slack doesn't have a block button. If a member of the community feels uncomfortable in any way, they have no recourse but to deal with it or leave the Slack group.

We appreciate that balancing communication can be tricky. That said, a block or mute feature just doesn't work in the context of co-workers in a collaborative team. - @slackhq

A 10k message history limit is too constricting for an even moderately successful open community. Pings can disappear, and channels you aren't in are counted against your ability to view messages from channels you are in.

Members can send unlimited messages in Slack, but only the most recent 10,000 can be searched and viewed in your workspace. Keep in mind that you'll only be able to see messages in public channels, private channels you belong to, and your direct messages when searching. - https://slack.com/help/articles/115002422943-Message-file-and-app-limits-on-the-free-version-of-Slack#:~:text=Message%20visibility%20limit,your%20direct%20messages%20when%20searching.

Mattermost

I don't want to spend my time hosting software, I want to spend my time working on the community itself.

Spectrum/Zulip/Twist

Spectrum has never worked out in any of the cases I've seen it used for various reasons. Having been acquired by GitHub I also don't see it growing much. Zulip and Twist are interesting but don't really fulfill the realtime space and are "nonstandard" solutions which means a higher barrier to entry for members of the community. Being the only group in "X app" means a higher bar to participation as well.


What could Discord do better?

Threads

I won't pretend to have done the research on how Discord should integrate threads into its future product plans. I'm pretty sure this gets brought up plenty.

The problem for us is that people feel like a conversation that happened some time ago is "no longer active" and this is a barrier that prevents them from participating. This is a common problem in more-active channels and with less-experienced Discord/IRC/single-scrolling-log style chat users.

Quotes

Linking to messages is cool, but it would be nice if the quote mechanism was a bit more integrated such that a link to a message would unfurl in-place a bit.

Channel Activity

As the Party Corgi Network grows, we're running into more and more activity in certain channels. Breaking these channels down doesn't always make sense and it's a constant decision between the problem of "too many channels and thus is intimidating" vs "too much activity in this channel and thus is intimidating". I think that over the longer time horizon the Discord will grow and organize itself into sub-groups over time. Maybe these sub-groups get their own channel groupings. Maybe we add a Twist or other platform to the mix as well. I don't know yet.