Проблема возможности редактирования
Представь, что ты получаешь сообщение от кого-то. Ты читаешь его, действуешь соответственно и продолжаешь свой день. Через час ты возвращаешься к беседе, а в сообщении написано другое. Не то чтобы прислали новое — просто изменили то, что ты уже прочитал.
Это то, что позволяют многие мессенджеры. Редактировать сообщения после отправки. Удалять сообщения из истории другого человека. Переписывать разговор так, будто сказанное никогда не было сказано.
Это может показаться удобной функцией. Но у неё есть цена: она разрушает доверие к общей истории.
Чат как общий протокол
В Solo2 история разговора — это общий протокол между двумя людьми. То, что видишь ты, — это в точности то, что видит другой человек. Сообщение за сообщением. Слово за словом.
Это как подписанный контракт. После подписания ни одна из сторон не может зачеркнуть строку и написать что-то другое. Она может добавить новый пункт — отправить новое сообщение. Она может уничтожить свою копию — удалить его со своего устройства. Но она не может изменить то, что уже написано.
Окно для исправления
Все мы ошибаемся. Опечатка, сообщение не тому человеку, порыв, о котором ты жалеешь в следующую секунду. Вот почему Solo2 дает тебе 60-секундное окно после отправки сообщения.
В течение этих 60 секунд ты можешь удалить сообщение, и оно исчезнет с обоих устройств — с твоего и с устройства твоего контакта. Как будто оно никогда и не отправлялось.
Через 60 секунд сообщение становится частью протокола. Ты можешь удалить свою копию, если хочешь, — твои данные принадлежат тебе, и ты делаешь с ними все, что хочешь. Но копия твоего контакта останется нетронутой. Потому что его данные тоже принадлежат ему.
Два незыблемых принципа
Первое: данные каждого пользователя священны. Никто — ни другой пользователь, ни сервер, ни мы — не может манипулировать, изменять или получать доступ к данным пользователя.
Второе: общая история целостна. Информация, видимая на одной стороне туннеля, идентична той, что видна на другой стороне.
Когда эти два принципа вступают в конфликт — например, если пользователь удаляет сообщение со своего устройства, — первый имеет преимущество. Твои данные принадлежат тебе. Но это не даёт тебе права изменять данные другого человека.
Почему это важно
Доверие в приватной беседе строится на уверенности в том, что то, что ты видишь, — это в точности то, что было сказано. Если собеседник может переписать историю, у вас больше нет разговора — ты видишь отредактированную версию того, что произошло.
В Solo2 что сказано, то сказано. Не потому, что мы не можем реализовать редактирование — мы могли бы. А потому, что мы выбираем этого не делать. Потому что целостность твоих разговоров стоит больше, чем удобство возможности их подправить.