Intentional Communication に関する Elm コミュニティの意見

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.

「いいね!」 32

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?”

Motivation

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!

「いいね!」 19

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

「いいね!」 2

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

「いいね!」 15

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. discourse.elm-lang.org 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.

「いいね!」 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.

「いいね!」 7

Thank you for taking a look at these resources! It is really exciting to see other people thinking about the same problems! :smiley:

Some comments stuck out to me that I want to mention.

I wouldn’t say that the problem is actually that the discourse is not civil. One of the things I did not have time to talk about explicitly is asymmetric time costs. Say there is a decision that is the result of a very complex balance of concerns. Person X will say “I think this is bad” and someone in the community may spend an hour writing up the complex situation. Person X does not find this satisfying, so they just keep saying “I think this is bad” any time it is vaguely relevant. The cost of this self-expression is that lots of other posters end up reacting. Everyone is civil enough, but there is no “agree to disagree” that ejects everyone from the loop. So an asymmetric time cost is when one person can invest a small amount of time to spend a great deal of other people’s time without breaking any rules. Often these cases have no natural limit.

We experimented with banning cases like this, and we definitely paid for that. I think six people got banned total, and it creates some very strange narratives about “they don’t want to hear disagreement” which I think is misdiagnosing a complex situation. (Another asymmetric time cost conversation!) So I hear you about not being afraid about this, but I just want to point out that it has a notable cost as well.

I think (1) the work instead goes to the moderators, except now it takes much longer overall and is perceived as adversarial, and (2) everyone else pays while things are unresolved. Moderators are very rarely talking to people who are easy to communicate with online, so “hey, can you try to X because of Y?” is heard in a very different way, and the interaction can end up significantly disrupting that moderators day in terms of emotions and productivity.

So I am personally okay if such a design “reduces engagement” with the forum. On some level, it is trimming down the infinite conversation possibilities to a smaller infinity, so one could reasonably expect less conversation. I could also see how conversations generally being more constructive could attract people who currently don’t feel comfortable participating, increasing the overall level.

Ultimately though, my hope is that having structured conversations wouldn’t feel like a burden for people.

「いいね!」 11

Dude, you just reinvented Stack Overflow. And Stack is kind of infamous.

4. Sadness after being told to act more like a robot

As another sign of its inhumanity, Stack Overflow discourages greetings and thanks.

  • “just tried to write an answer on stack overflow, it’s a horrible experience, but what really surprised me is that they edited my answer and removed the “compassionate parts”… don’e read this thread if you want to stay positive today”
  • “A user with a mere 4,000 reputation edited the tags on my first question and took the opportunity to remove me saying ‘thanks’…That may seem like a tiny thing to some people, but I found it immensely offputting that a stranger was bothered enough by two words of common politeness to silently remove them from my post.”

Robots may not have use for these words, but humans use them to make others feel welcome and appreciated.

I’m not at all convinced that locking people into a finite set of “intents” (in Stack’s case, questions, answers, and clarification-requesting comments, just like your “Learning intent”) is the answer. Partly because it comes across as robotic and neurotic, and partly because people simply lie about their intent, and partly because people find ways to be horrible within the system (snarky answers, etc).

「いいね!」 2

We tend to close topics like that. I’ve seen @sam used the timed close function (where a topic will be closed for {x} hours or days, then automatically reopen) when there’s a long, thoughtful writeup of the pros and cons but a lot of knee-jerk “this is still bad” replies.

I find that this tends to be topic-specific, so temporarily closing those particular problem topics tends to solve the problem. If it doesn’t solve the problem, because the person is doing this in many or all topics they participate in .. that violates multiple guidelines I defined in What If We Could Weaponize Empathy? such as

  • Endless Contrarianism
  • Axe-Grinding
  • Griefing
  • Persistent Negativity
  • Ranting
  • Grudges

If one or many of these criteria is met, for a sustained period of time, that’s ample grounds for suspension.

