Перейти к содержимому
Все записи

Без аккаунтов, без паролей: почему в моих приложениях нет экрана входа

Шесть приложений, ноль форм регистрации. Вот реальная причина полного отказа от аккаунтов — во что это обходится, что убирает и где проходит граница.

MFKAPPS 4 мин чтения

Granyn, Hydrame, Subly, Stocky, Mintly, OldSchool — шесть приложений, шесть разных задач, и ни одно из них никогда не показывало вам форму регистрации. Ни поля для email, ни правил для пароля, ни письма «подтвердите аккаунт», непрочитанным лежащего в папке спама. Вы открываете приложение — и оно работает.

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

Default, который никто не подвергает сомнению

Создание аккаунта стало первым экраном почти любого приложения, включая множество таких, у которых нет реальной причины его требовать. Трекеру продуктов в кладовой не нужно знать, кто вы, чтобы запомнить, что у вас закончились яйца. Приложению для бюджета не нужен ваш email, чтобы отнести покупку кофе к нужной категории. В какой-то момент «сначала зарегистрируйтесь» перестало быть осознанным решением и стало рефлексом разработчиков — скопировать шаблон, подключить авторизацию, выпустить релиз.

Цена этого default целиком ложится на пользователя, ещё до того, как он увидит хоть одну функцию: пароль, который нужно придумать, капчу, которую нужно решить, письмо, которое нужно подтвердить, иногда номер телефона для «верификации». Это реальное трение, оплаченное авансом при каждой установке — за нулевую ценность.

Что аккаунт на самом деле покупает — и кому

Будем честны насчёт этой сделки: аккаунт в основном выгоден разработчику, а не пользователю. Он даёт вам стабильный идентификатор, вокруг которого можно строить аналитику, рычаг для повторного вовлечения людей через email и способ обосновать подписку словами «ваши данные — в нашем облаке». Ничего из этого не является злом само по себе, но и бесплатным не является тоже.

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

Что local-first ставит вместо этого

Вместо аккаунта каждое приложение обращается с устройством как с аккаунтом. Данные живут в локальной базе SQLite через Room с самого первого запуска. Входить некуда, потому что на сервере нет ничего, что ждало бы, чтобы его востребовали.

Резервное копирование и восстановление всё ещё существуют — просто им не нужно имя пользователя, чтобы работать. На Android это означает экспорт/импорт через Storage Access Framework для переносимого файла, который контролируете вы, плюс Auto Backup for App Data как страховка, о которой вообще не нужно думать. Если телефон выйдет из строя, вы восстанавливаетесь из этого файла, а не из пароля, который вы якобы должны помнить полтора года спустя.

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

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

Честный компромисс

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

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

Где на самом деле проходит граница

Правило, которым я пользуюсь, простое: если функция может работать, не зная, кто вы, у неё нет права это спрашивать. Экран входа — это не настройка по умолчанию, а конкретный компромисс, который конкретная функция обязана оправдать в обмен на что-то, что пользователь может почувствовать: синхронизацию, совместный доступ или сервис, который действительно не может работать на устройстве. Без этого честный ответ на вопрос «почему нет регистрации» звучит так: строить её никогда не было веской причины.

// По теме

Ещё из журнала

MFKAPPS 4 мин чтения

Бюджет при нерегулярном доходе: система, не рассчитанная на стабильную зарплату

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

#mobile #ux #indie
MFKAPPS 4 мин чтения

Одно приложение — одна задача: почему я не делаю супер-приложение

Любое растущее приложение сталкивается с давлением добавлять функции и сливаться в одну платформу. Вот почему MFKAPPS остаётся набором из шести небольших приложений.

#indie #philosophy #ux
MFKAPPS 4 мин чтения

Настройка напоминаний о лекарствах для члена семьи: руководство для того, кто заботится

Практическое руководство о том, как помочь родителю или партнёру не сбиваться с приёма лекарств — что настроить, чего избегать и как узнавать о делах, не превращаясь в надзирателя.

#reminders #ux #mobile