Using Discourse instead of Slack for the community

Premise

The heavy use of the Elm Slack-Channel is a problem to the discoverability of knowledge about the Elm programming language and to the visibility of the community.

What

There are two discussions about replacing Slack:

Elm's Slack logback is failling the community and Slack Alternatives and Mozilla

In my opinion both discussions drift towards the wrong goal, which is replacing a chat solution with a chat solution. Slack is just fine for chit chat. It’s just not as good for discoverability and search engines or to have a solid, asynchronous discussion.

I’ve found it funny that the discussions about a Slack replacement happened on this platform which would be an ideal replacement for the topics that are currently discussed in chat.

Maybe the best way to go about it is the way the Elixir community is doing it: trying our best to direct new users to the forum, instead of Slack.

Why

When I first started using Elm I was a little overwhelmed with everything that was going on in Slack. It seemed daunting to even ask a question in between all the questions that came flying in. And to be honest: it still is :smiley:

Also, as already stated: search indexing. It is a huge benefit to have as much knowledge indexed as possible.

Additionally Discourse was built with moderation capabilities in mind which seem to align well with the civility goals of the community.

Last but not least: we’re already using this software.

How

The things that needs to be discussed are how to structure the forum to make it easier for folks to find topics of interest and how to route people here instead of to other communities that currently run in parallel.

As a basis for discussion, I’d like to propose some categories (based on the Elm-Slack and the Elixir forum):

  • News (announcements, upgrades, proposals / rfc’s)
  • Questions / Help
  • Libraries / Tools (announcing and discussing Elm packages and tools)
  • Policies (for the forum, could contain the code of conduct and similar resources)
  • Community (showcases, links, events, conferences, meetups)
  • Jobs (dev-profiles and offers)
  • Members only (topics that are not necessarily needed or wanted to be indexed)

Please feel free to close this if you (as in the core team) have already made up you mind about this. Then I simply missed it.

11 Likes

Related: What categories should we have? or should we not have?

1 Like

Forums have been around for very long and have been successfully used—and with a huge number of users actively posting as well. I’m 100% on board with a switch like this.

A combination of a forum + IRC (or even a shoutbox :wink:) has been common pairing as well, with both serving different purposes. The forum has been the primary source, in my experience. IRC was usually used for coordination attempts/genuine real-time conversations.

Forums allow for easier presentation as well, and can promote more thought-out posts (or at least initial posts).

Slack is business with shareholders. Where do their true goals align? With recent WYSIWYG editor changes, they’ve demonstrated (again), a sort of tone-deafness to technical users like our selves.

1 Like

Personally I feel like discourse is far more… “formal”. Let me try to explain.

Let’s say I’m working on a project. While I’m in development, I would look at slack for help, as I know that people will either help me immediately or not at all.

Then my project gets to some testing phase where I’m just reformatting code, looking for bugs and so on. In that state I’ve got something to show, but it could still be better. Here I typically post on reddit, and let them play around with the thing I’ve made.

Once its done, the last step is to think about how I want to structure a post on discourse about that topic. Are there any other projects that have done the same thing? Is there maybe some underlying questing/problem can I have solved here? Should I go the extra mile and abstract some part of the project into its own library?
And once I’ve got something that I know is as good as it will get, only then I post to discourse.

2 Likes

If I see something interesting on Slack, I will often open a discussion about it here. With the aim of having the conversation a bit more in depth and at a slower pace, and also to preserve it so it can be found again.

3 Likes

Another good example of the use of Discourse is the Manjaro forum. This is also a good example of using both categories (and subcategories) and tags.

While I understand your frustration, I think we should stay on topic here. The argument I’m trying to make is that the used chit chat solution should not matter at all.

That is good but not really effective, since I cannot imagine that many people are doing it. Also: some topic that is not interesting to you might very well be interesting to a beginner or someone else who then have barely a chance of discovering it :slight_smile:


I think, I understand the point you’re making. But let me reverse this argument, because that’s exactly the problem I see. Now we have information on one topic scattered over three platforms, maybe four if you also asked a StackOverflow question in between.

The task that we face would be to change the perception of this forum in a way that members of the community, such as youself, perceive it as a great, welcoming place to ask their questions.

@brian I’m tagging you because I want to avoid a long and heated discussion while the admins have probably already thought about this issue.

In What categories should we have? or should we not have? you already discussed a large part of this topic and I’m sorry I did not find it before opening this thread.

Anyhow: maybe it’s time to revisit the conclusions you came to back then, given the arguments in the first post.

If you feel that this is not the case, please close this topic in order to prevent pointless discussions. Thanks :slight_smile:

