Представляем Discourse Chat (BETA)

Три года назад мы опубликовали статью в блоге о том, как Discourse и парадигма длинных форумов могут сосуществовать с парадигмой коротких чатов:

Такое сочетание инструментов работает, но имеет ряд недостатков. В результате вы получаете:

  • Дублирующиеся каталоги пользователей
  • Конкурирующие формы личных сообщений
  • Неопределённость: «Куда относится это сообщение?»
  • Плохо интегрированные инструменты для ухода за контентом

Одна из самых популярных историй на HN в этом году была посвящена тому, что форумы превосходят чаты:

Уже первый абзац сразу раскрывает проблему, которую мы сейчас пытаемся решить:

Мнение, сформированное после года попыток создать сообщество разработчиков. Если вы можете выбрать только одно, используйте форумное ПО, а не синхронное чат-ПО для построения сообщества вокруг платформы для разработчиков.

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

Минимально жизнеспособное сообщество

Соберите двух людей в одной комнате чата, и у вас уже есть зачатки здорового сообщества. Пока там периодически идёт болтовня, комната будет казаться живой и приветливой для других потенциальных участников. Это отличная стратегия онбординга на ранних этапах развития сообщества, но у неё есть жёсткий предел масштабируемости. Делать то, что не масштабируется может быть выигрышной стратегией как для стартапов, так и для зарождающихся сообществ; главное — знать, когда вы переросли свою первоначальную стратегию роста.

Чем больше сообщество, тем больше вам нужен стандартный (и на данный момент единственный) интерфейс Discourse. Но на нижнем уровне по количеству пользователей и для новичков на старте (Day-0) главное препятствие — не поддерживать порядок на вечеринке, а просто запустить вечеринку. И мы точно знаем, что чаты лучше справляются с этой задачей на малых масштабах.

Иными словами, чат решает проблему «Кто-нибудь скажите что-нибудь!»:

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

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

Поднятие в стеке

Чтобы решить нашу невыносимую ситуацию, когда приходится внедрять Discourse в сообщества, которые годами привыкли к чатам, мы начали работать над чем-то довольно радикальным:

Этот плагин сейчас включён для тестирования в закрытой категории здесь, на Meta. Мы будем общаться в этом закрытом пространстве примерно так же, как MVP Discourse Chat будет внедряться в существующие сообщества Discourse: чат для сотрудников.

Один из усложняющих факторов в коммуникации долгосрочного плана для Чата заключается в том, что мы неизбежно нацелены на два разных рынка:

(В основном приватный) чат для командной работы
(В основном публичный) чат для сообществ.

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

Ранний доступ

Сейчас есть два способа попробовать Чат:

  1. Установите плагин с открытым исходным кодом на вашу самохостинговую установку. Хотя мы пока не рекомендуем использовать его в продакшене, мы уже запускаем Чат на нашем внутреннем экземпляре команды, а также на Meta.

  2. Присоединитесь к нашей закрытой группе для тестировщиков чата, чтобы общаться с нами здесь, на Meta. Любой может запросить вступление. Самохостеры также приглашаются делиться своими отзывами здесь.

Полный публичный доступ к Чату на Meta будет открыт в конце декабря / начале января.

135 лайков

О, очень здорово. Это обязательная функция для моего сайта, и сейчас у меня есть кастомный плагин для интеграции Rumbletalk. Если бы это было частью ядра Discourse, это стало бы большим плюсом.

9 лайков

Это, наверное, сильно опережает события, но — есть ли какие-то мысли о мосте?

Потому что, хотя я люблю Discourse, последнее, что мне нужно, — это ещё один источник мгновенных сообщений. В Fedora мы как раз переходим с IRC на Matrix. Это было бы очень полезно, если бы мы могли настроить мост к Matrix… и это привело бы к дальнейшей фрагментации коммуникаций, если мы не сможем этого сделать.

15 лайков

Отличное решение. Это настоящий прорыв для внедрения Discourse.

