Победил совместный доступ
Забросил приложение Домашней бухгалтерии, пытаясь решить ключевую задачу – совместный доступ и синхронизация данных через CloudKit
Тренировался на кошк.. ой на простых данных: список покупок, трекер привычек, для простой и удобной отладки.
Проблема пришла откуда не ждали:
Данные приглашенного пользователя корректно сохранялись и синхронизировались у других пользователей, а владелец (создатель) общей зоны данных вылетал с ошибкой: записи по умолчанию сохранялись в private zone, а не shared zone.
Все перерыл: от прав доступа, до создания записей по умолчанию в приватной зоне.
Оказалось, что неверно извлекались значения зависимостей полей (reference).
Сейчас задача перенести это решение в приложения Домашней бухгалтерии.
Хочется уже заняться UI/UX задачами и выпустить MVP версию.
Забросил приложение Домашней бухгалтерии, пытаясь решить ключевую задачу – совместный доступ и синхронизация данных через CloudKit
Тренировался на кошк.. ой на простых данных: список покупок, трекер привычек, для простой и удобной отладки.
Проблема пришла откуда не ждали:
Данные приглашенного пользователя корректно сохранялись и синхронизировались у других пользователей, а владелец (создатель) общей зоны данных вылетал с ошибкой: записи по умолчанию сохранялись в private zone, а не shared zone.
Все перерыл: от прав доступа, до создания записей по умолчанию в приватной зоне.
Оказалось, что неверно извлекались значения зависимостей полей (reference).
Сейчас задача перенести это решение в приложения Домашней бухгалтерии.
Хочется уже заняться UI/UX задачами и выпустить MVP версию.
Локальный MVP
…– это когда уже можно использовать для собственных нужд, но еще рано для публикации.
Что уже реализовано:
- создание, редактирование, удаление всех транзакций (расходы, доходы, перемещения, обмен валют, ввод остатков);
- синхронизация в iCloud
- несколько пространств, с возможностью совместного доступа
- справочники (статьи доходов, расходов, кошельки и карты, валюты, теги)
- автозаполнение расхода на основании текста смс от банка из буфера обмена (справочник магазинов с категориями)
Далее…
- тестирование на реальных данных
- улучшение и добавление новых способов ввода данных (голосовые команды Siri, интеграция Apple Pay, автоматизация через команды)
- выгрузка данных csv и google таблицы
- создание отчетов и графиков
- большой модуль Бюджетирование
…– это когда уже можно использовать для собственных нужд, но еще рано для публикации.
Что уже реализовано:
- создание, редактирование, удаление всех транзакций (расходы, доходы, перемещения, обмен валют, ввод остатков);
- синхронизация в iCloud
- несколько пространств, с возможностью совместного доступа
- справочники (статьи доходов, расходов, кошельки и карты, валюты, теги)
- автозаполнение расхода на основании текста смс от банка из буфера обмена (справочник магазинов с категориями)
Далее…
- тестирование на реальных данных
- улучшение и добавление новых способов ввода данных (голосовые команды Siri, интеграция Apple Pay, автоматизация через команды)
- выгрузка данных csv и google таблицы
- создание отчетов и графиков
- большой модуль Бюджетирование
Какие проблемы решает приложение для ведения бюджета?
Давеча смотрел на YouTube iOS-разработчика Chris Raroque, который полтора года назад начал создавать свое приложение для ведения бюджета.
Его проблема, которую хотел решить приложением, - много тратит денег на питание вне дома.
Его приложение получилось с уклоном именно в эту строну: бюджет - расход - остаток по нужным ему статьям расходов. Ему не нужны ни мультивалютность, ни счета (карты, кошельки) - для решения его задачи не нужен большой и сложный "комбайн".
Какие проблемы с учетом хочу я решить своим приложением для ведения учета?
1️⃣ Проблема
Я свожу свой (своей семьи) бюджет раз в неделю или даже раз в две недели. За это время часть расходов забываются, теряются.
Из-за этого при сведении бюджета всегда стресс: "Ааа, куда ушли деньги?"
Решение
Приложение, при помощи которого удобно, легко записывать расходы и другие движения денег.
Как это решается (будет решаться) в приложении?
- минимум касаний и других действия для ввода: кнопки проще тапнуть чем раскрыть выпадающий список со скроллом внутри; то что часто используется идет первым и сразу на виду; фокус/курсор сразу устанавливается в поле ввод = минус один тап и тп
- автозаполнение из смс для оплат картами: скопировать смс, распарсить текст и автозаполнить поля формы (можно настроить автоматизацию через Команды)
- голосовые команды SIRI: конструктор шаблонов для голосовых команд - заполнил форму, сохранил шаблон, создал под него голосовую команду. Идеально для регулярных расходов наличными: "Привет, Siri, я купил фрукты" - открывается приложение, форма ввода расходов, выбирается мой кошелек, категория Продукты, Подкатегория Рынок, текущая дата, фокус/курсор в поле ввода суммы - остается ввести сумму и сохранить.
- совместный доступ с супругой: спрашивать, напоминать: куда потратил(а)? - не нужный стресс. Каждый вносит свои расходы на своем iPhone в общую базу данных. Каждый видит и итоги в реальном времени.
2️⃣ Проблема
Достаточно ли у меня денег до следующего поступления? Мне надо экономить или можно побаловать себя?
Чтобы ответить на эти вопросы надо потратить два-три часа на сведение расходов и сверку с планами.
Как эту проблему решает (будет решать) мое приложение?
Сопоставление с бюджетом (планами) в реальном времени (при условии ввода расходов сразу)
Для решения этих задач мне не нужна интеграция с банками для получения выписок и загрузка их в приложение.
Для решения этих задач мне не нужен учет финансовых вложений или криптовалюты.
Что получаем в результате:
- трекер расходов
- бюджетирование
- совместный доступ (DB CloudKit Share)
- максимальная автоматизация ввода данных
- приятный UI/UX
Последнее важно, приложением должно быть приятно пользоваться.
Надеюсь поменять стресс на кайф!
Давеча смотрел на YouTube iOS-разработчика Chris Raroque, который полтора года назад начал создавать свое приложение для ведения бюджета.
Его проблема, которую хотел решить приложением, - много тратит денег на питание вне дома.
Его приложение получилось с уклоном именно в эту строну: бюджет - расход - остаток по нужным ему статьям расходов. Ему не нужны ни мультивалютность, ни счета (карты, кошельки) - для решения его задачи не нужен большой и сложный "комбайн".
Какие проблемы с учетом хочу я решить своим приложением для ведения учета?
Я свожу свой (своей семьи) бюджет раз в неделю или даже раз в две недели. За это время часть расходов забываются, теряются.
Из-за этого при сведении бюджета всегда стресс: "Ааа, куда ушли деньги?"
Решение
Приложение, при помощи которого удобно, легко записывать расходы и другие движения денег.
Как это решается (будет решаться) в приложении?
- минимум касаний и других действия для ввода: кнопки проще тапнуть чем раскрыть выпадающий список со скроллом внутри; то что часто используется идет первым и сразу на виду; фокус/курсор сразу устанавливается в поле ввод = минус один тап и тп
- автозаполнение из смс для оплат картами: скопировать смс, распарсить текст и автозаполнить поля формы (можно настроить автоматизацию через Команды)
- голосовые команды SIRI: конструктор шаблонов для голосовых команд - заполнил форму, сохранил шаблон, создал под него голосовую команду. Идеально для регулярных расходов наличными: "Привет, Siri, я купил фрукты" - открывается приложение, форма ввода расходов, выбирается мой кошелек, категория Продукты, Подкатегория Рынок, текущая дата, фокус/курсор в поле ввода суммы - остается ввести сумму и сохранить.
- совместный доступ с супругой: спрашивать, напоминать: куда потратил(а)? - не нужный стресс. Каждый вносит свои расходы на своем iPhone в общую базу данных. Каждый видит и итоги в реальном времени.
Достаточно ли у меня денег до следующего поступления? Мне надо экономить или можно побаловать себя?
Чтобы ответить на эти вопросы надо потратить два-три часа на сведение расходов и сверку с планами.
Как эту проблему решает (будет решать) мое приложение?
Сопоставление с бюджетом (планами) в реальном времени (при условии ввода расходов сразу)
Для решения этих задач мне не нужна интеграция с банками для получения выписок и загрузка их в приложение.
Для решения этих задач мне не нужен учет финансовых вложений или криптовалюты.
Что получаем в результате:
- трекер расходов
- бюджетирование
- совместный доступ (DB CloudKit Share)
- максимальная автоматизация ввода данных
- приятный UI/UX
Последнее важно, приложением должно быть приятно пользоваться.
Надеюсь поменять стресс на кайф!
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Реальные данные сильно помогают в разработке.
Автозаполнение по смс реально удобная фича, данные за месяц внес очень быстро.
Сразу стало понятно что не хватает фильтров в журнале транзакций - реализовал и проверил на реальных данных.
Помогает настроить отчеты и увидеть как будут выглядеть при полных данных.
Автозаполнение по смс реально удобная фича, данные за месяц внес очень быстро.
Сразу стало понятно что не хватает фильтров в журнале транзакций - реализовал и проверил на реальных данных.
Помогает настроить отчеты и увидеть как будут выглядеть при полных данных.
Обнаружил существенную ошибку в бэкэнде - данные, которые заполнялись из справочников сохранялись как строки, а не ссылки на справочники.
Отсюда поимел кучу проблем:
- при изменении названия элемента справочника, теряются данные,
- нет доступа к другим полям справочника
Чтобы не разрабатывать миграцию данных, решил все потереть и внести данные за месяц снова, после исправлений.
Нахожу в этом еще один плюс: после первого опыта ввода накопились идеи как улучшить UI/UX для еще более удобного ввода данных, например:
Добавил банковским картам список доступных валют, теперь в форму получаю только те карты, у которых есть выбранная валюта - меньше неиспользуемых элементов на экране, легче ориентироваться, быстрее и приятнее ввод данных!
Добавил сортировку категорий по частоте использования для выбранного типа кошельков. Если например я наличкой обычно расплачиваюсь на продуктовом рынке, то эти категории будут первыми в списке, для карт другие категории будут выше в списке.
Скрываю другие категории, если одна из уже выбрана - сокращаем количество элементов на экране.
Ошибки - это ж опыт!
Отсюда поимел кучу проблем:
- при изменении названия элемента справочника, теряются данные,
- нет доступа к другим полям справочника
Чтобы не разрабатывать миграцию данных, решил все потереть и внести данные за месяц снова, после исправлений.
Нахожу в этом еще один плюс: после первого опыта ввода накопились идеи как улучшить UI/UX для еще более удобного ввода данных, например:
Добавил банковским картам список доступных валют, теперь в форму получаю только те карты, у которых есть выбранная валюта - меньше неиспользуемых элементов на экране, легче ориентироваться, быстрее и приятнее ввод данных!
Добавил сортировку категорий по частоте использования для выбранного типа кошельков. Если например я наличкой обычно расплачиваюсь на продуктовом рынке, то эти категории будут первыми в списке, для карт другие категории будут выше в списке.
Скрываю другие категории, если одна из уже выбрана - сокращаем количество элементов на экране.
Ошибки - это ж опыт!
Сегодня восстановил данные в приложении за месяц – около 200 транзакций.
Предварительно улучшив некоторые моменты по вводу данных.
Надо будет потом заполнить данными за несколько месяцев, чтобы доработать отчеты и графики.
После работал над формой для ввода плановых данных (бюджетирование).
Форму бюджета осилил, завтра буду пилить работу с данными: сохранение, редактирование, удаление, синхронизация.
Предварительно улучшив некоторые моменты по вводу данных.
Надо будет потом заполнить данными за несколько месяцев, чтобы доработать отчеты и графики.
После работал над формой для ввода плановых данных (бюджетирование).
Форму бюджета осилил, завтра буду пилить работу с данными: сохранение, редактирование, удаление, синхронизация.
Бюджеты (план расходов) в приложении
Бюджет на месяц
- суммы выделенные на весь месяц
Контролируем общую сумму расходов, для расходов у которых нет точных дат и сумм.
- суммы выделенные на каждый день
Например, Продукты - тратим ежедневно, контролируем средние траты в день, можно отслеживать какие расходы еще предстоит произвести по количеству оставшихся дней.
- суммы на конкретные оплаты с датами и без
Например, подписки, аренда жилья - при оплатах можно прямо сопоставлять расход с запланированной оплатой, можно отслеживать какие расходы еще предстоит произвести.
Все выше перечисленное уже реализовал, кроме сопоставления конкретного расхода с запланированным платежом. Сами запланированные оплаты реализованы, осталось реализовать отметку, что расход произведен.
В портретном режиме мало места по горизонтали, для дополнительных колонок в отчетах использую Ландшафтный режим.
Бюджет на месяц
- суммы выделенные на весь месяц
Контролируем общую сумму расходов, для расходов у которых нет точных дат и сумм.
- суммы выделенные на каждый день
Например, Продукты - тратим ежедневно, контролируем средние траты в день, можно отслеживать какие расходы еще предстоит произвести по количеству оставшихся дней.
- суммы на конкретные оплаты с датами и без
Например, подписки, аренда жилья - при оплатах можно прямо сопоставлять расход с запланированной оплатой, можно отслеживать какие расходы еще предстоит произвести.
Все выше перечисленное уже реализовал, кроме сопоставления конкретного расхода с запланированным платежом. Сами запланированные оплаты реализованы, осталось реализовать отметку, что расход произведен.
В портретном режиме мало места по горизонтали, для дополнительных колонок в отчетах использую Ландшафтный режим.
MVP - версия близко
Что надо (планирую) доделать из существенного, чтобы выпустить приложение в свет:
Удобный ввод расходов
- доработать парсинг смс от банков, чтобы большее число банков поддерживалось.
- реализовать поддержку голосовых SIRI-команд для ввода расходов.
Бюджетирование (планы расходов)
- отметка о выполнении запланированных платежей
- платежный календарь
Лайт-режим *:
- только учет части расходов по выбранным категориям, без учета остатков по кошелькам и картам, с бюджетами на день/неделю/месяц
* для тех кто не готов вести полноценный учет своих финансов
----
Существенные модули которые можно реализовать после MVP релиза:
- Кредиты, займы (учет и погашение)
- Сбережения (откладывание, использование)
Но структуру БД стоит заложить до релиза, иначе придется писать модули миграции для существующих данных.
Что надо (планирую) доделать из существенного, чтобы выпустить приложение в свет:
Удобный ввод расходов
- доработать парсинг смс от банков, чтобы большее число банков поддерживалось.
- реализовать поддержку голосовых SIRI-команд для ввода расходов.
Бюджетирование (планы расходов)
- отметка о выполнении запланированных платежей
- платежный календарь
Лайт-режим *:
- только учет части расходов по выбранным категориям, без учета остатков по кошелькам и картам, с бюджетами на день/неделю/месяц
* для тех кто не готов вести полноценный учет своих финансов
----
Существенные модули которые можно реализовать после MVP релиза:
- Кредиты, займы (учет и погашение)
- Сбережения (откладывание, использование)
Но структуру БД стоит заложить до релиза, иначе придется писать модули миграции для существующих данных.
Про Лайт-режим
Вести полноценный учёт не каждый может, хочет, знает как.
Кому то это и не нужно, но последить например за расходами на еду/кофе вне дома, которые выходят из под контроля, вероятно стоит. Или покупки на маркетплейсах, поездки в такси, расходы на сигареты и тп.
Для таких задач полномасштабный учёт на нужен.
Либо это может быть первый шаг в учёте личных финансов на пути к полномасштабному учету.
Идею подсмотрел у Криса Рарока в его приложении для учета расходов Luna.
Но его путь немного другой: от простого к сложному – простая версия с минимум функционала, которая постепенно обрастает новыми функциями.
Я же пошел по пути - полноценный учёт и к нему добавить облегченный режим.
Чуть дольше разрабатывать до MVP, но меньше проблем с миграцией данных после.
Вести полноценный учёт не каждый может, хочет, знает как.
Кому то это и не нужно, но последить например за расходами на еду/кофе вне дома, которые выходят из под контроля, вероятно стоит. Или покупки на маркетплейсах, поездки в такси, расходы на сигареты и тп.
Для таких задач полномасштабный учёт на нужен.
Либо это может быть первый шаг в учёте личных финансов на пути к полномасштабному учету.
Идею подсмотрел у Криса Рарока в его приложении для учета расходов Luna.
Но его путь немного другой: от простого к сложному – простая версия с минимум функционала, которая постепенно обрастает новыми функциями.
Я же пошел по пути - полноценный учёт и к нему добавить облегченный режим.
Чуть дольше разрабатывать до MVP, но меньше проблем с миграцией данных после.
❤1
Media is too big
VIEW IN TELEGRAM
Работаю над новым приложением:
Видеоредактор - наложение счёта матчей пиклбола.
Видеоредактор - наложение счёта матчей пиклбола.
This media is not supported in your browser
VIEW IN TELEGRAM
Функционал приложения готов работаю на «упаковкой» - онбординг.