Discourse and Slack (or other group chat apps like IRC, HipChat, Gitter, etc)

Prepare yourselves for some weekend reading!

This is spot-on, and I consider this to be the key differentiator between the two. On the one hand you have the ephemeral content of a chat, and on the other you have varying types of perennial content. (grab your thesaurus and suggest something better if you’d like).

Ephemeral content has greater social impact

A few select forums develop a culture that transcends their common subject matter. Their “Off-topic Discussions” category might be the most active one of them all, with members talking directly to one another, sharing the kinds of things they’d share on a traditional social network.

While this is a rare occurrence on a forum, this is the norm in chat. Give it a little time and I assure you, it’s about to get personal. There’s something about sharing that moment, being together in the now, that lends itself to Getting Real. Getting personal on a forum feels more like broadcasting, made even weirder by metrics (Likes, Replies, View) that can unintentionally imply that my piece of personal news didn’t “perform” as well as someone else’s.

From a data perspective, chat exchanges such as “Holy sh** I just became a dad!”, “where’s our invoice template again?” and “I need fresh eyes on this weird query” are entirely disposable in the long term. But used right (stating the obvious here), the value cannot be understated.

Perennial content has greater historical impact

If you add a new member to a 10-person team, there’s no way you can tell that person:

“Getting caught up is really simple, just look at the chatlogs for the past 30 days!”

Content posted to a forum on the other hand is expected to stand the test of time. Not usually in perpetuity like a static doc page - which is at the very end of the “perennial content” spectrum - but for the foreseeable future. You put in there any type of content that you expect you’ll refer back to at least once.

Here, in the case of adding a new member to your team, you can actually tell that person to check out the last 30 days worth of forum posts. Even at 200 topics, it’s remarkably easy in Discourse to skim through these and quickly figure out which ones pertain to you based on:

  • Categories
  • Titles
  • Participants
  • Top rankings
  • Strictly linear discussions in the topics you do check out.

Choosing the right communication stack

I think most projects benefit from a combination of ephemeral and perennial discussion platforms – that’s the real e-mail killer right there. However, there’s more diversity across the perennial platform stack, and that’s where I think forums are currently facing a greater challenge than chat. GitHub Issues, Kickstarter Campaign, Meetup, Google Groups, even StackOverflow tags; these are all perfectly viable discussion platforms for a small project.

Let’s take GitHub Issues for example

GitHub Issues might feel a bit awkward for longer discussions, but it gets the job done and it’ll take a lot of these discussions before you start seriously considering adding another piece to your communication stack. Add too many ways for users to open a dialogue with you and many prospective users won’t bother trying to figure out the right place to post.

So while Discourse only comes into play at a larger scale, GitHub Issues is immediately useful with 2 or more people, and it’s very low-commitment since it comes bundled with the Git repository you’re already using. I don’t see any reason nor way for the likes of Discourse to impose on this space.

The pitfalls of chat for discussions at scale

Similar to an issue tracker, chat scales all the way down to 2 people, but becomes somewhat unwieldy when you scale up into the tens of thousands, which is where Discourse excels. Specialised platforms like GitHub Issues fail to support discussions at scale because, well, they’re specialised for other things. The same goes for chat really, but since the distinction here seems more muddled for end users, I’ll elaborate.

  • Chat is not good at accommodating global discussions carried across multiple time zones
  • Chat only supports one primary topic at a time per channel, as opposed to discussions happening asynchronously
  • Chat is non-linear, which is poorly suited for troubleshooting that doesn’t culminate in a solution shortly after the problem is presented.
  • Chat discussions are difficult to leave and come back to because you have to time it just right for the discussion to pick up momentum again.
  • Chat is not very outward facing. It doesn’t produce link-able content or best-of aggregations. When’s the last time you heard of a chat “going viral”?

Natural growth rate of a distributed team’s communication stack

I think most digital collaborations should and do follow this model:

  1. You’ll start off with mostly perennial content, spearheaded by a platform specifically geared towards your line of work & strategy.

    • GitHub/GitLab/BitBucket
    • Email
    • ArtStation/DeviantArt
  2. If your initial prototype (by words, code, pictures etc) gets traction you’ll need to facilitate more effective coordination with your closest collaborators/users/peers by adding ephemeral discussions to the mix.

    • Slack/HipChat/Gitter/Mattermost
    • Hangouts/Skype
  3. Your project becomes popular to a point where you need to support discussions at scale.

    • Discourse / NodeBB / Vanilla
    • Mailing lists / Google Groups (I tend to advise against the big G here, because they don’t provide a sane export option)

I don’t see Discourse effectively inserting itself into step 1 or 2, nor should it try to. I’m fine with only being relevant at a certain scale.

edit: We should and will insert ourselves into Step 2! And in doing so we’ll inevitably be creeping into Step 1 a bit as well.

24 Likes