Discord как корпоративный мессенджер и не только

Discord как корпоративный мессенджер и не только

статья с HABR

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

Discord – программа странная и выдающаяся одновременно. Почему? Хотя бы потому, что про способы работы в Discord получилась целая статья.


Что-то пошло не так


Давайте сначала разберемся, что не так с «обычными мессенджерами»: Skype, Viber и им подобными.

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

Обычные мессенджеры устроены так, чтобы работать «из коробки» и без всякого администрирования. Это вполне здравый подход, обеспечивающий низкий порог вхождения: просто создали групповой чат и общаемся в нём. По-другому эти мессенджеры не могут, так как сложные процедуры настройки отпугнут основную аудиторию. Но, как обычно, низкие начальные вложения оборачиваются высокими эксплуатационными издержками. Какие проблемы имеем в итоге.

Разделение по темам. Чем больше пользователей в группе, тем больше количество обсуждаемых тем. Большинство тем интересны ограниченному числу пользователей группы. Подход здорового человека заключается в том, чтобы создавать тематические группы и включать в них только тех, кому тема интересна – такая изоляция уменьшает «информационный шум» от ненужного контента. Но на практике это приводит к полному хаосу. Например, имеем 10 чатов по работе, 4 чата детского сада, 3 чата многоквартирного дома и так далее. И всё это в одном пространстве имён, поэтому мы начинаем путаться в чатах. Они уползают вниз списка, забываются, потом создаются дубликаты забытых чатов, но туда забывают добавить всех пользователей. Если же количество участников примерно от полсотни и выше, то никакие параллельные чаты уже не создаются – слишком сложно поддерживать актуальный список участников. Ведется один супер-чат, содержащий все вопросы жизни, вселенной и всего такого. Результат: большие группы в мессенджерах становятся «токсичными»: контент неинтересен из-за большого количества мусора, мы присутствуем в группах только из-за необходимости.

Избыточные нотификации. Каждому знакома ситуация, когда нам приходит слишком большое количество нотификаций различных мессенджеров. Рассмотрим пример. Пусть, у нас команда из 50 человек и каждый пишет в общий чат 5 сообщений в день. Тогда каждый получит по 50*5=250 нотификаций. Если считать, что для просмотра сообщения мы отвлекаемся на 30 секунд, то 250 нотификаций съедают 250*30=7500 секунд, что составляет 2 часа! А всю команду нотификации отвлекают на время 7500*50=375000 секунд или 104 часа! Вдумайтесь: 104 человеко-часа в день или 13 человеко-дней каждый день! Это 26% ресурсов команды. Такие большие числа получаем потому, что количество людей (50 человек) в чате входит в итоговую формулу квадратично (каждый нотифицирует каждого):

50 [чел] * 5 [сообщений/чел] * 30 [сек/(сообщение*чел)] * 50 [чел] = 375000 сек


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

  • Меньше есть писать сообщений (теряется сам смысл мессенджера)
  • Заглушить нотификации, читать все сообщения сразу все, когда будет время (теряется скорость реагирования на сообщения)

 

Discord: начало


Теперь переходим к Discord. Прежде всего заметим, что в Discord есть два режима или, скорее, «вида»: назовем их «обычный» и «сервер». Они существуют параллельно и имеют разные цели. В «обычном» виде Discord – это такой же обычный мессенджер, как и все остальные. Даже с более ограниченными возможностями, чем тот же Skype:

  • в групповом чате не более 10 участников
  • отправка файла не более 8 МБ (больше – с платной подпиской Nitro)
  • показ видео и экрана с разрешением 720p (больше – с платной подпиской Nitro)
  • одно сообщение не более 2000 символов


Обычный вид используется для коммуникации 1-на-1 и для мелких кратковременных групповых чатов. В общем, тот же «обычный мессенджер». В контексте данной статьи этот режим не особо интересен, сразу переходим к серверному виду.

Сервер


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



В левой панели сразу видим две новые сущности:

  • Текстовые каналы. Это аналог чата, но с некоторыми особенностями и дополнительными функциями. Набор каналов сервера относительно стабилен: каналы всегда остаются на месте, не уползают вниз в истории, как в мессенджерах. Каналы удобны благодаря ролям и упоминаниям, о них далее.
  • Голосовые каналы. В этих каналах мы общаемся голосом. Примерно как радиоприемник: нажимаем на канал (выбираем радиостанцию) и сразу же слышим поток вещания и ещё говорить сами можем. Голосовой канал – это поток, он не имеет начала и конца, нет инициатора звонка и нет самого звонка, который позовёт участников. Подключение к каналу мгновенное. Забудьте про «Я звоню, все ли готовы?» «Добавьте меня в звонок!» «Где ссылка на митинг?». Просто тык в канал — и через пол-секунды вы слышите голоса. Никакого текста в голосовых каналах нет — пишем мы в текстовые каналы. Голосовых каналов нужно столько, сколько голосовых митингов вам нужно вести параллельно. Весьма вероятно, что одного хватит.

 

