У социальных сетей есть важное преимущество перед обычными сайтами — лёгкая обратная связь на пост. Легко отправить фоточку в Инстаграм и получить свои лайки, легко запостить твит и собрать панамку ответов.
На обычных сайтах же обычно можно иногда оставить комментарий, если сайт это поддерживает, или попробовать связаться с автором каким-то другим способом (найти его почту, твиттер, джаббер…).
В Индивебе подход такой: мой контент должен быть на моём сайте в первую очередь. То есть, если мне захочется прокомментировать какую-то статью, то мне стоит написать пост-комментарий на своём сайте, и сослаться на оригинал.
В микроформатах это выражается как ссылка на оригинальный пост со свойством in-reply-to
.
<article class="h-entry">
<h2>В интернете кто-то не прав</h2>
<p>
<a
class="u-in-reply-to"
href="https://marinintim.com/2019/indieweb">
Тим Маринин написал статью про Индивеб</a>, но…
</p>
</article>
С другой стороны, если кто-то ответил на мой пост, я бы захотел об этом узнать! Для этого существуют веб-меншены (WebMentions, то есть веб-упоминания). Работает это так.
- Автор ответа (или система, которая используется) берёт ссылку на мой пост.
- Находит, куда я принимаю веб-меншены. Для этого на моём сайте есть тег
<link rel="webmention" href="сюда-присылайте">
Например, можно запустить в консоли:curl -i -s $target | grep 'rel="webmention"'
- Отправляет на этот адрес форму с двумя полями: откуда ссылка и на что.
Из консоли можно сделать так:
curl -i -d "source=$your_url&target=$target_url" сюда-присылайте
- Мой обработчик веб-меншенов получает запрос, проверяет, что с этой страницы действительно есть ссылка, и сохраняет у себя.
Конечно, это можно упростить или даже вовсе автоматизировать. Например, Telegraph позволяет и отправить веб-меншен вручную, и спарсить все ссылки со страницы, чтобы попытаться отправить на них уведомления.
Чтобы принимать такие веб-меншены на своём сайте, можно написать свою реализацию спецификации, а можно воспользоваться встроенной возможностью делегирования: я указал в качестве приёмника веб-меншенов сервис WebMention.io (этот вариант отлично подойдёт для статических сайтов).
И так как использовать уже написанный сервис проще, чем делать самому, то возникает невольная централизация пользователей. Но получается, что я отдаю часть контроля стороннему сервису, где же здесь Инди-, чем это лучше того, чтобы просто отдать свой контент Ello и FriendFeed? Это лучше тем, что позволяет постепенно приходить к Индивебу, а потом, если захочется, можно написать и свою реализацию по открытой спецификации.
У автора сайта так же есть полная свобода в том, как отображать полученные ответы и упоминания: можно отрисовывать их в виде комментариев, можно отображать как количество лайков, можно вообще никак не отображать.
У Индивеб-сообщества есть сильный сдвиг в сторону действия и UX в целом: лучше попробовать три-четыре варианта на самом деле, прежде чем садиться писать спецификацию.
UX и дизайн важнее, чем протоколы, форматы, модели данных, схемы, и т.д.
Мы фокусируемся сначала на UX, и по мере того как понимаем, что нужно сделать, разрабатываем самый простые, лёгкие, минимальные протоколы и форматы, которых хватит, чтобы поддержать этот экспириенс, и ничего сверху. Сначала UX, потом его поддержка.
Этот сдвиг улучшает устойчивость системы: выживает только то, что пригождается на практике, а не абстрактно хорошие, но в целом бесполезные штуки.
И если хочется написать ответ, то напишите у себя — и отправьте мне веб-меншен.
Заметка от редактора: сайт переехал на Friendware, если найдёте битые ссылки или что-то в целом работает не так, как должно, напишите мне.