Thoughts from the Elm community on Intentional Communication

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 лайков

Спустя год, что вы думаете об этих тенденциях и темах в вашем сообществе, @evancz?

(Кстати, вся эта тема — просто золото :trophy: для всех, кто интересуется мыслями о сообществе. Обязательно прочитайте её внимательно и перейдите по ссылкам.)

12 лайков

Спасибо, что подняли этот вопрос снова. Очень полезно. Я этого не видел, и рад, что прочитал.

Редакция: И я говорю это как тот, кто сам закрыл тему по времени здесь. :wink:

6 лайков

Я думаю, что ситуация та же самая.

Пытаясь ответить на этот вопрос, я вспомнил книгу «Confidence Men and Painted Women» (Confidence Men and Painted Women: A Study of Middle-class Culture in America, 1830-1870 by Karen Halttunen | Goodreads), которую я прочитал пару лет назад. Она описывает эпоху, когда было много людей без определённого места. Люди переезжали в новые города и попадали в новые социальные круги, поэтому традиционные способы построения доверия в сообществах перестали работать. Развивались сложные ритуалы, призванные отфильтровывать надёжных людей (одежда, манеры, траур и т. д.), но всегда можно было исполнять эти ритуалы неискренне. Поэтому ритуалы становились ещё более сложными в надежде создать лучший фильтр, но и их тоже можно было исполнять неискренне. И так далее. Я читал эту книгу, чтобы узнать больше об эпохе Гражданской войны, поэтому меня очень удивило, насколько актуальными оказались её идеи для обсуждений аутентичности, социальных сетей, инфлюенсеров и т. п.

В общем, в то время новыми местами были города, заполненные новыми жителями, поэтому существовали физические ограничения на то, как дизайн мог помочь решить эти проблемы. Сегодня же новыми местами являются сайты, созданные и спроектированные для конкретных целей. Наивно полагать, что это означает, будто проблемы стало легче решить («просто измени дизайн!»), но организации, контролирующие дизайн для большинства людей, извлекают огромную выгоду из дизайнов, порождающих конфликты (то есть «высокий уровень вовлечённости»).

Мне бы хотелось самостоятельно реализовать идеи из своего выступления, но, учитывая, сколько лет уже потребовалось проекту Elm (и какие эмоциональные переживания это сопровождало), я пока не готов лично заниматься этим более глубоко.

8 лайков

Мне всё ещё кажется, что «время, затраченное на участие», невозможно имитировать неискренне, поэтому этот фильтр остаётся рабочим. Человек, который провёл в сообществе 14 дней, 30 дней, 60 дней… год… имеет верифицируемую публичную историю, которую можно тщательно проверить.

Система уровней доверия Discourse — это попытка зафиксировать приблизительную форму этого. Например, когда вы достигаете уровня TL3 (постоянный участник), мы знаем, что вы как минимум:

  • посетили 50% из последних 100 дней
  • прочитали 25% тем и сообщений, созданных за последние 100 дней
  • ответили как минимум в 10 темах за последние 100 дней

(среди прочего; подробности см. по ссылке выше)

Конечно, это не говорит о качестве постов, а также о том, являются ли вклады автора в целом позитивными или негативными. Для этого требуется человеческое (и общественное) суждение.

5 лайков

Да, я подозреваю, что все остальные были просто попыткой разобраться в этом до того, как прошло достаточно времени, чтобы сформировалось суждение этого известного сообщества.

1 лайк

У меня был интересный опыт чтения этого. У меня было свободное время в воскресенье, и я бесцельно листал Twitter. Это не обычное занятие, но мне нравится иногда смотреть, что там происходит. В своей ленте я наткнулся на твит Джеффа от нескольких дней назад, который вызвал небольшой резонанс.

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

(@codinghorror, извините, что поднимаю эту тему, но она дает контекст моему опыту)

У меня есть собственное мнение по этому вопросу, которое со временем менялось. В какой-то момент я придерживался взглядов, похожих на те, что выразил Джефф. После обсуждения темы с друзьями и другими людьми, работающими в сфере технологий (и некоторыми из профсоюзов IT-индустрии), мое мнение изменилось. Некоторые из того, что я узнал по пути, отражено в той ветке Twitter.

