ТЕКСТ: ИВАН ДЗЯМУЛИЧ. Добрый день, уважаемые читатели. Хотелось бы рассказать историю создания своего приложения Family Expenses.
Началась она как всегда с идеи. Мне, как и многим другим людям, частенько приходила в голову мысль подсчитать свои затраты. Для меня это было особенно трудно, потому что, занимаясь предпринимательской деятельностью, нет четкой зарплаты, и суммы доходов могут варьироваться. Поэтому я «пытался» все затраты записывать и через недельку другую мне это надоедало. Я задумался над причиной этого, и понял, что это происходило по двум причинам. Когда я вел бумажный учет, минус был в том, что не видно было статистики, и все было не наглядно. А когда начал вести на компьютере – меня раздражала слишком громоздкая процедура введения данных. Так я и решил сделать приложение для айфона лишенное этих недостатков.
Идея приложения состояла в том, чтобы введение данных было максимально простым и быстрым. А что может быть проще, чем графические образы? Тем более, что каждый может под эти образы подставить свое значение. Кроме этого графические образы позволяли бы сделать приложение сразу интернациональным.
Особое внимание я уделил интерфейсу. Может он слегка непривычен с первого взгляда, но мы с дизайнером продумывали каждую деталь, чтобы все было максимально просто и при этом красиво. В результате появился интерфейс «под дерево», деревянные кнопочки которые реально нажимаются.
Ещё одной особенностью Family Expenses есть то, что во всем интерфейсе практически не используются слова (только в настройках в некоторых всплывающих окошках есть описания).
Но если вдруг что-то не понятно, можно прикоснуться, например к иконке, подержать так палец чуть-чуть и появится подсказка, что именно значит этот элемент.
Специально для этого приложения наш художник нарисовал 42 иконки.
Я проанализировал все возможные варианты затрат и разбил их на 6 категорий: Дом, Еда, Отдых, Транспорт, Одежда и Разное, которые в свою очередь разбил на 6 субкатегорий. То есть, чтобы ввести затрату нужно запустить приложение, тапнуть на иконке категории и выбрать субкатегорию.
В большинстве приложений по учету затрат при вводе суммы мне не нравилось, что для того чтобы подсчитать сумму или сделать какие-то математические действия нужно было вызывать калькулятор. Тогда я решил что ввод суммы будет сразу через калькулятор. Так в приложении появился удобный калькулятор, в котором есть все необходимые математические функции.
В итоге для введения одной затраты необходимо сделать 3 тапа и ввести сумму.
Конечно это скоростной метод, и в нем кое что не учтено. А если трата была не сегодня? А если надо комментарий? Для этого в интерфейсе калькулятора при введении суммы были добавлены 2 кнопочки – Комментарий и Календарь. Таким образом можно задать дату, когда была сделана покупка и добавить описание траты.
Все эти данные сохраняются в виде списка, под которым отображается сумма Итого за выбранный период. Период выбирается с помощью фильтра.
С самого начала разработки планировалось что в приложении будет простой и быстрый механизм резервного копирования данных. Но когда мы с делали этот механизм, стало понятным, что это практически готовый способ сделать синхронизацию двух устройств. Осталось только создать «транспорт» – способ взаимодействия двух устройств. И тут мне пригодился мой старый опыт работы с 1C:Предприятие. Несколько лет назад я для своей компании заказывал продукт, в котором была распределённая база данных с синхронизацией данных на разных компьютерах через центральный сервер. За годы эксплуатации система показала себя с лучшей стороны.
Тогда мы решили, что синхронизация через интернет будет самым удобным для пользователя решением, потому что не надо одновременно на двух устройствах запускать синхронизацию, никаких Bluetooth и т.д. Сразу можно вспомнить сервис iCloud – он же делает то же самое – синхронизация через интернет. В нашем способе есть одна очень приятная плюшка. Но обо всем по порядку.
При первой синхронизации необходимо спарить два устройства. Для этого на одном устройстве надо нажать кнопочку «Получить код» – система выдаст восьмизначный код. А на другом устройстве нажать «Ввести код» и ввести этот код. Теперь устройства спарены и могут работать в автономном режиме.
Когда, например, на первом устройстве вы ввели несколько затрат и нажали на кнопочку синхронизации – данные отправляются на сервер, и сразу же на спаренный телефон отправляется Push сообщение с просьбой синхронизироваться и с числом новых затрат. Это число отображается на иконке приложения в виде бейджа (в красном кружочке).
Таким образом появился простой и быстрый механизм синхронизации. Данные отправляются в сильно сжатом виде. Например, данные за 1 год, по 3-5 затрат в день занимают только 30 кб. трафика. Поэтому синхронизация очень быстрая.
Ещё одна очень интересная функция приложения – это экспорт данных в HTML. Она сделана в виде веб сервера, который запускается на айфоне. Зайти на него можно с настольного компьютера или ноутбука введя в адресной строке IP адрес и порт, который показывается при старте сервера. Особенность этого сервиса в том, что непосредственно с браузера можно сортировать, искать и фильтровать данные по разным критериям и переносить в другие финансовые программы такие как: Excel, Microsoft Money или Quicken.
Особое внимание стоит обратить на систему визуализации статистики в приложении. Есть два варианта:
- круговая диаграмма – для отображения доли категории или субкатегории затрат в общем объеме затрат за период.
- столбиковая диаграмма – для иллюстрации динамики затрат с разбивкой по дням или месяцам.
В результате появилось приложение, которое не претендует на вездесущность, но способное Выполнять качественно свои функции по учету затрат в семье и не только.
Спасибо вам, дорогие читатели, что дочитали до конца 🙂 Теперь видео.
Цена: $1.99 [iTunes link]
Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
Источник: