iPhones.ru

Dev Story Моя валюта. История о падении

Информатор avatar | 22
FavoriteLoading В закладки
Моя валюта. История о падении
scr2

ТЕКСТ: АЛЕКСАНДР ГУРЖИЕВ. Когда рубль стал падать, многие озаботились покупкой валюты – в том числе и я. Курс менялся довольно значительно и почти каждый день. И тут мне стало интересно, на сколько будет разница в рублях при продаже? А ведь в кармане у меня лежит устройство, которое способно посчитать это за секунды. Так и пришла идея создания приложения “Моя валюта”.

Основная информация, которую я хотел видеть – это стоимость после продажи и разница стоимости между покупкой и продажей. Функционал должен быть минимальным, как можно меньше лишнего.

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
Это бесплатно. Прочитайте правила.

Так как существует множество разных банков в разных городах, у которых разная цена покупки и продажи, то наибольшая точность будет достигнута при ручном вводе цены продажи. Лично я искал наибольшую цену покупки в банках своего города и получал точную разницу при продаже. Но иногда хочется все автоматизировать (пусть даже и с потерей точности), поэтому была добавлена возможность автоматически обновлять цену по курсу ЦБ РФ – это менее точно, но быстро и удобно.

Интерфейс

Рабочих экранов два — вся валюта и подробности о выбранной. Для добавления нужно выбрать количество, цену покупки и продажи. В настройках тоже все было по-минимуму: основная валюта, включение автоматического обновление, внутренние покупки.

После первых отзывов я понял чего не хватает. Самым важным упущением была строка итоговой стоимости всей валюты (и как я до этого не догадался?). После добавления я понял как ее тут не хватало. Добавил кнопку “написать разработчику”, что оказалось очень важным, так как стал получать намного больше отзывов.

Оказалось в ЦБ РФ не так то и много валюты – нет валюты многих стран, в которых распространен туризм. Парсится европейский банк, кстати, намного проще.

Также из отзывов понял, что нужна возможность установки пароля на входе (ведь всем интересно, сколько же у вас валюты). Добавил к этому поддержку Touch ID и получилось вполне удобно. Долго пытался реализовать появления экрана с вводом пароля при сворачивании и открытии приложения (точнее, самым сложным было, чтобы после правильного ввода появлялся экран, на котором была приостановлена работа).

Всю графику делал сам. Да из графики тут только иконка и есть – флаги стран нашел на просторах интернета. Иконку придумал в самом начале, поэтому с первого раза получил что хотел.

mc_icon

После первой версии дизайн изменился, став более информативным и визуально более привлекательным. Добавил график изменения разницы стоимости между покупкой и продажей, который появляется после 3 изменений цены продажи (не додумался написать об этом в приложении, поэтому у пользователей возникали вопросы).

versions

Была одна проблема и я так и не понял, с чем она связана. При добавлении валюты цифры считываются с textfield’ов и иногда (в особенности на iPhone 4S) значение текста в них пусто, хотя текст там есть. Первый же отзыв в AppStore с оценкой 1 был об этом. Решил эту проблему добавлением проверки на нулевые значения и выдачи соответствующей ошибки – после выдачи ошибки и очередной попытки сохранения на 4S все проходит нормально. Приложение написано на новом языке swift, в связи с чем, как мне кажется, могло такое произойти. Истина где-то рядом.

Статистика

В качестве монетизации выбрал рекламный баннер снизу и внутренние покупки (полная версия за 0,99$, в которой нет рекламы и можно добавлять более 3 записей).

Первые 3 недели (приложение находилось в разделе “новые” категории «финансы»): в среднем 50 загрузок в день, которые давали 1-2 внутренние покупки.

Далее около 5 загрузок в день, крайне редко происходили покупки.

Максимальные позиции в топе (Россия):

– Бесплатно (финансы) – 109;
– Топ кассовых (финансы) – 34.

stats

Итог

Затраты были только временные – в сумме около 4-5 суток. В итоге почти за 3 месяца 1,2К загрузок (почти все за первый месяц) и 30 покупок полной версии.

Почти все загрузки и покупки были произведены в первые 2-3 недели, пока приложение было в разделе «новые» и кое-как держалось в топе. За рекламу пока не брался, хотел сначала все допилить. С версией 1.2 для меня приложение выглядит завершенным, но посмотрим на мнение пользователей. Надеюсь вам понравится это приложение и хоть немного сохранит ваше время. Спасибо!