To start off, thank you for thinking about this and raising these points! It’s useful for me to hear about ways people think that online Elm spaces could work better.

I appreciate the ping, but this looks pretty civil at the moment! Let me try and contribute my perspective… fair warning, I have a lot of thoughts about this. :joy:

To sum up:

  • I think intent-based categories are better than a hierarchy as suggested in the top post here. If you think the current categories are inadequate for your needs, I’d like to hear what intents you think they do not capture.
  • We could do a better job of making information discoverable… but I don’t think “have search” is the full answer. I don’t have an easy answer for this right now, but the future is exciting.
  • The core team knows about a lot of these pain points and wants to fix them, but are waiting to get data from the upcoming Georgia Tech study of the community so we can design solutions with everyone’s needs in mind. :slight_smile:

On Categories

First, I am not sure about structuring this forum into hierarchical categories instead of intent-based ones. I do not post on a forum with the intent of “writing a document” or “defining a policy.” If I want to do those things I will use my blog, a git repo, a document collaboration platform, etc. Since we are having discussions here, our categories reflect various intents for posting:

  • Learn: I have a question or want context around a particular technical decision.
  • Request Feedback: I have made something (a collection of thoughts, a blog post, a package) and want people’s feedback on it.
  • Show & Tell: I made a thing and I think it’s pretty great! My intent is to share, not solicit feedback, but I may be open to further questions/comments.

Here is how I think your suggested categories fit into the current category structure:

Suggestion Current Category
News (announcements, upgrades) Show & Tell
News (proposals, RFCs) Request Feedback
Questions / Help Learn or Request Feedback
Policies There is a private category for code of conduct and the help templates. It is not really a good place for discussion since the posts here have special meaning to the Discourse server. Questions about policy are better in Learn or Request Feedback. Creating a separate public category for policies mixes discussion and documentation in a way I can’t see working well.
Community Show & Tell
Jobs Show & Tell
Members only No current category, but you’d still be able to find stuff in this category using Discourse search. Is that really better than being able to search on Google? It would also prevent newcomers from seeing useful information until they sign up, but would not necessarily communicate that there is more information available if they do. I’m not convinced this is a good idea, overall.

I have not found a lot of discussions which we want to have here which are not covered by the current categories. We notably do not include categories that capture intents like “I want to have a debate about current world events”—a lot of things we could discuss on a forum like this are a huge hassle to moderate well, so we choose to limit discussion to protect moderator time.

That said, I recognize that it takes a certain level of bravery to write something you think is good enough for Learn or Request Feedback. Nobody likes looking dumb in public when the solution to their question is “obvious.” @Lucas_Payr, is this part of what you mean by “formality?” I notice that our categories line up pretty closely to your Slack/Reddit/Discourse trio otherwise.

On Searchability

We’ve talked about searchability/persistence as a solution for discoverability/learning a few times now. For me, It’s useful to be able to search old discussions, but I think we can do better for learning. Basically it boils down to this: a conversation is not necessarily good guidance, but it can be made into good guidance with some editing.

I would rather see us write up answers to common questions, summarize discussions, etc than relying on a discussion platform for this. I very much prefer blogs and documentation to discussions for finding information. Among other things, they’re easier to digest (since you’re writing to document instead of to discuss) and easier to update when new information becomes available. Plus, you have to read/understand the whole context behind the conversation to get the most out of a discussion platform—that is not necessarily true of other forms of docs.

Buuuuuuut, this is hard work, and it doesn’t currently have a great place to live in Elm spaces. There is some prior art (like the elm-community Elm FAQ) but I would like to see a lot more of this. I’m particularly interested in things like the DEV roadmap for distribution!

On People

Finally, people want different things—that’s fine! I am sad that you feel overwhelmed by Slack, and I would like to fix that for you. I have also heard from beginners who do not want their “naive” or “dumb” questions indexed and so would prefer to use something more ephemeral. Holding both these things in mind, I don’t think we’re going to make sweeping changes to move all discussions to Discourse right now. That said, if you want to use Discourse as your primary way to interact with the Elm community, please feel free!

1 Like

The Discourse team who develop this forum software use it with Slack so there are several relevant discussions there for those who are interested.

In overview, they have:

  • a public-facing Discourse forum at meta.discourse.org
  • a private internal Discourse forum for managing task assignments that also integrates with GitHub
  • Slack for issues requiring immediate attention and ephemeral chat that won’t matter tomorrow. It is not used to keep anything for posterity.

Important features are provided by integration plug-ins for Discourse, e.g.:

A blog post about the many development communities using Discourse:

There is discussion of these issues with Slack at Feverbee, a forum for community forum professionals, e.g.