Роли


Теперь переходим к инструментам Discord, которые делают его эффективным для командной работы. Прежде всего это роли. Смысл в том, что мы настраиваем права доступа не для конкретных пользователей, а для ролей и даём эти роли людям. Список разных прав, которые может иметь роль, внушает: целых 32 пункта. Кроме того, у каналов мы настраиваем, какие права имеет роль в канале: чтение, написание, удаление сообщений и т.п.

Какие роли создавать – решаем сами. Роль соответствует некоему типичному набору действий пользователя. Например, на нашем сервере сделаем такие роли:

  • everyone – техническая роль, означает «все, кто на сервере»; она уже есть и удалить её нельзя.
  • сотрудник – назначаем роль всем сотрудникам, она дает способность видеть в темноте все основные каналы.
  • админ – имеет права администрировать всё остальное. Главнее админов только владелец сервера, который и дает роли админам.
  • кандидат – это не сотрудник, а тот, кого будем собеседовать. Данная роль позволяет придти на наш сервер (по приглашению) и участвовать в удаленном собеседовании: видит он только два канала «собеседование» – текстовый и голосовой.
  • собеседующий – сотрудник, который проводит собеседование. Это не какой-то специальный человек, а просто любой сотрудник с дополнительной ролью. Собеседующий кроме всех своих каналов видит ещё текстовый и голосовой каналы «собеседование». Остальным сотрудникам (тем, кто не хочет участвовать в собеседовании) роль не даем и они не видят эти два лишних (для них) канала.


Остальные роли понятны без пояснений.

Каналы


Текстовые каналы на нашем сервере могут быть, например, такие:

  • #welcome – новые пользователи попадают по приглашению в этот канал и ждут, пока им дадут роли для доступа к остальным каналам. Можно настроить какое-нибудь прикольное приветствие.
  • #объявления – объявления для всех; без обсуждения
  • #общий – любые темы, не вошедшие в более специализированные каналы
  • #разработка – понятно
  • #тестирование – понятно, можно сделать видимость только для роли @тестер
  • #собеседование – понятно, можно сделать видимость только для ролей @собеседующий и @кандидат
  • #сервер – обсуждение настроек этого сервера, только для @админ
  • #корпоратив – обсуждение встреч, тимбилдингов, корпоративов


Структура каналов, как и структура ролей, делается под наши нужды. Создаем отдельный канал для любой долгоживущей темы и населяем канал нужными людьми при помощи ролей. Чем больше каналов, тем лучше пользователи защищены от ненужной им информации: либо они совсем не видят лишние каналы (нет ролей), либо сами избавляются от канала, заглушая его. Связка роли+каналы позволяет решить описанную в начале статьи проблему разделение по темам:

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


Вот как работает система прав Discord в конкретных кейсах.

  • Нанят новый сотрудник: даем ему нужные роли. Он автоматически попадает в правильные каналы.
  • Увольнение сотрудника: выгоняем с сервера.
  • Создание нового канала: обычно клонируем существующий, если нужны те же права. Настраиваем права ролей – и пользователи автоматически попадают в канал.


Для сравнения эффективности этой системы с другими мессенджерами рассмотрите такую задачку:

Убрать уволившегося сотрудника из всех рабочих чатов в <любом мессенджере>. При этом полного списка чатов нет, а создатель чатов в отпуске.

Упоминания


Упоминания – ещё одна вещь, которая делает работу в Discord эффективной. Это когда мы пишем сообщение в текстовый канал, упоминая аккаунт с помощью специального синтаксиса:

@Vasya.Pupkin Твоя ревизия сломала билд!


Можно упомянуть роль:

@тестер Помогите воспроизвести баг #12345


А вот так можно упомянуть всех, кто есть в канале (любой из этих вариантов работает):

@here Присылайте отчеты!

 

@everyone Присылайте отчеты!


Тут вы можете сказать: «Ха! В Skype тоже можно упомянуть через @имя. И зачем упоминать всех, какой в этом смысл? Ведь сообщение и без того обращено ко всем».
Действительно, в Skype можно написать Vasya.Pupkin. Но в Skype вся польза от упоминания в том, что во всплывающем уведомлении будет добавлено, что «вас упомянули». Наверное, в этом есть смысл, но в Discord сделали лучше. Прежде всего заметим, что в Discord есть два вида нотификаций о новых сообщениях:



  • Если вы вы не были упомянуты, то нотификация слабая: красный круг в таскбаре и маленькая чёрная пипка в названии канала.
  • Если же вас кто-то упомянул, то нотификация более заметная: красный круг с числом в таскбаре, на иконке сервера и в названии канала; кроме того иконка Discord в таскбаре мигает оранжевым (пока приложение не получит фокус).


Дискорда мудрость:

Поток сообщений в текстовых каналах не требует внимания, пока пользователь не упомянут.


Легко видеть, что такой подход решает описанную выше проблему избыточных нотификаций, если немного обучить пользователей правильному стилю работы. Например, такому:

  1. Пока вас не упомянули, нет ничего срочного/важного для вас. Можно отложить чтение каналов до лучших времён.
  2. Если упомянули, значит есть что-то срочное/важное, нужно сразу же прочитать.
  3. Каждый срочный/важный пост должен содержать упоминание целевой аудитории.
  4. Весь остальной поток сообщений в каналах тоже надо читать, но в удобное для себя время.


Как это работает на практике. Пусть, пользователи пишут в каналы сервера те же 250 сообщений в день, как в примере выше. Из них сообщений, отвлекающих от работы (с упоминанием) очень мало: упоминание одного аккаунта вообще не считаем, т.к. оно не отвлекает всю команду. Отвлекают команду только широковещательные упоминания, например:

@here Кто может проконсультировать по вопросу … ?
@here Техобслуживание сервера в 23:00, простой 5 минут.
@тестер Кто может проверить несложный баг?


И таких упоминаний в реальности очень мало, не более 2% сообщений. Обычно упоминают here когда задают вопрос не зная, кто конкретно может на него ответить. Все отвлекаются от работы и читают вопрос. Дальше люди, которым есть что сказать, остаются вести дискуссию, остальные возвращаются к своим делам. И не бойтесь, что here будет слишком много: лишний раз писать here в сообщении просто лень!

Также упоминаний не будет слишком мало. Хотя бы потому, что человек сам заинтересован позвать правильных людей упоминанием в своем посте, чтобы достичь нужного ему результата. Короче, всё это самобалансируется и получается норм. Что с остальными 98% сообщений? Их тоже надо читать, но не срочно. В удобное время с чашкой кофе прочитываем весь поток сообщений. Такое отложенное прочитывание не приводит к огромным потерям времени, как описано в начале статьи. Ведь читаем подряд, не переключая свой мозг между сообщениям и другими делами. И, что самое главное, сообщения не отрывают нас от работы.

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

А минусы какие?


Технические ограничения в Discord.

  • Пожалуй, самое главное ограничение: видео и показ экрана только 720p (больше – с платной подпиской Nitro). Для показа кода и текста этого мало. Решение? Показывать экран через Skype или другую программу, которая хорошо это делает.
  • Отправка файла в канал – не более 8 МБ (больше – с платной подпиской Nitro). Обычно хватает для всего. Если не хватает, то облачные хранилища уже изобрели.
  • В не-серверном режиме в групповом чате не более 10 участников. Этого может быть мало. Но надо помнить, что не-серверный режим порождает избыточные нотификации (там любое сообщение считается упоминанием). Решение: использовать сервер.
  • В одном сообщении не более 2000 символов; если больше, то предлагает отправить сообщение как файл.
  • Поиск среди сообщений имеет много возможностей, но вот найти по заданной подстроке не может. Например, если искать «мили», то слово «фамилия» не находит.


Организационные.

  • Регистрация пользователя чуть сложнее, чем в обычных смартфонных мессенджерах.
  • Нужны админы (фактически, просто активные пользователи), которые изначально настроят роли и права.
  • Нужно некоторое обучение пользователей, чтобы они правильно использовали упоминания и роли.
  • Митинг в голосовом канале не имеет явного «звонка» в начале, который всех призывает. Будут забывать, но проблема решается напоминаниями и ипатьевским методом.

 

Стандартные возможности


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

  • Цитирование. Упоминание сразу включено в цитирование.
  • Форматирование: стандартный набор. Полужирный, курсив, подчеркнутый, зачеркнутый, моноширинный.
  • Подсветка синтаксиса: есть для некоторых языков.
  • Вставка картинок, GIFок, ссылок.
  • Смайлики
  • Добавка смайликов-реакций под сообщения. Видно количество реакций и кто какую реакцию поставил (удобно в том числе для быстрых голосований).
  • Функция преобразования текста-в-речь.
  • Глушение нотификаций с ненужных каналов (@упоминание проходит сквозь глушение).
  • Вполне функциональные мобильные клиенты

 

А еще есть...


Боты и возможность написания своих ботов. Но это уже совсем другая тема.

Итого


Discord – это в некотором роде мессенджер 2.0, имеющий средства для эффективного общения больших групп пользователей, в том числе и в корпоративном применении. Создатели программы не побоялись выйти за рамки парадигмы обычных мессенджеров – и получилось неплохо. И в то же время Discord не конкурент обычным мессенджерам, у него своя экологическая ниша. Ведь у простых пользователей, не айтишников и не геймеров, наступает шок и трепет от необходимости администрирования и непохожести на привычные программы.

0
18:41
54
RSS
19:20
О! Это очень интересно!
Спасибо! ok Теперь попонятнее станет. dance