8 лайков

Мостовое соединение планируется, хотя и в ограниченном объёме. Мы изучаем возможность повторения того, что @merefield собрал для Discord, для других платформ.

14 лайков

Конечно, самое захватывающее с моей точки зрения — это то, что чат Discourse мог бы работать как домашний сервер Matrix и клиент Matrix, а не как отдельный новый протокол. Но простого моста было бы достаточно, если бы он был относительно бесшовным.

9 лайков

Привет, у меня быстрый вопрос. Этот плагин — постоянный оверлей для Discourse или он появляется только в тех местах, где вы его настроили? То есть, если вы решите установить его, изменится ли вся ваша сообщество, или изменения коснутся только выбранных вами категорий?

4 лайка

Поздравляю с первым публичным релизом.

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

Для профессионального онлайн-сообщества разработчиков языка программирования Jai, которое я создаю с нуля, мой план — продемонстрировать Discourse Chat как альтернативу чату в Discord.

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

Наконец, моя грандиозная, почти нереалистичная мечта — убедить руководство Toptal отказаться от Slack и полностью перейти на Discourse. Slack ужасен тем, что не предоставляет способа организовать знания в виде потоков, которые можно искать, совместно редактировать, категоризировать и отслеживать.

9 лайков

Очень интересные новости, спасибо.

Моя первая мысль была… пора доработать реакции в виде эмодзи и официально их поддержать?

Клянусь, я не шучу.

(Да, Discourse Retort существует.)

5 лайков

Существует официальный плагин, похожий на retort: Discourse Reactions

10 лайков

Мои предложения. Я ещё не тестировал плагин, но считаю эти функции даже более важными, чем мосты (хотя они тоже полезны):

  • Разрешить доступ к чату по группам.
  • Опционально разрешить анонимным пользователям чтение/запись в чате.
    • Дать группам возможность создавать собственные чаты.
  • Опционально удалять комментарии в чате через X часов/дней/недель по группам.
  • Опционально разрешить отображение боковой панели с тегами/группами в чате.
  • Упростить конвертацию комментария(ев) в тело темы, например, в зависимости от уровня доверия/группы. Возможно, это можно реализовать через систему флагов.
  • Преобразование комментария(ев) в ответ на существующую тему также было бы отличным решением в зависимости от уровня доверия/группы. Возможно, через систему флагов.
  • Теги внутри чата.
  • Если упоминается группа, позволяющая пользователю вступить или подать заявку на вступление, разрешить этому пользователю сразу вступить в группу или подать заявку прямо из чата.
  • Прямой контакт с Discobot внутри чата: публично или с конвертацией в личное сообщение.
  • Привязать видимость чата к конкретной теме/ответу/тегу на определённый срок.
  • Дать пользователям возможность быстро упоминать существующие посты внутри чата.
    • Если упомянутый пост получает «сердечко» в чате, добавить это «сердечко» и к оригинальному посту (при условии, что такая функция поддерживается, lol).

Интеграция поиска тем/постов
Было бы интересно добавить автоматический поиск, когда пользователь пытается опубликовать сообщение в чате. Например, если он пишет: Привет, я не могу найти музыку..., то пост с музыкой, который ему нужен, автоматически появится в виде ссылки.

Модерация.

  • Замедление пользователей, публикующих слишком много сообщений в чате.
  • Разрешить группам/уровням доверия игнорировать пользователя/группу в чате навсегда (все их комментарии становятся невидимыми после игнорирования).
  • Флагирование/заглушение/бан пользователя внутри чата.
  • Ограничение слов, если они находятся в чёрном списке.
  • Разрешение вложений по группам.

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

11 лайков

Пост был объединен с существующей темой: Небольшие предложения по улучшению

Только выбранные вами! :ballot_box_with_check:

6 лайков