Feel free to cite those rules in public when suspending users. We have suspension reasons that can be applied to accounts (and are in fact required for a suspension). Suspensions are always timed in Discourse, so you can also leave the door open to a person reforming later.. but the emotional labor of reforming is on them, not you.

The goal of Discourse is to amortize effort across the community whenever possible .. not to concentrate the moderation (and emotional labor) load on staff.

In general when you talk about Intentional Communication, to me that means specialized software. For example, Stack Overflow has very strict (and necessarily so) norms, as it is learning focused Q&A, where the goal is to create a useful shared artifact for future programmers, not “answer my computer programming tech support question right now.”

I can tell you that for many people they do feel that the style of communication on Stack Overflow is a burden. But what they can’t deny is that structured communication results in very effective search artifacts for future visitors.. which of course, is the whole point of those interactions!

(Heh, I just noticed @notriddle posted basically the same thing while I was composing this reply. Do note that the “complaints” in that article are largely misunderstandings of what Stack Overflow is designed to do, and who it’s designed for. Imagine the sheer utter inhumanity of a world where Wikipedia articles don’t start with Hello and end with Thank You Very Much!)

Since Discourse isn’t a specialized communication tool, but a tool for general purpose communication in a variety of disparate communities, there’s a limit to what can be done here.

「いいね!」 8

Of course, you spun it positively, I spun it negatively, but as far as actual facts go, we completely agree: the intentional communication model cannot be the primary means of community-forming. There has to be an unstructured communication channel, warts and all, and if you don’t provide one, people will make one, even if it involves misusing a specialized piece of software.

(which is why Wikipedia not only has areas for general discussion, but features the Talk links at the top of every article, near to the edit button, where would-be editors can’t miss it)

And, my final edit, in which withoutboats from the Rust core team calls for less talk of concrete feature suggestions.

「いいね!」 4

Thanks for the advice on asymmetric time costs! I’ll have our moderators read that.

In my talk, I was trying to say that the “self-expression <=> self-expression” flow is the general purpose flow. That is what all forums use now basically. On top of that, different communities could create more structured flows for their particular needs. So it seems like people are objecting to “all structured flows with no release valves” but that is a rather extreme interpretation of the core idea.

Thanks again for the notes on what ya’ll moderate. I appreciate it!

「いいね!」 5

1 年が経ち、@evancz さん、あなたのコミュニティにおけるこれらのトレンドやテーマについてどのように感じていますか?

(また、このトピック全体はコミュニティの考え方に興味のある方にとって純粋な黄金:トロフィー:です。ぜひ詳しく読み、リンクも追ってください。)

「いいね!」 12

再度取り上げていただきありがとうございます。非常に役立ちました。私はこのスレッドを知らなかったのですが、読めてよかったです。

編集:私はここで期限付きトピックを閉じた張本人ですが、そう言っています。 :wink:

「いいね!」 6

状況は同じだと思います。

この問いに答えようとする際、数年前に読んだ『Confidence Men and Painted Women』という本のことを思い出しました。そこでは、場所を持たない人々が多数いた時代が描かれています。人々が新しい都市や新しい社交圏へと移動するため、共同体における信頼を築く従来の方法はもはや機能しなくなっていました。信頼性を筛选するための儀礼(服装、マナー、喪の習慣など)がより複雑に発展しましたが、その儀礼を誠実でないまま行うことも常に可能でした。そのため、より優れた筛选を生み出すことを期待して儀礼はさらに複雑化しましたが、それらもまた誠実でないまま行われることがありました。といった具合です。私は単に南北戦争時代のことをもっと学びたくて読んでいたのですが、真正性、ソーシャルメディア、インフルエンサーに関する議論とこれほど関連していることに本当に驚きました。

