Уже н-цать лет сижу в rurust гиттере и до сих пор до конца не понимаю, почему именно гиттер стихийно стал центром сообщества. Наверное, дело в отсутствии необходимости что-то организовывать и простоте подключения к процессу общения. В любом случае, форум у нас есть давно, но живет в режиме зомби и меня это несколько печалит.
TLDR: предлагаю перенести большую часть “информационного” общения на форум, не отказываясь при этом от чатов как инструмента помощи с тривиальными или срочными вопросами (и просто флудильни).
Что мне не нравится в чатах и что может исправить форум
По сути, если отставить в сторону очевидную глючность конкретно гиттера, то все мои претензии сводятся к проблемам масштабирования и обнаружения.
Чатопроблема первая: масштабирумость
-
Плохая асинхронность.
Полноценно пользоваться чатом можно только если ты вот прям присутствуешь в нем все время.
Т.е. чат удобен в первую очередь тем, кому подходит постоянно мониторить его с перерывами не больше чем на пару часов (+ на сон, все равно все спят примерно в одно время).Потому что, если ты заходишь в гиттер и видишь 100+ непрочитанных сообщений в комнате, то все, скорее всего реально только нажать “отметить все как прочитанное” и забить. Какие ты при этом упускаешь важные ссылки-обсуждения - черт его знает.
-
Сложность параллельного обсуждения нескольких тем.
Обыденная ситуация в гиттере, даже с учетом того что у нас есть несколько отдельных комнат: одновременно обсуждается простой вопрос про конфликт ВЖ, более сложный вопрос про футуры, какой-нибудь вообще полуфилосовский вопрос организации кода и внезапно еще прилетает некро-ответ на четвертое вчерашнее обсуждение, запускающий лютый срач, который перекрывает наглухо первые три обсуждения.
-
Сильно ограниченная масштабируемость.
Я не знаю как это называется по-умному, но у чата есть параметр, который я обзову “скоростью” - насколько быстро в нем появляются новые сообщения.
У каждого читателя чата тоже есть некая максимальная скорость. Если чат движется быстрее ее, то человек скорее всего перестанет нормально воспринимать информацию и или отпишется, или будет на автомате просто прокручивать сообщения. Если это происходит постоянно, то человек скорее всего перестает активно следить за чатом.
Из-за этого чаты тяготеют к подавлению менее активно присутствующих людей и постепенному их выдавливанию на перефирию сообщества, какие бы ценные знания-мнения у этих людей не были. И сила такого выдавливания обычно пропорциональна размеру сообщества, т.е. постепенно растет со временем в нашем случае.
Насколько я представляю, с асинхронностью чаты помочь не могут вообще. Они все заточены под общение с малыми задержками. В интересах же растущего сообщества - двигаться к более медленным, но обстоятельным и информативным обсуждениям.
Что касается тем, то когда-то давно, пока гиттер еще активно развивался, в него хотели ввести темы, но этого не случилось.
Про Zulip говорят что там там хорошая система тем. Лично я толком этим не успел попользоваться, но от прочитанного есть ощущение что получается эрзац-форум и лучше уж пользоваться настоящим.
Для форумов же асинхронное общение является нормой и они заточены под него, а без легкого создания тем форум представить вообще сложно. Даже если ты неделю не заходил на форум, пролистать список тем и отфильтровать пяток с важными для тебя названиями - совершенно не сложно.
Чатопроблема вторая: обнаружение и поиск
Думаю, тут особо пояснять не нужно - гугл никогда не выдаст на твой вопрос ничего из чата. Даже если ты рассказываешь что-то очень интересное и нужное, вероятность что это увидит кто-то, кроме присутствующих в этот момент или заглянувших в течение пары часов - почти нулевая. Т.е. эффективность чата как канала обмена информации 1-к-N очень маленькая, куча знаний просто пропадает почти бесследно.
Даже свои собственные высказывания, допустим, годовалой давности найти становится невероятно трудно.
Если рассматривать не только гиттер, а, например, IRC-архивы, то да, их иногда выдает таки в поиске, но почти всегда они все равно бесполезны, потому что тебя кидает в какой-то дикий поток сообщений без конца и начала и разобраться откуда вообще начинать вникать - постороннему человеку почти нереально.
Форум в этом плане решение старперское и надежное: кроме внутреннего поискового движка, индексируется гуглом и остальными поисковиками со всей мощью их искалок.
И как бонус, на форум могут вываливаться из гугла ищущие что-то про раст люди, потому что сейчас если на что такое и нарвешься, так только на хабростатью.
Вопросы с форумом
Тут я попытался ответить на запомнившееся мне возражения насчет инициативы с форумом, большей частью из offtopic канала гиттера.
Меньшая интерактивность и неповоротливость
Форум правда несколько менее интерактивный/оперативный. Если вопрос дико срочный, то для них остается чат.
вопрос в том, что ты ( @webdesus ) предлагаешь вместо того,
чтоб самому разбираться, кто что написал, каждому пользователю
самому квалифицировать своё сообщение,
с помощью метки/темы на форуме/еще как-то.только вот я не стал бы таким заниматься
Да, собственно в этом предложение и есть: один человек тратит на нцать секунд своего времени дополнительно, зато остальные потенциально заинтересованные коллективно экономят намного больше, за счет лучшей структурированности информации. Я нахожу это вопросом уважительного отношения друг к другу.
И в целом, наверное я слишком привык к форумам в юности, но не вижу особой сложности в том что нажать на кнопку “новая тема” и придумать ей заголовок, вроде дело максимум на пол минуты.
Если для части членов сообщества это все-таки критические временные затраты, то чаты никто не выключает.
Переутяжеленность discourse движка
Считается, что ничего страшного, если форум переутяжелен.
Но я не согласен в такой идеей.
С легким форумом который не тормозит, работать приятней.
И вообще, на самом деле, чат тоже переутяжелен.
В целом оно немного “вебдванольное” слишком, но я бы не сказал что прям жесткий перегиб с этим. По современным меркам он дажегде-то в середине диапазона “тяжеловестности”. С точки зрения производительности ни на ноуте, ни с телефона у меня проблем не возникает.
По функционалу и интерфейсу - я бы скорее назвал его непривычным просто. Т.е. меня раньше довольно сильно раздражало перехватывание поиска по странице и прокрутки, но привык после чтения пары десятков тем на URLO/IRLO.
Зато движок открытый и более чем живой. Для него есть довольно много всяких расширений, которые вполне можно будет при необходимости вкрутить поверх базового функционала.
Уведомления
Родные для discourse уведомления - слать письма на почту. Приходят с задержкой в пару минут. Я и так активно пользуюсь почтой ежедневно, так что для лично меня работает отлично.
Для современных людей, не желающих морочиться с почтовым анахронизмом, вполне можно наладить какие угодно уведомляшки через расширения. Гугл говорит что их дофига, например вот телеграмовское.
В том числе, думаю, должно быть вполне реально настроить кидание ботом сообщения в “genеral” гиттер чат о создании новой темы на форуме.
Плотность информации
Ссылка на сообщение @pzixel из соседней темы
Насчет большей плотности информации в чате. Вот сегодняшний пример типичного, как мне кажется, разговора в гиттере:
Dmitriy @dpogretskiy 12:37
да, именно потому что alloc::String
можешь намутить свой тип, с буфером который Sized
zhukovskiy @Pzixel 12:38
не могу
мне нужно именно для строк
и векторов
Dmitriy @dpogretskiy 12:38
в котором какой нибудь убогий null terminated стринг :)
zhukovskiy @Pzixel 12:38
вообще я посмотрел
взрослый serde_json если в no_std перевести всего 4 ошибки компиляции выдает
Dmitriy @dpogretskiy 12:39
ну и с вектором тоже самое, фигач в массив, и ломай все если не лезет
Обмен сообщениями по несколько слов на форуме, конечно, выглядит несколько нелепо, надеюсь что никому не придет в голову этим массово заниматься. После адаптации этих же сообщений под “форумный формат”, выглядеть должно примерно так:
dpogretskiy 12:38
да, именно потому что alloc::String. можешь намутить свой тип,
с буфером который Sized в котором какой нибудь убогий null terminated стринг :)
ну и с вектором тоже самое, фигач в массив, и ломай все если не лезет.
[лайк] [поделиться] [ответить]
Pzixel 12:39
не могу. мне нужно именно для строк и векторов. вообще, я посмотрел,
взрослый serde_json если в no_std перевести всего 4 ошибки компиляции выдает.
[лайк] [поделиться] [ответить]
Да, вокруг самих сообщений больше “воздуха”, но с учетом изменения структуры самого общения это наоборот логично и упрощает чтение.
Коэффициент пустого пространства становится тем меньше, чем длиннее сообщение. По идее, это как раз таки должно приводить к улучшению качества обсуждения и т.п.
Форум уже давно есть. Был бы нужен - им бы и пользовались уже
@sobaka_v_kepke: Форум есть. Если бы люди хотели там быть - они бы там были.
Мое возражение на это, собственно, простое: нужна минимальная критическая масса активных форумчан. По ощущениям - ну людей пять хотя бы. Их у форума никогда и не было. Собственно, я своей простыней надеюсь их получить
Я о том же. Лучше с флудом, но как-то помогать и просить помощи,
чем оставлять проблемы гнить на форуме.
Прямо сейчас на форуме, насколько я понимаю, неотвеченных тем нет. Если “форумные энтузиасты” не могут ответить на что-то, то ссылка на вопрос выкидывается в чат и заинтересованные подтягиваются. Это работало раньше, не вижу почему не будет работать и с увеличением активности на форуме.
Роль чатов и что писать на форум
Эксперимент с форумом, как я его вижу, ортогонален всем экспериментам с мостами в телеграм, zulip’ом и т.п. Чат в любом случае будет лучше форума справляться с ответами на совсем уж тривиальные вопросы или что-то срочное.
При сосуществовании живого форума и живого чата возникает довольно естественный вопрос “что писать на форум, а что в чат?”.
В идеале я вижу себе так: если информация может быть кому-то полезна, то лучше ее постить на форуме, если обсудить что-то срочное или точно никому особо не интересное - чат. Т.е. хотелось бы что бы чат жил себе дальше, но не было нужды постоянно его мониторить - просто заходить время от времени, когда захочется поболтать.
Сейчас в гиттере есть несколько практически пустующих комнат. Если в дальнейшем эксперимент с форумом окажется удачным (хз какие тут точные критерии назвать), то, возможно, стоит в чате оставить только “general”, “offtopic” и переводческую комнаты.
Модерация
@Pzixel: чувствую в новом оплоте счастья диктатура будет еще та)
Разница только в том, что общение будет структурировано темами, а это никак не может работать без выноса всяких значительных оффтопиковых обсуждений в отдельные темы.
Формат форума
@Pzixel: предлагается на каждый вопрос “объясните future::ok” или
“что такое ref mut” по теме создавать? Тогда количество тем станет
просто бесконечным. …
Тут, конечно, всплывает интересный вопрос с двумя видами тем на форумах, назовем их “одноразовые” и “мета-темы”.
По умолчанию, стоит заводить простые темы вида “изначальная постановка вопроса и ответы на него”.
Но если ожидается, что отдельных тем, объединенных общей метатемой, будет прям много и каждая из них будет не больше нескольких сообщений - стоит завести “метатему”.
Хорошие примеры мета-тем из англоязычного сообщества:
https://www.reddit.com/r/rust/comments/8z5zlz/hey_rustaceans_got_an_easy_question_ask_here/
https://www.reddit.com/r/rust/comments/8z61m6/whats_everyone_working_on_this_week_292018/
https://users.rust-lang.org/t/twir-quote-of-the-week/328
Если же на одну метатему ожидается мнооого больших тем, то, наверное, надо просто заводить новый раздел на форуме.
@Pzixel: … Если же начать фильтровать, требовать MRE и прочее,
получится такой костыльный SO #2
Я сам подписан на ржавую метку в SO - https://ru.stackoverflow.com/questions/tagged/rust - и пользоваться им никто не запрещает, конечно.
Собственно, я всеми руками за него и никого не отговариваю задавать там вопросы.
Но формат общения на SO очень жесткий и специфический. Четкий вопрос - четкий ответ. И все, остальное не одобряется. Форум в этом плане сильно более гибкая штука, которая вполне может быть ядром сообщества при правильной организации.
Что предлагаю делать
-
Всем не сочувствующим инициативе - отписаться тут почему именно, если я чего-то важное в анализе выше упустил, и продолжать пользоваться чатом.
-
Всем сочувствующим - собственно, пользоваться форумом
Если у вас есть не совсем уж тривиальный вопрос, то создать под него тему на форуме и кинуться ссылкой в чат. Если есть клевые ссылки - закидывать в раздел ссылок. -
Закрыть /r/rustycrate в пользу раздела “ссылки”. Постоянно бывает что хорошие ссылки раза по четыре постят за день в оффтопике и general комнатах параллельно.
-
Завести на форуме разделы:
-
offtopic - просто флудильня для обсуждения всего
-
prog_offtopic - оффтопик, но про программирование на других языка
-
showcase (?) - раздел для показа-обсуждения своих проектов участниками?
-
-
Настроить ботов или расширения:
-
сообщать в гиттер что создана новая тема в качестве напоминания что форум есть и там чего-то происходит.
-
телеграм-бота, который бы в отдельную комнату слал бы уведомления об активности на форуме - для тех кто мало обычной почтой пользуется и недоволен почтовыми уведомлениями.
-
-
Написать небольшое руководство, отвечающее на вопрос “когда стоит создавать тему, а когда лучше сразу пойти в чатик”.
Рисков у этого эксперимента не особо много: если форум не взлетит, просто все откатываемся в чатики, как и было. Для людей, которым идея форума прям сильно не нравится, вообще мало что меняется - можно точно так же продолжать сидеть в чатах в обычном режиме.
Спасибо всем дочитавшим простыню