Это здорово! Но, как уже предлагали другие, появление ещё одного источника мгновенного обмена сообщениями может создать проблемы. Хотя я люблю IRC, думаю, что более удачной интеграцией было бы использование XMPP, поскольку у него более широкая федерация. Я бы не стал идти по пути Matrix, потому что федерация в Matrix слишком жадная. Сейчас активно разрабатываются хорошие мосты между Matrix и ActivityPub, а также между XMPP и ActivityPub.

1 лайк

В чате в качестве названия канала используется слаг категории. Это, пожалуй, не самое лучшее решение?

3 лайка

Я бы хотел переосмыслить эту проблему.

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

Фактически, Discourse Chat способен не только функционально заменить существующую платформу, но и полностью вытеснить её, тем самым уменьшая количество используемых вами платформ, а не увеличивая его.

Например, если вы использовали базовые функции Slack (в основном простой чат), просто прекратите его использование и начните применять Discourse Chat. Теперь у вас на одну платформу меньше, о которой нужно думать и которую нужно интегрировать.

То же самое касается Discord и других «тяжёлых» чатов. Если вы использовали их только для простых задач, вам лучше мигрировать на Discourse Chat и отказаться от старой платформы. Это не только уменьшит количество используемых вами платформ, но и обеспечит более тесную интеграцию вашего чата с форумом, вики, базой знаний, документацией или системой управления проектами.

С другой стороны, если вы используете Facebook Messenger, который тесно интегрирован с Facebook, и вам это необходимо, зачем вам рассматривать возможность использования Discourse Chat, добавляя ещё один источник мгновенных сообщений? Не стоит делать этого до тех пор, пока Discourse Chat не сможет интегрироваться с Facebook Messenger и позволит использовать последний через первый, то есть без выхода из интерфейса Discourse Chat.

То же самое относится к Telegram, Viber и другим аналогичным сервисам.

Таким образом, мой совет — переосмыслить проблему и взглянуть на функцию Discourse Chat с другой перспективы. Это отличная возможность начать использовать меньше инструментов и платформ, а не больше. Именно так я myself мыслил об этом с самого первого упоминания функции Чат от команды Discourse. И это действительно очень захватывающе.

26 лайков

Это кажется возможным только если речь идет о очень маленькой группе. У меня есть Slack, Matrix, Keybase, Telegram, Signal, Google Chat, Twitter, Discord, Mattermost и Rocketchat — только для общения с коллегами. Не говоря уже об IRC, хотя мосты Matrix в основном справляются и с этим. Ах да, еще Zulip. Наверное, есть и другие. И это еще не считая друзей, семьи, хобби. Буквально все эти сервисы используются для рабочей коммуникации.

Большинство из них «способны» заменить большинство остальных, но этого не происходит. Вместо этого они накапливаются.

Как известно…

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

Не поймите меня неправильно — конечно, пробуйте что-то новое. Но для меня единственной по-настоящему убедительной новинкой на данный момент была бы совместимость.

10 лайков

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

4 лайка

@RGJ

friend something GIF

Если говорить серьёзно: я считаю отличной идеей интеграцию чата в сообщество на базе Discourse. На нашем форуме мы в итоге использовали только один канал в Rocket Chat через интеграцию с Communiteq, а также для внутренней коммуникации по разовым вопросам, не имеющим долгосрочной ценности.

Единственная причина, по которой мы не расширяем использование чата, заключается в том, что он может:
a) перетянуть активность с форума на себя;
b) привести к тому, что чат превратится в площадку для длительных обсуждений, которые лучше подходят для форума.

По моему мнению: если у сообщества есть более сложные и масштабные потребности, существуют отличные платформы для чатов. Поэтому мне бы хотелось увидеть более простую интеграцию чата (по принципу KISS), которая могла бы служить «Личными сообщениями версии 2» и в долгосрочной перспективе заменить текущий интерфейс сообщений.

8 лайков

Я не фанат чатов, но это просто я.

Но насколько это дорого? Имеются в виду оперативная память, процессоры и хранилище.

8 лайков