Я обнаружил, что читаю всю ветку целиком. Хотя в ней содержится довольно много полезных ссылок и аргументов, они перевешиваются саркастичными, личными или крайне эмоциональными короткими фразами. Хотя я не разделяю первоначальную точку зрения Джеффа, я на мгновение (буквально на 3 секунды) соблазнился написать твит — делом, которое я почти никогда не делаю, — чтобы указать на то, что сарказм не лучший способ проинформировать кого-то (или что-то в этом роде), а затем подумал: «Черт возьми, о чем я думаю?». Дискуссия с позиций (так называемый «спор») в Twitter в основном бессмысленна.

На самом деле я подумал: зачем я только что прочитал всю эту ветку? Я мог бы провести это время на улице, с девушкой или занимаясь чем угодно другим. Я уже знал, что там будет сказано, но продолжал листать. Возможно, из-за какой-то извращенной любознательности, чтобы увидеть, какие еще полусмешные (но в основном довольно банальные) оскорбления придумают люди, но также и потому, что это было так легко сделать.

Поэтому, покинув Twitter, я зашел на Meta, увидел эту тему, посмотрел замечательное выступление Эвана и прочитал некоторые из связанных обсуждений и интересные мысли, высказанные в этой теме, в том числе Джеффом. Как вы можете представить, в этот момент моя голова шла кругом от резкого перехода от того, что меня захватило «вирусным» контентом и UX в Twitter, к «мета-обсуждению» этого феномена, которое происходит здесь.

Мысль, которая у меня осталась, заключается в том, что, как и отметил Эван, ключевым является намерение онлайн-обсуждения. Джефф может говорить за себя, но казалось, что намерение первоначальных твитов заключалось в том, чтобы спровоцировать ответы, оспаривающие его точку зрения. Независимо от того, понимали ли это люди, ответившие короткими разгромными комментариями, интеллектуально или нет, неявным предположением этих атак было то, что он выражает политическую позицию, отражающую что-то о его идентичности.

Теперь, оба утверждения могут быть (и обычно являются) верными одновременно. Вы можете поднять вопрос для обсуждения, а также выражать «политическую» точку зрения, отражающую вашу идентичность. Однако в онлайн-контексте, особенно с ограничениями платформы вроде Twitter, намерение, стоящее за высказыванием, часто затмевается политическими или идентичностными аспектами.

И, возможно, в некоторых онлайн-контекстах, таких как Twitter, это ожидаемо. Я думаю, мы часто ошибочно (или надеемся) считать Twitter «платформой для открытого обсуждения», тогда как на самом деле это «платформа для открытой идентичности» с побочными бизнесами по обмену информацией и юмором. Это во многом способ для людей сигнализировать о своей идентичности и находить единомышленников. Это играет роль в общественной жизни, но его легко неправильно понять.

Это недопонимание, касающееся характера онлайн-платформ для обсуждений и постов внутри них, можно устранить различными способами: от дизайна сообщества (как отметил @erlend_sh) до структуры постов и процесса публикации, включающего некое представление о намерении (как упоминает Эван).

Тем не менее, я задаюсь вопросом: изменила бы «значок намерения учиться» на твите Джеффа реакцию на него? В целом, я чувствую, что структурные и «характерные» аспекты форума онлайн-обсуждений важнее, чем понимание людьми конкретного намерения автора. Как я уже намекнул, я думаю, что многие из тех, кто ответил Джеффу короткими оскорблениями, вероятно, на каком-то уровне понимали, что он излагает свою точку зрения, чтобы узнать больше по рассматриваемой теме.

Какие бы методы вы ни использовали, я думаю, что хотел бы видеть больше понимания различных ролей и целей разных платформ, как в конкретных случаях, так и в общественных дебатах о них. Twitter не предназначен для создания цивилизованного дискурса, а Discourse не предназначен для создания вирусного контента. Но мы часто рассматриваем обе (и другие) платформы через призму любой утопической vision, которую мы имеем для общества, политики или сообщества, которым управляем, и пытаемся подогнать платформу под эту vision.

12 лайков

В Твиттере, полагаю, такой значок сразу же был бы извращён сразу в трёх разных направлениях. Кто-то стал бы использовать его под каждым своим постом как способ демонстрации добродетели. Другие применяли бы его с сарказмом и в шутку. Третьи использовали бы его цинично, чтобы привлечь больше людей к просмотру своего твита.

Единственный способ решить эту проблему, который я вижу, — это модерация. Кто-то должен быть готов оценить, задан ли вопрос добросовестно. Модерация невозможна в Твиттере, но возможна в экземпляре Discourse. Следовательно, это сработало бы на Discourse, хотя сама необходимость в этом была бы менее вероятной. Что-то вроде странного парадокса.

2 лайка

Нужно воспринимать это как есть — как мимолетное замечание, основанное на довольно случайной мысли. Таков Twitter. И вполне справедливо критиковать такую точку зрения, иначе я бы и не стал её публиковать. Я точно не публикую что-либо в Twitter для того, чтобы все кивали и говорили: «Да, Джефф, ты снова прав, босс, отличная работа, продолжай в том же духе».

Как я уже говорил людям, я просто не задумываюсь о профсоюзах… в общем, практически никогда. Почти всё, что я знаю о профсоюзах, основано на фильме «Норма Рэй» (Norma Rae - Wikipedia) (что, как ни странно, многие миллениалы даже не видели, хотя фильм довольно известен и получил премии «Оскар»).

Я, безусловно, прочитал все ответы (ну, большинство из них), и там были хорошие аргументы, вещи, которые я раньше не рассматривал, даже помимо того, что «дело не только в деньгах». Это, пожалуй, больше всего, что я когда-либо думал о профсоюзах в своей жизни. Так что, если вернуться к первоначальной цели…

Это, впрочем, не совсем цель — полностью изменить чье-то мнение. В идеальном случае:

  • ваши позиции по вопросам становятся более нюансированными со временем, по мере того как вы получаете более глубокое понимание сложности ситуации и осознаёте, сколько существует компромиссов, исключений и различных способов взглянуть на проблему.
  • вы можете эффективно аргументировать «противоположную» сторону вопроса, даже если не согласны с ней, чтобы доказать, что понимаете её.

В обычном политическом обсуждении, если вы добавили хотя бы один факт или нарратив, который заставил людей немного больше задуматься о своей позиции и лучше оценить нюансы ситуации… это, пожалуй, лучшее, чего вы когда-либо сможете добиться.

Изменить мнение людей? :laughing: На это уходят десятилетия. Часто весь мир должен измениться вокруг людей, прежде чем они это сделают.

… я всё ещё не совсем согласен, что профсоюзы в целом имеют смысл в сфере технологий, но я, безусловно, гораздо лучше понимаю нюансы. И я точно осознаю, что тема профсоюзов крайне эмоциональна и спорна, гораздо больше, чем я думал.

«Намерение учиться» не имеет особого смысла; вы не знаете того, чего не знаете, по определению. Но если посмотреть на платформу как на…

Twitter — это место для спонтанных, эфемерных мыслей, которые могут иметь смысл, а могут и не иметь

… в отличие от…

Twitter предназначен для глубокого проникновения в душу отдельных людей через сертифицированные заявления, которые попадают в их постоянный реестр

… у вас будет совсем другой опыт.

7 лайков

Да, я согласен, что то, как вы характеризуете платформу, влияет на то, как вы оцениваете обсуждаемые на ней темы.

Тем не менее, в случае с Twitter я считаю, что ваш подход к его использованию нетипичен. Большинство людей не хотят, чтобы их случайные мысли и комментарии воспринимались как отражение их личности или их моральной сущности. Именно такие оценки неявно присутствовали во многих твитах в ответ на ваш.

Ваша готовность мириться с подобными оценками характера ради использования Twitter таким образом, как вы описали, достойна похвалы, но она не является широко распространённой.

Поскольку большинство людей не чувствуют себя комфортно с реакцией, которую получили вы, они, как правило, публикуют только те твиты, которые действительно отражают их личность или то, как они хотели бы, чтобы их воспринимали морально, а не свои случайные мысли или комментарии.

Они не обязательно ищут полного одобрения, но определённо стремятся избежать унижений. Я бы сказал, что такое поведение более типично, и что характер платформы это отражает, то есть она функционирует как сервис для сигнализации о своей идентичности.

4 лайка