iPhone + iPad: Бесплатно [Скачать в App Store]

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (Проголосуйте первым за статью!)
undefined
iPhones.ru
ТЕКСТ: АЛЕКСАНДР ГУРЖИЕВ. Когда рубль стал падать, многие озаботились покупкой валюты – в том числе и я. Курс менялся довольно значительно и почти каждый день. И тут мне стало интересно, на сколько будет разница в рублях при продаже? А ведь в кармане у меня лежит устройство, которое способно посчитать это за секунды. Так и пришла...
Здесь можно оставить комментарий! Для этого авторизуйтесь или зарегистрируйтесь на iPhones.ru.

22 комментариев

Форум →
  1. FloodZik avatar
    FloodZik 6 марта 2015
    0

    Честно, вот это реально настоящая история разработчика, даже инди разработчика и самое главное, реальные цифры :)
    P.S. Было интересно прочитать статью =)

    Войди на сайт, чтобы ответить
    Ответить
  2. pifik avatar
    pifik 6 марта 2015
    0

    “Когда рубль стал падать, многие озаботились покупкой валюты – в том числе и я.”

    а теперь накупив валюты, наблюдаете укрепление рубля

    Войди на сайт, чтобы ответить
    Ответить
  3. ap avatar
    ap 6 марта 2015
    0

    А для ура-патриотов: есть ли возможность ввести рубли и смотреть насколько я обеднел? )))

    Войди на сайт, чтобы ответить
    Ответить
  4. arabesc avatar
    arabesc 6 марта 2015
    0

    Приложение интуитивно непонятное и, видимо, глючное. Справки нет.
    Скачал, запустил, нажал +, выбрал валюту, ввел количество, курс покупки, жму Save, а в ответ выскакивает окошко “Error\nNull value\nOk”, которое тут же само исчезает. Конечно, сохранения не происходит.
    Обычно такие поделки отправляются сразу в треш.

    AlexGurzh avatar
    AlexGurzh7 марта 2015
    0

    @arabesc, если “глючность” заключается в баге, который описан в стори, то это действительно большой недочет и я пока не знаю как его исправить. Когда при тестировании возникала такая ошибка (это был iPhone 4S), при повторном нажатии все добавлялось.
    Большинство людей, прочитавших описание и понимающих для чего приложение, поняли как добавлять и просматривать и без справки. Поэтому и не добавил.

    arabesc avatar
    arabesc7 марта 2015
    0

    @AlexGurzh, iPhone 6, iOS 8.1.3 – не добавляется, сколько ни нажимай.
    Интуитивная понятность, это и информационная содержательность сообщений об ошибках тоже.
    Поскольку ни Вы ни я понятия не имеем, почему вылазит эта ошибка, значит, приложение действительно глючное.

    Дмитрий Егоров avatar
    0

    @arabesc, похоже, программа пытается вам сказать, что помимо курса покупки нужно еще ввести вручную и курс продажи)
    Хотя, конечно, со стороны программы для iPhone это наглость) Нормальный пользователь ожидает, что приложение само загрузит из интернет текущий курс.

    AlexGurzh avatar
    AlexGurzh7 марта 2015
    0

    @Дмитрий Егоров, если не введен курс продажи, то конечно оно не сохраниться) Тут моя недоработка – в ошибке не выдается что конкретно не так. А с интернета курс загружается только при включенном онлайн обновлении курса в настройках.

    arabesc avatar
    arabesc7 марта 2015
    0

    @AlexGurzh, на мой взгляд, ввод фиксированного курса продажи имеет смысл при продаже валюты, что действие отдельное от добавления ее количества и стоимости покупки. Те это не должно быть обязательное поле независимо от доступности онлайн курса.
    Далее, если пользователь хочет оценить свой капитал при заданном курсе, он, скорее всего, захочет это сделать для всех сумм разом, а не каждой в отдельности. Т.е. вводим курс продажи для валюты и все суммы в этой валюте, где курс продажи не задан явно, пересчитываются. Сумму, где курс продажи задан явно, можно считать проданной, для нее пересчет по новому курсу не производится.
    В итого можно выводить сумму по текущему курсу, сумму по зафиксированному курсу и общую сумму.

    Войди на сайт, чтобы ответить
    Ответить
  5. bushrutt avatar
    bushrutt 6 марта 2015
    0

    мне дизайн не понравился. У вас такое маленькое приложение, можно его сделать красиво и тогда даже 2 экрана будут приносить удовольствие пользования)

    Войди на сайт, чтобы ответить
    Ответить
  6. 4aspam avatar
    4aspam 6 марта 2015
    0

    А зачем сделали под 8.1 минимум, что в вашем приложении такого, что требует именно этой версии?

    AlexGurzh avatar
    AlexGurzh7 марта 2015
    0

    @4aspam, TouchID поддерживается только с iOS 8. Хоть это и не самая важная часть в приложении, количество устройств на последней версии iOS достаточно большое (если верить Apple).

    4aspam avatar
    4aspam7 марта 2015
    0

    @AlexGurzh,
    Сомнительно, имхо, отказываться от пользователей на 7-ке из-за тача, возможно это удобно, но и сделать ввод пина из 4-5 цифр и, по большому счёту, никакого головняка и не будет их вести.

    Войди на сайт, чтобы ответить
    Ответить
  7. dvoryakanton avatar
    dvoryakanton 7 марта 2015
    0

    Разве так сложно сделать поддержку ios 7, ios6, ios 5? По этому у вас нету загрузок. А мой пятый айфон останется вечно на ios 6.

    AlexGurzh avatar
    AlexGurzh7 марта 2015
    0

    @dvoryakanton, изначально планировалось написать на новом языке swift (о чем вскоре пожалел), который работает только под iOS 7 и выше, потом добавил Touch ID.

    Дмитрий Егоров avatar
    0

    @AlexGurzh, с точки зрения инди-разработчика не поддерживать iOS 5 и 6 – это совершенно правильное решение. Они установлены всего у 3-4% пользователей. Поэтому затраты на написание кода для старых iOS и затраты на тестирование себя не окупят.
    А вот игнорировать iOS 7 – это вы зря.
    Нужно только перед обращением к классам, которые впервые появились в iOS 8, проверять, какая версия iOS установлена. И если стоит семерка, то не использовать Touch ID. Т.е. одновременная работа программы и на 7, и на 8 сводится к обычной конструкции if-else.

    AlexGurzh avatar
    AlexGurzh7 марта 2015
    0

    @Дмитрий Егоров, спасибо, насчет семерки учту)

    Войди на сайт, чтобы ответить
    Ответить
  8. enso avatar
    enso 7 марта 2015
    0

    Нет внутренних покупок из-за отсутствия дизайна. Яблочная компания привила это. Я с удовольствием потыкаю в красивый удобный дизайн и буду им пользоваться. В противном случае у меня есть эксель, где за 1-2 часа я могу все операции, предложенные в программе сделать самостоятельно, удобней и наглядней. И положу файл в дропбокс, и буду там его править :-)

    Войди на сайт, чтобы ответить
    Ответить
  9. floMaster avatar
    floMaster 7 марта 2015
    0

    Печаль (

    Войди на сайт, чтобы ответить
    Ответить
  10. lexey avatar
    lexey 8 марта 2015
    0

    Жаль нет поддержки 4S, на который ставить iOS8 нет смысла.

    sylima avatar
    sylima9 марта 2015
    0

    @lexey, зря, 8.1.2 нормально работает на 4S – можно немного выключить ненужных фишек и будет почти как на 7.1.2, НО с поддержкой новых прог.

    Войди на сайт, чтобы ответить
    Ответить
  11. and7ey avatar
    and7ey 8 марта 2015
    0

    Странно, что флаги стран разных размеров.

    >> Оказалось в ЦБ РФ не так то и много валюты – нет валюты многих стран, в которых распространен туризм. Парсится европейский банк, кстати, намного проще.

    Раньше на сайте ЦБ были курсы, устанавливаемые ежедневно – http://cbr.ru/currency_base/daily.aspx?date_req=07.03.2015
    и курсы, устанавливаемые ежемесячно. Куда вторые исчезли после 2010 года – неизвестно.

    Но в чем сложность парсинга XML? http://www.cbr.ru/scripts/XML_daily.asp
    Только не говорите, что вы парсите данные по моей первой ссылке.

    Реальные курсы банков в некоторых регионах есть тут – http://quote.rbc.ru/cash/

    Войди на сайт, чтобы ответить
    Ответить
Помни о правилах — если начал оффтопить, то не удивляйся потом.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.