ともあれ、当時は新しい場所が新しい住民で溢れた「都市」でした。そのため、デザインがこれらの問題にどう役立つかには物理的な限界がありました。現在、新しい場所は特定の目的のために創出・設計された「サイト」です。単純に考えれば、このことは問題の解決が容易になるはずだ(「デザインを変えるだけでいい!」)ということになりますが、多くの人々のデザインを支配する組織は、対立を生み出すデザイン(つまり「高いエンゲージメント水準」)から莫大な利益を得ています。

私の講演で扱ったアイデアを実装で探求してみたいと考えていますが、Elm がこれまでにかかった年数(そしてそれに伴う特別な感情的体験)を考えると、私自身はまだ一人でこれを進める準備ができていません。

「いいね!」 8

私は依然として「投資された時間」は誠実でない形で実行することが不可能だと感じています。したがって、そのフィルタは依然として機能します。14日、30日、60日、あるいは1年間コミュニティに時間を費やした人物には、徹底的に検証可能な公開の経歴が存在します。

Discourse 信頼レベルシステムは、この概念の粗略な形態を捉えようとする試みです。例えば、TL3(regular)に到達すると、少なくとも…

  • 直近100日の投稿の50%にアクセスしている
  • 直近100日に作成されたトピックと投稿の25%を読んでいる
  • 直近100日で少なくとも10のトピックに返信している

ことがわかります(その他にも多くの条件があります。詳細は上記のリンクをご覧ください)。

もちろん、これは投稿の「質」や、投稿者が投稿を通じて全体的にプラスまたはマイナスの貢献をしているかについては何も示しません。それには人間(およびコミュニティ)の判断が必要です。

「いいね!」 5

はい、他のすべての試みは、その「既知の存在」となるコミュニティの判断が下されるのに十分な時間が経過する前に、それを理解しようとしたものに過ぎなかったと疑っています。

「いいね!」 1

これを読んでいて、興味深い体験をしました。ある日曜日の暇な時間に、私は Twitter をただ漫然とスクロールしていました。これは普段の趣味ではありませんが、たまにはどんなものか見てみるのが好きなんです。タイムラインを眺めていると、数日前に Jeff が投稿したツイートが目に留まりました。それがちょっとした波紋を呼んでいたのです。

https://twitter.com/codinghorror/status/1172279395035308032

@codinghorror さん、この件を持ち出して申し訳ありませんが、私の体験の文脈を理解していただくために必要でした)

この問題については、私自身も時間が経つにつれて考え方が変化してきました。かつては Jeff が表明したのと同じような見解を持っていました。しかし、友人やテクノロジー業界で働く人々(一部は技術組合に所属する人々)とこの話題について議論するうちに、私の見解は変わりました。その過程で学んだいくつかのことは、あの Twitter スレッドに表れています。

私はそのスレッドをすべて読み通してしまいました。スレッドには有用な参考文献や論点もいくつか含まれていますが、それらは皮肉めいた個人的な、あるいは非常に感情的な一言で埋め尽くされているため、その価値を相殺してしまいます。私は Jeff が当初表明した見解には同調していませんが、ふと(たった 3 秒間だけ)「皮肉は人を啓発する最善の方法ではない」といった趣旨のツイートを投稿してみようかと衝動に駆られました。そんなことはほとんどしないのにです。しかし、すぐに「いったい何を考えているんだ?」と自分に問いかけました。Twitter における立場を巡る議論(つまり「論争」)は、ほとんど無意味です。

実際、私はふと思いました。「なぜ私はあのスレッドを全部読んでしまったのだろう?」その時間を屋外で過ごしたり、彼女と過ごしたり、あるいは何でもいいから別のことに充てられたはずです。スレッド内で何が語られるかは最初から分かっていました。それでもスクロールを続けてしまったのです。おそらく、他の人々が次にどんな「半端な機知に富んだ(しかしほとんどが取るに足らない)相手を小馬鹿にする言葉」を思いつくかという歪んだ好奇心からだったのでしょう。また、そうすることがあまりにも簡単だったからでもあります。

