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

I completely agree that we should not aim to insert ourselves into 1. We are not Kickstarter or GitHub and have no plans to be something like that. Though there is an open question about embedded discussion which I do not think we need to grapple with.

However, I feel there are enormous amounts of parallels between us and Slack and would much prefer an integrated solution to 2 separate solutions.

I agree that chat should not go in core for a while longer, but core should facilitate chat.

Slack’s meteoric rise is a very important lesson. It is important to remember, it was launched when there were an enormous amount of existing solutions for the exact same problem.

Campfire and HipChat predated Slack by a few years, yet failed miserably in comparison. Slack entered a completely saturated market that was not making much money and created an enormously profitable product.

This was done not by using Magic :unicorn:s

  • They had the best UI, period.

  • They had the best in class, viral marketing campaign I have seen in many years. When Slack came out people were fatigued by chat solutions, at Discourse we had already left HipChat and were using Kato. In this fatigued market you had hoards of people saying … “I am bored with chat” … “Oh, but have you seen Slack, it is really cool” … people were clamouring to get on the beta.

  • They kept refining the product, correctly and in a fast enough rate. HipChat was stagnant for over a year, Campfire was stagnant for many years. The product managers for both HipChat and Campfire simply “got it wrong”. What the market wanted was a great UI and a product that evolves. We waited a year on HipChat to grant the “privilege” of editing a typo. Emojis… Oneboxes … forget about those.

  • They sold the product … This is kind of obvious, but an interesting thing is that Stack Exchange had a public chat product that was launched more than 2 years prior to Slack and was vastly superior to all the other web chat programs around at the time. 2 years later HipChat was no where near being able to catch up with it. Still today there are quite a few feature Stack Exchange chat has that are missing from Slack. Even today on Slack it is complicated to reply to an old message, for example.

  • They embraced the web, and built a unique and consistent cross platform solutions.


From the early days of Discourse we always kept chat in the back of our minds. We considered “Chat” / “Buying and Selling” / “Questions and Answers” as different flavours of discussion. We have always been a bit reticent to deal with the “Chat” problem cause “Chat” is the Crack Cocaine of web discussion :syringe:. Civilized chat is only doable in very controlled groups. Even in small groups chat tends to bring out the worst in us. It encourages short and raw communication. You don’t have time to refine an argument when you got to keep filling the white box and hitting ENTER

That said, there are just so many parallels between what we do and Chat.

  • We support a very rich security model to facilitate proper groupings of people
  • We have the message bus that gives us live updates
  • We have a very rich Markdown engine
  • We have a great system for community flagging
  • We have bookmarks, replies, quotes
  • We have a pretty good search

The only feature that is missing from core to allow for a clean chat plugin is “presence” aka… “Who is here and who is typing”

Except for that, well, we are chat. To make us behave more like chat we simply need a different UI as the 2 existing chat plugins show.

Personally, I feel quite uneasy that so much of the world is so comfortable moving all their internal communications to a walled garden where you have to pay minimum of $12 a month per user for the right to export your data. This is a huge step back from where we were with Email.

I also notice so many of our smaller trials struggle to seed a community, chat let’s you blaze through the early days, it is perfect for small groups of people engaging in unstructured conversation.

When it comes to “integrating” chat I see a few directions I would like to explore:

  1. A richer messaging system. Messages can act like chat a lot of the time, they often involve rapid and somewhat raw conversation that are unfocused. It is a balancing act, cause it could be very onerous to be forced into chat with everyone the messages you. That said, in many cases chat can be perfect.

  2. A distinct chat UI that ships as a plugin. I feel a lot of the fear of chat is having it infect a forum with unwanted features. Trying to jam chat into a site can feel very forced. A full screen Slack like chat UI could easily act as a compliment without forcing its way into the forum UI. The big advantage here is that so many of the features are shared and there is lots of value in having a single integrated notification stream. Also, another great thing that can be achieved with this is allowing people to cleanly “break out of chat”, select a few messages and turn them into a proper topic.

I am less enthused about shoutbox like UIs. One may argue that a “shoutbox” is a perfect fit for moderators, I personally think it has little advantage over moderators having another “chat” page open, especially since notifications would easily pull them into the chat UI.

With all of this type of work we have to be very careful about timing and not spreading ourselves too thin. That said, we are thinking about this stuff and how to make some progress this year.

40 Likes