Бюджет, бассейн и головная боль: как я превратил гугл-таблицы в персональные приложения
Мне 24 года, живу в Москве. Я очередной разработчик из очередной ИТ-компании 😀
В 2018 году я познакомился со статьей про ведение бюджета в таблице — с тех пор активно пользуюсь этим инструментом. Сейчас у меня три таблицы: бюджет, история посещений бассейна и история головной боли. Недавно я конвертировал их в приложения.
Таблица для ведения бюджета
Я не заморачивался с контролем бюджета, но желание его вести зрело во мне несколько месяцев. Мне не нравилось, что все непредсказуемо, и у меня совершенно не было ощущения, что я контролирую свои финансы. Я не мог ничего планировать на горизонте дальше месяца.
В то время я был начинающим разработчиком с низкой зарплатой и жил в общежитии. Заканчивал бакалавриат и рассматривал вариант не идти в магистратуру: в таком случае я терял место в общежитии, а значит, нужно было готовиться к аренде квартиры. Это и стало моей главной мотивацией вести бюджет.
Во-первых, при заключении договора нужно оплатить комиссию риелтора и аренду за первый месяц, а также внести залог. Эта сумма была равна моему месячному доходу, требовались накопления. Во-вторых, я не хотел кое-как выживать от зарплаты до зарплаты, когда сниму квартиру.
Сейчас у меня нет финансовых целей, но ведение бюджета стало приятной привычкой, которая дает стабильность и предсказуемость. К тому же с годами я осознал, что это еще и мой личный дневник, по которому иногда приятно пробежаться, чтобы поностальгировать.
Раньше я не делал в «Экселе» ничего сложнее простейших таблиц без формул, но за два года стал достаточно опытным. Поначалу пользовался версией из статьи, а потом внес незначительное изменение. В оригинальной таблице главная переменная — это процент накоплений (откладываем). Мои ожидания редко бились с реальностью, и я регулярно слишком завышал этот процент. В результате бюджет на день опускался до дискомфортного уровня.
Чтобы испытывать меньше негатива, я сделал главной переменной бюджет на день — пользуюсь таблицей в такой вариации уже год. Негативных эмоций действительно стало значительно меньше. Траты выросли, но не сильно — мой личный комфорт точно того стоит.
Таблица с историей посещений бассейна
Мне было интересно сравнить цены посещения обычного бассейна и бассейна в фитнес-зале по клубной карте. Первый находится в 15 минутах от работы, а второй — в 7 минутах от дома. Я отдавал предпочтение фитнес-залу, но думал, что стоимость карты в пересчете на одно посещение окажется некомфортно высокой. Я оформил карту на три месяца и начал вести таблицу.
Попутно с денежным вопросом я сформулировал цель по количеству походов в бассейн: рассчитывал, что буду посещать его два раза в неделю. Чтобы она казалась более достижимой, сделал поправку на новогодние праздники — получилось 23 раза. В результате отходил 20 раз, цена одного посещения составила 448 ₽. Разовое посещение бассейна возле работы стоит 400 ₽, так что я остался доволен клубной картой. Своим результатом — тоже.
Таблица не только вычисляет, во сколько обходится одно посещение бассейна, но также фиксирует план. Например, в текущем квартале я собираюсь ходить в бассейн два раза в неделю. Значит, план на три месяца: 90 / 7 × 2 = 25. Минус погрешность, чтобы не создавать себе лишний стресс, — то есть 20. Такой подход геймифицирует хождение в бассейн и дарит дофамин в момент проставления очередной галочки.
Я сформулировал цель на год из комфортной для себя цены одного посещения в размере 400 ₽ — получается 51 раз. Эта цель выглядит очень легкой, но я и не против. В жизни все-таки что-то должно быть легко.
Таблица с историей головной боли
Когда я себя накручиваю и сильно волнуюсь, у меня начинает болеть голова. В такие моменты помогает только обезболивающее.
Весной я заметил, что голова стала беспокоить чаще. На это указывала и быстро опустевшая упаковка таблеток. Тогда я начал внимательнее следить за своим самочувствием и обратился к врачу. Он прописал курс лекарств и посоветовал купить тонометр, чтобы наблюдать за давлением. После того как я пропил все лекарства, несколько месяцев голова совсем не болела. Но в конце июля это случилось опять.
Помня весенний опыт, я сразу начал следить за давлением и частотой болей. Так и появилась очередная таблица, которая выполняет две задачи. Во-первых, снимает волнение, что голова болит слишком часто. Оказалось, это происходит реже раза в месяц. Во-вторых, фиксирует давление в момент головной боли. Это дает дополнительную фактуру при обращении к терапевту.
Кроме того, я начал активно бороться со стрессом. Сейчас регулярно медитирую и ежедневно делаю разминку, чтобы снимать напряжение в теле. Кажется, это помогает! Голова не болит уже 35 дней.
Как я сделал из таблиц персональные приложения
В сентябре 2020 года я наткнулся на статью про платформу Glide, которая позволяет создавать мобильные приложения прямо из гугл-таблиц. У меня сразу загорелись глаза, и в тот же вечер я начал придумывать собственные приложения.
Сервисом можно пользоваться бесплатно в личных некоммерческих целях. Ограничения никак не ощущаются, но для более продвинутых пользователей есть разные тарифные планы.
Чтобы попасть на платформу, предстоит авторизоваться через Гугл. Это удобно, потому что сервис сразу получает доступ ко всем таблицам пользователя. Но не стоит проходить авторизацию под рабочим аккаунтом: для входа используется учетная запись, поэтому сервис видит в том числе и приватные таблицы.
Создать приложение можно двумя способами — выбрать уже существующую таблицу или готовый шаблон приложения. В первом случае сервис попытается угадать подходящий формат и предложит свой вариант. Получается, конечно, не очень, но он задает хорошую структуру, которая наводит на полезные мысли:
- один лист таблицы — одно пользовательское окно;
- один лист решает один конкретный вопрос;
- листы должны быть связаны между собой.
Если выбрать вариант с готовым шаблоном, то сервис создаст полноценное приложение с тестовыми данными. Вместе с ним появится гугл-таблица, где можно проследить взаимосвязи между листами и посмотреть на структуру хранения данных. Приложения строятся из готовых компонентов: кнопок, списков, тумблеров, календаря и прочего. Если знаете английский язык, то все должно быть интуитивно понятно.
Мне нравится простота и понятность инструментов Glide. Чтобы начать что-то лепить, не нужно читать кучу инструкций и смотреть туториалы — просто берешь и делаешь. Но есть и обратная сторона: простота инструментов ограничивает их потенциал. Вряд ли удастся построить приложение уровня Эпстора, но и моя история не про это.
Мне было неинтересно конвертировать таблицы только ради красивого интерфейса. Хотелось, чтобы приложения были удобнее, чем таблицы, поэтому я придумал несколько нововведений.
История посещений бассейна. Самой неудобной была таблица с посещениями бассейна. Постоянно приходилось искать сегодняшнее число, а без этого нельзя поставить заветную галочку. Поэтому первым делом я взялся именно за нее.
Главное требование к приложению — сегодняшний день должен всегда идти первым в списке. Так как таблица довольно простая по содержанию, в структуре ничего менять не пришлось. Я сделал все за 3 часа сразу после регистрации в сервисе. Получилось действительно удобнее таблицы.
Головные боли. Исходная таблица тоже была достаточно неудобной, но это не так остро ощущалось, потому что новая запись о боли появлялась примерно раз в месяц. В этом случае мне хотелось, чтобы процесс добавления записи стал проще. И мне удалось: теперь в приложении всегда стоит актуальная дата и есть заготовленный шаблон для показателей давления.
В структуре таблицы я тоже ничего не менял, но пришлось повозиться, чтобы приложение обрело желаемый вид. Я провел много времени в разделе Data — здесь находится исходная гугл-таблица, в которую можно добавлять виртуальные колонки. Они позволяют сделать интерфейс красивее.
Я потратил на это приложение 5 часов. Результат мне нравится.
Ведение бюджета. Я пользуюсь оригинальной таблицей с февраля 2018 года. Я к ней сильно привык, поэтому не был уверен, что получится сделать более удобное приложение. Таблица довольно сложная, и я сомневался, что ее вообще получится конвертировать. Поэтому главным требованием стало не сломать то, что есть.
Я решил сохранить оригинальную таблицу, а все необходимые фичи сделать где-то сбоку. Это позволяло плавно переносить их в приложение, а в случае неудачи можно было безболезненно вернуться к привычному использованию таблицы. В первой итерации сфокусировался на главной функции — добавлении новых записей в дневник повседневных трат. Например, сделал «выпадашку» с категориями расходов — по умолчанию показывает самую популярную.
У приложения есть классная фишка — оно показывает разные реакции в зависимости от того, сколько денег сейчас в кармане. Если я оказываюсь в минусе, приложение демонстрирует грустный эмодзи, если все нормально, но сумма ниже бюджета на день, — равнодушный, если же она выше — радостный.
Я потратил на это приложение 8 часов. Пришлось повозиться и с самой таблицей, и с сервисом.
Загрузить готовое приложение на телефон можно с помощью QR-кода. Когда оно полностью прогрузится, браузер предложит сохранить его на главный экран.
По умолчанию приложение доступно только по ссылке, остальные пользователи сервиса его не видят. Но при желании можно поделиться своими наработками и опубликовать их в качестве шаблона. Для этого придется перевести приложение на английский язык и записать демонстрационный ролик с поясняющими комментариями.
Итоги
Я пользуюсь своими приложениями уже почти полтора месяца и очень доволен. Больше всего удобства приносит история посещения бассейна. А больше всего радости — приложение с отслеживанием головной боли. Захожу в него, чтобы посмотреть, как растет счетчик.
Приложение с бюджетом до сих пор несамостоятельное: периодически приходится открывать таблицу. Планирую развивать его и постепенно переносить туда другие функции из основной формы.