Простой тест: что будет, если сервис завтра закроется
Я веду заметки, задачи и протоколы встреч уже много лет. За это время у меня умерло, наверное, штук пять любимых приложений. Одно купили и закрыли. Другое подняло цену втрое и убрало половину функций. Третье просто перестало открываться после обновления ОС, а разработчик пропал. Каждый раз я терял не программу — программ полно. Я терял накопленное: годы записей, связей, поиска по собственной голове.
Поэтому теперь любой новый инструмент я проверяю одним вопросом: «Что будет с моими данными, если эта компания завтра исчезнет?» Если честный ответ — «данные останутся у меня, я открою их без этого приложения», то инструменту можно доверять. Если ответ — «данные в их облаке, экспорт кривой, без подписки не зайти», то я строю дом на чужой земле.
Вот из этого вопроса и вырос подход, который называют local-first.
Что такое local-first
Если объяснять, что такое local-first простыми словами: это приложения, где ваши данные в первую очередь живут на вашем устройстве, а не на сервере компании. Файлы лежат у вас на диске, приложение работает с ними напрямую и без интернета. Облако, если оно есть, — вторично: оно синхронизирует копию между вашими устройствами, но не является единственным местом, где данные вообще существуют.
Сравните с привычной моделью большинства сервисов. Там всё наоборот: данные живут на сервере вендора, а приложение на вашем устройстве — это, по сути, окно в чужой дом. Нет интернета — нет доступа. Закончилась подписка — окно закрыли. Компания решила изменить условия — вы узнаёте об этом постфактум.
Ключевая разница не техническая, а про власть. При local-first подходе исходник — у вас. При облачном — у них. Всё остальное вытекает отсюда.
Хранение данных локально и почему это не то же самое, что «есть экспорт»
Мне часто возражают: «Да ладно, у моего сервиса же есть кнопка экспорта». Есть разница между «можно выгрузить архив» и «данные изначально лежат у меня».
Хранение данных локально означает, что рабочая, живая версия ваших записей — это обычные файлы на вашем диске прямо сейчас. Не бэкап раз в месяц, не zip-архив, который надо ещё суметь распаковать и куда-то залить. Хороший признак — когда данные хранятся в открытом, читаемом формате. Например, в обычных markdown-файлах: их откроет любой текстовый редактор через десять лет, без всякого приложения и без всякой компании.
Экспорт — это аварийный выход. Local-first — это когда вам вообще не нужен аварийный выход, потому что вы и так всегда внутри своего дома. Проверьте на своём текущем инструменте: если удалить приложение, останется ли у вас что-то, чем можно пользоваться? Если да — хорошо. Если после удаления остаётся пустота — вы в облачной модели, даже если там есть кнопка «скачать».
Vendor lock-in: тихая ловушка, в которую попадаешь годами
Vendor lock-in — это когда уйти от сервиса дорого не по деньгам, а по потерям. Вы вложили в него столько своих данных, привычек и связей, что мысль «а если сменить» вызывает тоску. И вендор это знает.
Ловушка в том, что vendor lock-in копится незаметно. В первый месяц вам всё равно, где лежат три заметки. Через два года там вся ваша рабочая память, и вы соглашаетесь на любое повышение цены, потому что альтернатива — начать с нуля. Это не жадность компаний, это устройство модели: чем сильнее вы привязаны, тем меньше у вас переговорной силы.
Local-first ломает этот механизм в корне. Когда данные остаются у пользователя в открытом формате, лояльность держится не на страхе потери, а на том, что продукт реально хорош. Компания обязана быть полезной каждый месяц, а не один раз затащить вас и запереть. Как пользователь, вы в любой момент можете уйти — и именно поэтому обычно не хотите. Это здоровые отношения вместо заложничества.
Маленькая, но важная проверка перед тем, как вкладываться в инструмент надолго:
- В каком формате хранятся мои данные — открытом или проприетарном?
- Смогу ли я их прочитать без этого приложения?
- Работает ли инструмент без интернета и без активной подписки хотя бы в режиме чтения?
- Если синхронизация зашифрована — у кого ключ, у меня или у вендора?
Почему для личной базы знаний это ключевой вопрос
Для разовой задачи всё это не так важно. Заказать такси, купить билет — данные там одноразовые, не жалко. Но личная база знаний — заметки, идеи, протоколы встреч, договорённости за годы — это внешняя память. Это буквально часть вашего мышления, вынесенная на диск.
Потерять внешнюю память больнее, чем потерять телефон. Телефон вы купите новый за час. А связи между тысячей заметок, накопленные за пять лет, не восстановит никакой новый телефон и никакая новая подписка. Поэтому именно для того, что вы собираетесь хранить долго и считать своим, вопрос «а данные точно останутся у меня?» — не паранойя, а базовая гигиена.
Я пришёл к простому правилу: для мимолётного — что угодно, для важного и долгого — только local-first.
Как это выглядит на практике
Один из моих рабочих примеров — Alfric, ассистент рабочих созвонов. Он слушает встречу и отдаёт протокол с решениями, задачи с ответственными и сроками, саммари, а потом напоминает о хвостах. И любую договорённость можно найти обычным вопросом вроде «что решили с подрядчиком в мае?».
Но для меня решающим было другое: записи и расшифровки хранятся у меня на компьютере, в обычных markdown-файлах. Синхронизация между устройствами зашифрована, ключ у меня. Это ровно та local-first модель, о которой весь разговор: данные остаются у пользователя, нет vendor lock-in, ничего не утекает в облако вендора. Даже если завтра проект остановится, мои протоколы встреч останутся у меня и откроются в любом текстовом редакторе. Работает это на macOS, Windows и iOS.
Я привожу его не как рекламу, а как иллюстрацию: так выглядит инструмент, прошедший тот самый тест из начала статьи.
Итог
Local-first — это не про технологии, а про то, кому принадлежит ваша цифровая память. Данные на вашем диске, в открытом формате, доступные без интернета и без подписки — это защита от закрытия сервиса, от роста цен и от тихого vendor lock-in. Для одноразовых задач это неважно. Для личной базы знаний, которую вы копите годами, это, пожалуй, самое важное свойство инструмента. Прежде чем вложить в новый сервис свои годы, задайте ему один вопрос: «Что будет с моими данными, если ты исчезнешь?»