Плагин: раздел с резюме темы

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

Было бы полезно иметь раздел с кратким содержанием в начале темы?

Эта идея уже давно висит у меня в списке, и я считаю, что она могла бы по-настоящему трансформировать обсуждения.

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

Как бы работала эта сводка?

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

Позвольте мне проиллюстрировать это, используя наш текущий разговор в качестве примера:
Допустим, первый человек (я) начинает новую тему с исходным постом (этим).
Discourse затем спросит меня: «Хотите отредактировать сводку?»
Я отвечу «Конечно» и добавлю первый текст в сводку:

Сводка может помочь новичкам быстро войти в курс дела и поможет сообществу прийти к лучшим выводам.

Ок, пока всё хорошо. Теперь приходит человек B и, возможно, отвечает:
«Не уверен, стоит ли это делать. Я представляю это довольно сложным в реализации, и не добавит ли это просто шума?», публикует пост, а затем получает запрос на обновление сводки:

Сводка может помочь новичкам быстро войти в курс дела и поможет сообществу прийти к лучшим выводам. Однако это может добавить шума и быть непростым в реализации.

Третий человек C: «Я думаю, это отличная идея, но я согласен с B, возможно, это не стоит усилий. … Если только… Можно ли использовать это в наших предложениях и голосованиях [или в чем-то еще, что может интересовать конкретное сообщество]? Хм, может, нам стоит составить список плюсов и минусов для этого, что вы думаете?» C решает не обновлять сводку, он не уверен, что может изменить, чтобы сделать её лучше.

Четвертый человек D: «Да, это точно может сработать для нашего вовлечения пользователей и в процессе разработки предложений. И да, я поддерживаю идею C составить список плюсов и минусов, у меня есть еще несколько:
Мы могли бы сделать так, чтобы каждое изменение было связано с редактором, и при клике на него переходило бы напрямую к тому посту, это своего рода быстрая навигация. Верно?»

Сводка могла бы:

  • помочь новичкам быстро войти в курс дела
  • помочь сообществу прийти к лучшим выводам
  • служить «быстрой навигацией»
  • Не ограничиваться этим форумом Discourse

Однако возможные недостатки:

  • Может добавить шума
  • Вероятно, непростая в реализации.

B возвращается в обсуждение: «Погодите, погодите минуту. Прежде чем мы углубимся в эту кроличью нору, что именно должна суммировать эта сводка? Это просто перефразирование каждого отдельного поста? Это не имело бы особого смысла, верно? Можем ли мы сначала дать определение? Я думаю, она должна суммировать только то, что действительно важно, то есть только то, что способствует ответу на вопрос автора оригинального поста (OP), верно? Иначе я остаюсь при своем мнении, что это просто создаст больше шума или дополнительную нагрузку на то, что пользователям нужно вводить, и нагрузку на интерфейс и т.д…
Кстати, D, я нашел, что твоё «быстрая навигация» была немного непонятной, поэтому я немного изменил формулировку, надеюсь, теперь всё ок?»

Сводка должна суммировать весь релевантный контент в посте, который способствует ответу на вопрос автора.
Она могла бы:

  • помочь новичкам быстро войти в курс дела
  • помочь сообществу прийти к лучшим выводам
  • разделы в сводке могут быть гиперссылками на редактора
  • Не ограничиваться этим форумом Discourse

Однако возможные недостатки:

  • Может добавить шума
  • Вероятно, непростая в реализации.

Пользователь D: «Да, спасибо B, ты прав, это не обязательно очевидно, что я имел в виду. Но я всё же хотел бы упомянуть там быструю навигацию, потому что это, на мой взгляд, несколько отдельный момент. Связывание чего-либо дает немного… подтверждения? Аутентичности? Не уверен, как это назвать…
О, и просто перефразирую свой первоначальный пункт об использовании вне этого форума Discourse немного иначе…
Что я на самом деле имел в виду, так это то, что это может использоваться не только в нашем конкретном контексте предложений и голосований. Например, это может использоваться для отслеживания прогресса задач, статуса чего-либо, может давать более полное представление о любом вопросе… возможности безграничны.»

Сводка должна суммировать весь релевантный контент в посте, который способствует ответу на вопрос автора.
Она могла бы:

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

Однако возможные недостатки:

  • Может добавить шума
  • Вероятно, непростая в реализации.