Which led to this discussion at Discourse:

FYI, I’ve been reading here because a programmer suggested using Elm for a project next year. I’m sceptical but he’s real enthusiastic. For my part, I’m an enthusiastic user of Discourse and have already setup our development and support forum using Discourse. We will be looking to integrate with chat/instant messaging when we start developing.

3 Likes

Yes, that’s exactly it. Though, I’m not quite sure why. Maybe something similar to Reddits Weekly Beginner Thread would be a first ice-breaker.

@Remah wow! :heart_eyes_cat: thank you for a all of these links. I will read them with great interest!

@Lucas_Payr do you have any ideas off the top of your head how we could get that welcoming feeling here on Discourse?

In my opinion, discourse is brilliant, and slack is mostly a waste of time (I don’t use it at all, for anything, any more)

So I’m strongly in favour of discourse

2 Likes

do you have any ideas off the top of your head how we could get that welcoming feeling here on Discourse?

I think it may not be possible get it to feel as easy to post on Discourse as on Slack.

As an analogy, Twitter and Tumblr and a blog all engender different kinds of posts. You can technically restrict yourself to tweet-sized posts on Tumblr or a normal blog. But it feels different because a blog feels like a different type of conversation.

I think Slack feels a little more informal specifically because chats feel like bigger, messier conversations, and intruding into a big, messy conversation is usually going to feel like less of a big deal than making a Capital-P Post somewhere (e.g. Discourse or any forum-style conversation).

My feeling is: both is good, but Slack would (I think) benefit from a Slackbot that encourages people to post a question and its answer on Stack Overflow for posterity if they say something like “Thanks, that answered my question!” or similar.

4 Likes

This is a really good idea, the mechanisms are already in place for this too.

I use both Slack and Discourse. For me, they fulfill different functions. My most important use of Slack has been to get help. It is very, very good for that. I was a rank beginner three years ago and could never have gotten to where I am now without the generous, thoughtful, quick, and expert help that I got on Slack. Even now, though I am much more experienced, Slack is where I go when I am blocked. I also pick up lots of random bits of information there, mostly from news-and-linksand packages, but also from other channels on occasion. Bottom line: while Slack does not fulfill all needs it fulfills others superbly. I view Discourse and Slack as complementary, both valuable.

3 Likes

You are right: there current categories cover a lot. I don’t think it is about coverage, though. Exhibit (a) :smiley: :

In Slack, the conversations are currently much more “topic driven” and much less driven by “intention” (at least that’s how most people I know use it). That’s what I based the initial suggestion upon.

So I would argue that, while clever and thoughful, the current categories have to be learned and don’t provide much predefined structure. For example I had to read the whole discussion you had about the categories to understand your intention.

That’s not necessarily bad though: maybe we can transport it by better communicating our intentions for this forum.

Last but not least, for this part of the discussion: I think the form and shape of categories doesn’t matter all that much. I think the much more important question is how we want to assign our resources as a community:

Agreed! But that is also precisely what makes Slack such an unfortunate choice: one person got help and everyone else with the same question has to ask it again because it’s not discoverable.

We also have a fairly active reddit community and there are some questions and answers on StackOverflow. So we have at least 4 different places where the community meets all for subtly different cases and one is completely non-searchable.

I’d like to change that to prevent our resources from spreading thin.

The main issue though is:

This is imho just a communications issue. If we, as a community, agreed to communicate in a certain, well defined way these feelings would probably be eased.

If you were completely new to the community I bet you got to Slack because that was the “preferred path” into the community. And by preferred, I mean: it was on top of that list: https://elm-lang.org/community :smiley: I know that that was the way it went for me :slight_smile:


But, as a resume after reading all your thoughts and opinions, I think it would be huge effort to change our communication strategies and that the time and energy is probably better invested somewhere else at the moment.

Thanks for all the input, your points of view and the discussion. :heart:

2 Likes

I think that part should be rewritten. I mean these places are all for communication, but Slack is not a forum, Not sure about Reddit (I don’t use that site), but twitter and meetups are also not really forums. There’s only one forum, the others are other forms of communication which should be specified what they are for and how they work.

One possible alternative to this is to replace Slack with Discord. Discord has no limit on how far you can look back with it. I think it’s more open source friendly https://discordapp.com/open-source, although it’s not open-source itself.

On a meta-level, but less relevant its built with more interesting technology of Elixir and Rust (https://en.wikipedia.org/wiki/Discord_(software)) rather than the PHP that Slack is built on.

Discord is completely unusable with many users as it has no threading - all conversations must be on channel, which quickly becomes unmanageable when there are many conversations going on.

2 Likes