そうして Twitter を離れ、Meta に来ると、このトピックを見つけ、Evan の素晴らしい講演を視聴し、関連する議論や、Jeff を含むこのトピックで表明された興味深い考え方をいくつか読みました。想像がつくかと思いますが、その時点で私の頭は混乱していました。Twitter の「バイラル」コンテンツや UX に巻き込まれたことと、ここで進行しているその現象に関する「メタ」な議論との間で、精神的な揺さぶりを強く受けたからです。

私が抱いた考えは、Evan が指摘したように、オンライン議論の「意図」が鍵となるということです。Jeff 自身は自分の意見を語ることができますが、最初のツイートの意図は、自分の見解に挑戦する反応を引き出すことだったように思えました。一言で相手を論破しようとした様々な人々が、知的にそのように理解していたかどうかは別として、その「論破」には、Jeff が自身のアイデンティティを反映する政治的立場を表明しているという、明言されていない前提が込められていました。

もちろん、両方は同時に成り立ち得ます(そして通常はそうなります)。議論を深めるために何かを提起することも、同時に自分のアイデンティティを反映する「政治的」見解を表明することも可能です。しかし、オンラインの文脈、特に Twitter のようなプラットフォームの制約下では、発言の背後にある意図が、その発言の政治的またはアイデンティティ的な側面に埋もれてしまうことがよくあります。

そして、おそらく Twitter のような一部のオンライン文脈では、これは予想されることです。私たちはしばしば(あるいは望んで)Twitter を「オープンな議論の場」と思い込んでいますが、実際には「オープンなアイデンティティの場」であり、情報共有やユーモアはその副次的なビジネスに過ぎません。それは主に人々が自らのアイデンティティを表明し、似た考えを持つ人を見つけるための手段です。これは公共生活において一定の役割を果たしますが、誤解されやすい面もあります。

オンライン議論プラットフォームや、そのプラットフォーム内の投稿の性質に関するこの誤解は、コミュニティの設計(@erlend_sh 氏が言及したように)や、投稿の構造や投稿方法に「意図」という概念を組み込むこと(Evan が言及したように)など、いくつかの方法で解決できます。

とはいえ、Jeff のツイートに「学習意図」のバッジをつけていたら、反応が変わっていたかどうか疑問に思います。総合的に見ると、オンライン議論の場における構造的な側面や「性格」的な側面の方が、投稿者の特定の意図に対する人々の理解よりも重要だと感じます。前述したように、Jeff に対して一言で相手を小馬鹿にするような反応をした人々の多くは、あるレベルでは、彼がその問題についてさらに学ぶために見解を表明していたことを理解していたのだと思います。

どのような手法を採用するかにかかわらず、私がより多く見てみたいのは、特定の事例においても、またそれらに関する公的な議論においても、異なるプラットフォームの役割と目的に対するより良い理解です。Twitter は文明化された議論を生み出すように設計されたものではなく、Discourse はバイラルなコンテンツを生み出すように設計されたものではありません。しかし、私たちはしばしば、社会、政治、あるいは運営しているコミュニティに対する utopian(ユートピア的)なビジョンというレンズを通して、これら(および他の)プラットフォームを見てしまい、そのビジョンに合わせてプラットフォームを形作ろうとします。

「いいね!」 12

Twitter なら、そんなバッジはすぐに三つの方向に同時に歪められてしまうでしょう。一部の人は、美徳をアピールする手段としてすべての投稿にそれを使うでしょう。また、皮肉やジョークとして使う人もいます。さらに、より多くの人に見てもらうために冷笑的に使う人もいるでしょう。

この問題に対処できる唯一の方法は、モデレーションです。質問が誠意を持って行われているかどうかを判断する人が必要です。Twitter ではモデレーションは不可能ですが、Discourse インスタンスでは可能です。したがって、Discourse なら機能するでしょうが、そもそも必要になる可能性は低いでしょう。これは一種の奇妙なジレンマです。

