Thoughts from the Elm community on Intentional Communication

(Jeff Atwood) #1

Fantastic talk by Evan Czaplicki from the Elm language community based on their experience on reddit and on their own Discourse instance:

I do wish there had been a bit more time for the end of the talk with the concrete feature suggestions…

… but overall this is a great talk and I recommend it if you’re interested in the community category here on meta :wink:

My main piece of advice for Evan is to abandon any significant investment of time in the /r/elm Reddit instance. Reddit is good for “what’s hot right now” and “breaking news” but sadly terrible to the point of being actively harmful at literally everything else involving human discussion.

I can’t emphasize this enough. It’s not that Reddit is bad (although it kinda is) but it’s such a negative return on emotional labor that I’d think twice before spending any time there at all beyond the absolute minimum necessary to have a presence.

(Evan Czaplicki) #2

Thanks for sharing the talk here!

Missing Stuff

In retrospect I wish I spent more time on these suggestions in spite of messing up the timing overall.

One important thing that I forgot to mention is about moderation. I am hopeful that labeling intent on each post could make moderation feel much less arbitrary. Rather than referring to a set of abstract rules, a moderator can base decisions on the actual stated intent of the poster. “The intent is learn but this post is doing X, Y, Z instead.” I don’t really know if that’ll make moderation fully viable in practice, but it seems like it’d be at least more viable.

The Rate Limits part shared above is based on experiences from our Discourse instance where we definitely have some posters that crowd out other perspectives with their speed and volume. The post length idea in Draft Hints in sort of relevant to that. Both of those apply to anything where the visual presentation is single-threaded though. We had the same issues with our mailing lists as well, but probably a bit more extreme. (Time limits is more for cases where people are already angry, and expectations is more about online places for work like GitHub.)

I think this stuff is all “cherry on top” kind of ideas though. To me, the root problem is about different people having different value systems (great!) and then creating systems where they collide via big blank boxes (risky!) Having communities define what “intents” are possible within their community is the best idea I have had there, partly because it can be a bridge between different norms. Rather than learning “that’s not what we do here” by posting 20 times and getting weird reactions, maybe the design of the forum communicates these values immediately by saying “which of these N things do you intend to do?”


I felt like designs for online discussion kind of got stuck between the engagement and freedom lineages, and I wanted to start talking about a third way. So my goal was not to talk good or bad about any particular existing discussion forum, and I wasn’t imagining the audience being the folks who actually work on this stuff! (I hope it doesn’t feel aggressive or anything from this perspective!) Ultimately I just hope the ideas and references are interesting, and I am very keen to explore them in practice!

Automated draft hints
Rate-limit first-responders in specific categories
(Jeff Atwood) #3

Not at all – but I want to reiterate how dangerous it is to deal with Reddit for any kind of serious community engagement. It’s like playing with a bag of razor blades and sharp knives; only a matter of time until major injury results.

(I’ll stop harping on this now, but in the interests of avoiding pain and suffering for yourself and your community, that’s step zero.)

(AstonJ) #4

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

(Dave McClure) #5

Watched the talk and threw together these references along the way from within:

Some of the posts referenced in the talk:

Elm community discussions

Other references

(Erlend Sogge Heggen) #6

Big fan of your holistic take on open source development Evan, it reminds me a lot of the Rust community which I hold in very high regard.

Would love to hear more about exactly how you envision such a system working within Discourse. I’m playing with it in my head and I’m having a hard time making it work without forcing a tad too much busy-work upon the poster. Most dev communities I’ve looked at, Meta included, deals with intent reasonably well simply by proper naming and description of its categories. A few take it one step further by using topic templates.

Maybe there’s more to be gained by recursively requesting the most problematic topics to abide by certain standards. Don’t hesitate to close flame-bait topics down – ask them instead to rewrite their post according to certain best practice principles, or post it elsewhere. is your house after all so you shouldn’t be afraid to enforce pretty strict rules of civilized discourse.

One very interesting subject you touched on was the value of engagement with regards to particularly inflamed discussions. Similar to how so much of news media has resorted to prioritising divisive and shocking news reporting to maximise their ad impressions (i.e. max engagement), certain community members are very good at starting controversial discussions in the name of constructive feedback, which can quickly suck up a lot of the oxygen in a community. Discourse is already somewhat opinionated on what a successful community looks like, but we can do more to gently push community owners into the pit of success. Two things that immediately come to mind:

Engagement by itself is worthless

Most Discourse forums are not ad-based, so high engagement in an unconstructive debate is in-fact a negative-sum game. The absence of the “any traffic is good traffic”-incentive is something we can use to our advantage and we should be mindful of this in our user documentation and dashboard statistics.

How to curtail negative-sum engagement

Much easier said than done, but I think it’s well worth pondering. Discourse has lots of micro-optimisations already in place for this purpose (e.g. not allowing downvotes, rate-limiting posters who are dominating a topic etc.) and your suggestions could lead to further improvements. I’m gonna create #feature stubs for your suggestions so far so that the community can help us flesh them out.

Lastly, did you see a big difference in tone and overall attitude between your Discourse and Reddit community? I see that in your communications you prioritise your Slack chat and Discourse forum over Reddit (e.g. on your community page it’s just listed for the purpose of “discuss blog posts”) which I think is the right way to go, but I wonder if if could be taken even further. I’ll expand if we take this discussion further.

(Daniel Hollas) #7

OMG, this! :arrow_double_up: For those not having time to look at the talk, I highly recommend at least reading this post. It is one of these cases where you have something on your mind, and then someone writes about it and it suddenly all makes sense. :slight_smile: Thanks @evancz for taking time to write that. I found it highly relevant even outside the Open Source community.