День уже на устройстве
Задачи, привычки, расписание и прогресс лежат локально — задолго до того, как связь пропала.
Защита · работа без интернета
Мы не пишем «работает офлайн» — это обещание, которое почти никто не выполняет целиком. Пишем точнее: сохранённый день доступен без сети, а всё, что уходит наружу, честно показывает своё состояние.
01 / Три состояния
Приложение всегда находится в одном из трёх и всегда об этом говорит. Неопределённость — единственное, чего здесь быть не должно.
Задачи, привычки, расписание и прогресс лежат локально — задолго до того, как связь пропала.
План открывается, отметки ставятся, изменения записываются в локальное хранилище.
Синхронизация не притворяется завершённой. Она показывает, что ждёт связи.
02 / Сценарий
От «всё в порядке» до «связь вернулась» — с точным описанием того, что видит человек на каждом шаге.
День загружен и сохранён на устройстве в зашифрованном виде.
Приложение переходит в локальный режим и говорит об этом. Пустого экрана с ошибкой не появляется.
Смотрите план, отмечаете сделанное, добавляете новое. Изменения складываются локально.
Синхронизация уходит отдельным шагом и сообщает результат — успех или ошибку.
03 / Экран
Большинство приложений в этот момент показывают серый экран с восклицательным знаком. Здесь остаётся то, ради чего вы открыли приложение, а сообщение о связи занимает своё место — рядом, а не вместо.
Обзор остаётся рабочим экраном, а не сменяется заглушкой.
Видно, что именно ждёт отправки, и это не засчитывается как успех заранее.

04 / Граница
Без обобщений: вот конкретные действия по обе стороны от наличия интернета.
Сохранённый обзор, задачи, привычки и расписание остаются на месте.
Задачу и привычку можно закрыть. Изменение запишется в локальное хранилище.
Чек-листы, подзадачи и заметки уже сохранённых дел открываются как обычно.
Ждёт связи. До неё изменение существует только на этом устройстве.
Модель находится снаружи. Без сети предложение не придёт.
Каждое — отдельная сетевая операция со своим статусом.
05 / Ошибка
«Что-то пошло не так» — не сообщение, а отписка. Если отправка не удалась, важно понять две вещи: сохранились ли данные и что делать дальше.
Изменение существует локально и остаётся частью текущего дня.
Синхронизация ждёт связи и подтвердит результат отдельно — успехом или ошибкой.

06 / Когда это заметно
Работа без сети нужна не каждый день. Но в эти три минуты она решает, останется задача записанной или нет.
Открыли день, увидели следующий блок, отметили привычку. Ни одно из этих действий не требует связи.
Записали задачу по итогам разговора. Она сохранилась сразу, а не повисла в очереди на отправку и не потерялась.
Видно, что именно уходило в облако и чем закончилось. Локальная работа и внешняя отправка не сливаются в один непонятный статус.
07 / Честная оговорка
Точный список действий без сети фиксируется отдельно для каждой проверенной сборки. Мы не выдаём общую фразу за гарантию на все случаи.
Новая версия становится активной только после проверок. Если что-то пошло не так, на устройстве остаётся работоспособная версия и ваше локальное хранилище.

08 / Следующий шаг
Локальная работа отвечает за сегодня. За завтра на новом телефоне отвечают аккаунт и ключ восстановления.