「いいね!」 2

それはそのまま受け取る必要があります。つまり、かなりランダムな考えに基づいた一時的なコメントです。それがまさに Twitter というものです。その見方を批判するのは全く公平であり、もしそう思わなければ私は投稿などしなかったでしょう。私は Twitter に投稿して、皆がうなずきながら「はい、ジェフさん、またおっしゃる通りです、素晴らしい仕事ですね、続けてください」と言うためにやっているのではありません。

私が人々に伝えた通り、私は労働組合について、基本的に「ほとんど考えたことがありません」。私が労働組合について知っていることは、ほぼすべて映画『ノーマ・レイ』に基づいています(不思議なことに、この映画は非常に有名でアカデミー賞を受賞しているにもかかわらず、多くのミレニアル世代は一度も見たことがありません)。

私はすべての返信(まあ、ほとんど)を読みましたが、そこにはいくつかの良い点があり、私がこれまで考えもしなかったことが含まれていました。「必ずしも金銭的な問題ではない」ということ以外にもです。これは、私が人生で労働組合についてこれほど深く考えたことがないほどです。 ですから、元の目標に戻るとすれば…

実際、その目標は、誰かの考えを「完全に」変えることではありません。理想的な場合:

  • 問題の複雑さをより深く理解し、多くのトレードオフや例外、そして問題を見るさまざまな方法があることに気づくにつれて、あなたの立場はよりニュアンスのあるものになっていきます。
  • 同意していなくても、問題の「反対側」を効果的に論じることができ、それによってその問題を理解していることを示せます。

平均的な政治的な議論において、もしあなたが人々が自分の立場についてもう少し考えさせ、状況のニュアンスをより深く理解できるようにする、たった一つのデータポイントや物語を追加できたなら…それがあなたが達成できる最善のことです。

人々の考えを変える?:laughing: それは数十年かかります。多くの場合、人々がそうする前に、世界全体が変化しなければなりません。

…私は依然として、テクノロジー業界全体において労働組合があまり理にかなっているとは「完全に」思いませんが、確かにニュアンスをより深く理解しています。そして、労働組合というトピック全体が非常に感情的で議論を呼ぶものであり、私が思っていたよりもはるかにそうであることに「間違いなく」感謝しています。

「学習意図」というのはあまり意味がありません。自分が何を知っていないかは、定義上、わかりませんから。しかし、プラットフォームを…

Twitter は、即興的で一時的な思考を共有する場であり、それが理にかなっているかどうかは別問題です

…と捉えるか、

Twitter は、公式な声明を通じて個人の内面を深く探り、それを永久記録に残すための場です

…と捉えるかによって、あなたは「非常に」異なる体験をするでしょう。

「いいね!」 7

はい、プラットフォームをどのように特徴づけるかが、そこでの議論をどのように評価するかを左右するという点に同意します。

とはいえ、Twitter の場合、あなたの使い方は典型的ではないと思います。多くの人は、自分のふとした考えやコメントが、自分自身のアイデンティティや道徳的な人格の反映として評価されることを好まないからです。あなたのツイートへの返信には、そのような評価がいくつもの形で含まれていました。

あなたがご説明になったような使い方を Twitter で行うために、そのような性格評価に耐える姿勢は称賛に値しますが、広く共有されているわけではありません。

多くの人があなたが受けたような反応に不快感を抱くため、彼らはむしろ、自分自身のアイデンティティや、道徳的な人格がどう認識されたいかを反映するものだけをツイートする傾向があります。ふとした考えやコメントではありません。

彼らが完全な承認を求めているわけではありませんが、否定や貶めを避けることは確かに目指しています。この行動パターンの方がより典型的であり、プラットフォームの性格もそれを反映していると言えます。つまり、アイデンティティのシグナリングサービスとしての性格です。

「いいね!」 4