Using Discourse instead of Slack for the community

@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!

2 Likes

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.

4 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.

3 Likes

I’ll state it again, as it’s important: this is not really an issue of the used chat tool. The problems I discribed persist because of the chat format and its more closed nature.

This doesn’t change if you use Discord, Mattermost, Slack, RocketChat, IRC, XMPP, Matrix or WhatsApp. The problem is to focus on chat as a community priority in the first place, imho.

1 Like

I can’t agree more. While the Elm slack is super helpful (really amazing), i also like to be able explore google and stack overflow on problems i encounter. It is what i do for other languages and platforms. But for Elm, it doesn’t work.

It makes Elm look insignificant.

2 Likes

Some reflections in the hope that it adds value to this topic:

  • There’s something to be said for the immediacy of chat. For example, when you’re blocked you want to get unblocked ASAP, and the perceived average response time is higher for chat. What is the average response time here on discourse? Is it high? If it is maybe that’s something we want to highlight?
  • Average response time for a search engine is even higher, so making Elm more searchable should probably be something to strive towards. Googleability (insert your preferred search engine…) is a factor in choosing tech for some teams.
  • Would it be possible to persist chat logs publicly so they become searchable? There are public tools for this, e.g. https://github.com/srid/Taut
  • I really like the idea of the Reddit weekly beginners thread as a way to invite people to take part. And I see no real reason why discourse couldn’t adopt this, perhaps run an experiment? (If inclusivity is actually a problem…?)
  • There is a slack integration for Discourse that would allow sending conversations directly to discourse. Security considerations probably apply but it may be worth looking into. I think there is something similar for stack overflow.

Data points:

  • #jobs on slack gives me insight into who/where Elm is being used. It sucks at persisting job postings over time however. There is no overlap with discourse currently since jobs aren’t posted here afaik.
  • #news-and-links is nice for tracking what’s happening, much like an rss feed. There is some overlap with discourse.
  • Specific channels such as #elm-ui, #elm-with-elixir, #sweden and similar allow me to track certain topics or regional areas (in other languages than English), that I’m interested in. As far as I know I cannot get the same “filtering” in discourse with the current intents, I must rely on each poster to include sufficient data in their topic. Honestly I don’t know if that’s an issue though. There is support for tags in discourse which could help.
1 Like

@stoft is this something you’d be willing to do the work to find out? Even a little insight would be helpful in knowing where to dig further to make improvements.

Unfortunately the only time I have is during my commute, so very restricted. There is a data explorer plugin for Discourse that may be able to give us more data: https://meta.discourse.org/t/what-cool-data-explorer-queries-have-you-come-up-with/43516

And here: https://meta.discourse.org/t/time-to-response/120808/4

1 Like

In Discourse you can make a category not publicly accessible. On the other hand you can’t make a Slack channel public.

1 Like