Затем приходит пользователь X, видит последнюю версию сводки, всё интуитивно понятно, кроме пункта «гиперссылки на редактора», поэтому он наведет на него курсор, увидит, что пост пользователя D был первой связанной записью, а пост пользователя B — второй. (Некая информация во всплывающей подсказке при наведении). Он может напрямую перейти по ссылке к посту D и прочитать детали оттуда, а затем сразу к посту B (между ними могли быть другие посты, которые были свернуты, так как они не внесли вклада в изменение).

… ок, надеюсь, вы уловили суть. :wink:

Очень легко войти в курс дела, не так ли? (если представить, что нужно читать только эту сводку!)

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

(Это было гораздо больше, чем я планировал написать, но было весело придумывать этот пример :laughing:)

Что вы думаете?
Возможно ли технически реализовать такой плагин в экосистеме Discourse?
Вам нужна дополнительная информация? Более серьезные макеты? (Я не очень хорош в этом, но могу попробовать создать некоторые)

Отказ от ответственности:
Я мог бы попытаться разработать это сам, и возможно, сделаю это, но у меня пока нет опыта работы с Ruby / Ember / Discourse, так что это займет у меня время.
Кроме того, идея возникла немного раньше, но получила больше внимания в группе сообщества, которая нашла бы это чрезвычайно полезным, поэтому я мог бы сделать это там и немного «попробовать на себе» (dogfooding)… но опять же, это займет время, и если это будет ценно для Discourse, то участие некоторых из вас было бы супер крутым!

Всего доброго :slight_smile:

7 лайков

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

Не могли бы вы сделать несколько набросков или макетов ключевых элементов UX, которые добавит эта новая функция?

Вы можете продвинуться довольно далеко, создав прототип как #theme-component.

3 лайка

Спасибо, что указали на #theme-component, это выглядит интересно.

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

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

  • Редактировать посты может только автор (или модераторы/администраторы), а идея поля «краткое содержание» заключается именно в том, чтобы выйти за рамки этого ограничения.
  • При таких правках не указывается, кто и зачем их внес, тогда как для поля «краткое содержание» это можно (и нужно) реализовать. (Я постараюсь вскоре подготовить более детальный макет этого.)
  • Должна быть доступна история изменений поля «краткое содержание», чтобы пользователи могли видеть, что, когда и как менялось (в стиле Википедии).
  • В конечном итоге для правок могут (или должны?) быть предусмотрены более детальные уведомления. Например, я хочу получать уведомления, если одно из моих вкладов в краткое содержание было отредактировано.

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

2 лайка

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

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

Два предложения:

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

  2. Вместо одного краткого содержания вверху разрешите несколько кратких содержаний, каждое из которых может быть обычным ответом с тегом summary. Несколько кратких содержаний полезны, когда существует более одной стороны спорного аргумента (чтобы предотвратить войны правок в одном кратком содержании), или когда есть подтемы (в этом случае ответы на краткое содержание подтемы могут стать корневыми элементами для ветки второго уровня этой подтемы).

1 лайк

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

Одним из решений здесь могло бы стать добавление аннотаций Genius к сообщениям темы. Это позволило бы прикреплять аннотации (каждая со своей веткой комментариев Genius) к фрагментам текста темы. Такое пристальное внимание должно стать мощным стимулом для редактирования текста темы с целью учёта контраргументов, что запустит новые раунды обсуждения, пока текст темы и контраргументы не будут доведены до совершенства. Итоговые контраргументы можно использовать для создания сводного ответа с контраргументами.

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

1 лайк

Привет, mrj, спасибо за эти идеи, я считаю их отличными!

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

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

1 лайк

Вот SVG с основами…

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

3 лайка

Да, всё верно. Однако нужно будет подумать, как лучше всего обрабатывать под-под-темы в двухуровневой системе комментариев.

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

Что касается более широкого использования Genius, мне нужно будет проверить, позволяет ли система Genius отключать комментарии к аннотациям. В таком случае комментарии к аннотациям будут вынужденно перенаправляться в основные ветки ответов, желательно с возможностью ссылки на отдельные аннотации.

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

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

Разделение ссылок на отдельные комментарии по их рейтингу — отличная идея. Но отображение оценки каждого комментария было бы лучше, чем ухудшение читаемости за счёт затемнения.

1 лайк

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

1 лайк