Три часа до PWA
После подачи заявки не остановиться: ещё три часа — и приложение стало устанавливаемым PWA, днём его увидела жена, вечером — друзья. И первые тесты на живучесть записи.

Автор: Georg Malahov
Заявка ушла вчера вечером, 1 марта, но остановиться я не смог: ночью просидел ещё три часа. Зато сделал из приложения PWA — Progressive Web App, когда веб-приложение устанавливается на телефон или десктоп и ощущается как нативное, без адресной строки и прочих элементов браузера. Заодно починил зум, который в мобильном приложении не нужен, научил поле даты открывать календарь вместо клавиатуры на полэкрана, прибил заголовок чата сверху, а по нажатию на микрофон запись теперь стартует сразу — и сразу загружается при остановке. Плюс коррекции для iOS, чтобы системные элементы ничего не перекрывали. Напоследок вычистил из демо-пользователя мусор и пошёл спать.
Смысл всей этой ночной возни простой: от «достал телефон» до «говорю» должно быть минимум движений. Иконка на домашнем экране, тап — открылось приложение, тап по микрофону — уже пишет. Каждый лишний клик на этом пути стоит дороже любой фичи.
Утром показал обновлённое приложение жене. А вечером мы были в гостях у друга, и получилась незапланированная презентация. Демонстрировал с локальной машины, и без VPN не работала загрузка файлов — то есть показ вышел неполный. Но реакция всё равно удивила: люди не ожидали, сколько всего уже сделано и что базовый сценарий покрыт от начала до конца — наговорил, сохранилось, нашлось, ответило. Один из друзей сразу стал думать вслух про следующие шаги: кому это продавать и как развивать. Приятно, когда твой проект начинают обсуждать как продукт, а не как игрушку.
Между делом я проверял приложение на живучесть — так, как будет пользоваться нормальный человек, а не я. Заблокировал телефон на середине записи и продолжил говорить: как будто бы пишет. Переключился из браузера в Telegram — и вот тут поймал неприятное: запись останавливается, хотя визуально всё продолжается. Человек будет говорить в пустоту и потеряет сказанное. Для продукта, чья главная ценность — «наговорил и забыл», это худший из возможных багов, и я пока не знаю, как правильно его решить: браузер засыпает и режет фоновую запись, тут нужны какие-то обходные пути.
Из этих выходных я выношу простую вещь: за два дня продукт прошёл путь от телеграм-бота до устанавливаемого приложения, которое не стыдно показать. Дальше — довести до ума мелочи из списка и ждать ответа по заявке. И побольше таких показов и тестов: баг с умирающей записью я бы в одиночку за клавиатурой не поймал никогда.