Cocoa Developers Club

Открытый клуб iOS и OS X разработчиков
07 Октябрь 2015

Rency — простой конвертер валют (промокоды внутри)

Written by CocoaDevelopersClub
Картинка профиля CocoaDevelopersClub
Dev Story, Приложения apps, appstore, ios

Всем привет, меня зовут Константин. Я являюсь основателем Madmind Studio. Вы могли уже читать о нашем приложении Evaluate.Day, на просторах этого ресурса. Сегодня речь пойдет о нашем новом приложении — Rency. Это простой конвертер валют. Основная идея, которую мы пытались заложить в это приложение — простота. Хотелось сделать приложение, которое требовало бы минимум движений для получения результата.

С чего все началось…

Что объединяет почти все конверторы валют в App Store? Они работают, как конвертеры. Алгоритм действий пользователя следующий: во-первых, надо выбрать валюту, в которую вы хотите конвертировать. Во-вторых, выбрать валюту, из которой необходимо конвертировать. Может понадобится еще установить курс, но, как правило, они подтягиваются из интернета. В-третьих, ввести сумму для перевода. Итак, спустя три или четыре шага, получаем результат. Нам хотелось сократить все эти действия и оставить по-возможности только последнее. Так появилась концепция ввода только одного значения, где приложение покажет результат в обе стороны.

RencyApp_pic1

Стандартная клавиатура не нравилась нам, а наша Apple.

Чем плоха стандартная клавиатура? Ничем. Хотя, есть у нее один минус. Цифровой клавиатуры нет под iPad. Вводить цифры со стандартной клавиатуры не очень-то удобно. Нам хотелось обеспечить одинаковый пользовательский опыт для владельцев iPhone и iPad. Поэтому было решено использовать свою клавиатуру.
Клавиатуру надо было убрать, но и показать, что она есть. Начальный экран выглядит пусто и не понятно: что делать и на что нажимать? Мы оставили небольшую полоску внизу экрана, за которую можно вытянуть клавиатуру. Делать это тоже не всегда удобно, можно просто тапнуть по экрану и появится клавиатура.

RencyApp_pic3

Из-за клавиатуры мы получили первый отказ от Apple. В купертино решили, что наша клавиатура копирует поведение и внешний вид Control Center и стандартного наборщика номера, что вводит пользователей в заблуждение. Недолго удивляемся такому повороту событий, думаем и исправляем.

RencyApp_pic2

Концепция работы с приложением.

Нужно было понять, как осуществить поставленную задачу и убрать два или три лишних шага. Ответ пришел сам собой. Как часто вы хотели перевести деньги из одной валюты в другую, и ни одна из них не являлась вашей основной валютой? Согласитесь, такое происходит не часто. Поэтому при первом старте мы просим пользователя уточнить его основную валюту. По умолчанию берется из настроек iOS. Также, мы просим доступ к его данным. На их основе выстраивается список валют для конвертации.

Работа без интернета.

С самого начала работы над приложением было понятно, что оно должно работать без интернета. А когда приложение подключается к нему, то не должно сильно нагружать сеть. Единственное, от чего не получилось отказаться, это от запроса курсов валют. К счастью, курсы меняются не с космической скоростью, и резкие колебания — это скорее исключение, чем правило. Поэтому приложение запрашивает курсы не чаще, чем раз в три часа, или же при смене основной валюты.

Rency определяет необходимые для перевода валюты, исходя из страны, в которой находится пользователь и соседних стран. Соответсвенно, необходимо понимать какие у страны есть соседи. Да и без интернета неплохо понять по координатам, в какой стране пользователь.

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

Заключение

Приложение Rency не является сложным, это довольно простая утилита, котороя призвана как можно проще решить конкретную задачу. Но как это бывает, в процессе работы приходит огромное количество идей, все они записаны, отсортированы и доработаны, так что Rency ждет еще не одно обновление и получение дополнительного функционала.

appstore
P.S.
Вот несколько промокодов специально для читателей Cocoa Developers Club:
AN37WXPJMKM3
7KPE7EP9FH4M
J7Y7N3Y6TE7Y
EPEKAYWJNJJN
KFLT9FJW9KYL
F7WLFFT674LP
LY4YJJPA3NPH
7ERXN7FFYYH9
J9TN9ARW6XLK
E9TJ7WTEPYWJ

Поделиться
  • NSBob

    Коли уж взял промо код (F7WLFFT674LP), то на правах фидбека:

    Ребята, почему оно такое не отзывчивое?) Смотрел на iPhone 5c, iOS 8.4.1.

    Набор цифр на клавиатуре и удаление работает с задержкой где-то в секунду.

    Невозможно быстро нажать несколько цифр или быстро стереть набранное.

    Немного смущает способ сокрытия клавиатуры — если свайпать за неё — то всё окей, если попадешь чуть выше на узкую видимую область от tableView, то она тоже прячется как надо, однако если попадешь чуть выше на ту область, где отображается введенная сумма, то клавиатура остаётся. Как вариант — сделать область с введенной суммой — хедером секции, чтобы лежала в одном scrollView со списком.

    В первай раз кликал по темам — отчего-то открылась подзамочная яблочная. Сперва не понял отчего, снёс приложение, поставил повторно — но второй раз раш-таппинг-ом ничего не открылось. Через несколько минут появилось сообщение «Вам доступна новая тема ‘яблоко'». Я, конечно, мог пропустить, но по-моему в 1-ый раз такого алерта не было.

    Фича с «превью» закрытой темы по тапу — хорошая, но когда скролишь список — выглядит как баг, из-за того, что тема загорается всего на мгновение и при малейшем скроле — тухнет. Получается мелькание.

    Прыгающая кнопка «<-" в боковом меню — по-моему очень не очевидная штука, но это уже вкусовщина. По-моему наблюдал с ней тоже баг, когда из списка валют нельзя было вернуться к основному экрану. Вместо кнопки "<-", там оставался кнопка с основной валютой, ведущая на экран, который и так открыт.

    Ещё по UX-у, хорошо бы иметь возможность снимать галки напротив ненужных валют, прямо в списке валют. Иначе, если случайно поставил галочку напротив какой-то из них, в процессе листания, то чтобы убрать её, надо вернуться на базовый экран и оттуда удалить валюту. Не очевидно)

    Так же не нашел возможности удалить из предложенных по геолокации валют, те которые заведомо не нужны. Их можно только добавить в избранное. Можно списать на концепцию приложения, но для пользователей, мне кажется, будет не очевидно.

    И ещё не очень понял, зачем на клавиатуре для набора цифр — буквы?)

    Пара скриншотиков в догонку:

    1) На iOS 8, под клавиатурой отсутсвует blur, вместо него черный фон.
    2) Судя по всему, имеет место баг с placeholder-ами тем.

    • konstant_int

      Спасибо за Ваш очень подробный отзыв. Как раз работаю над обновлением и Ваши замечание будут очень полезны.
      По поводу приведенных скриншотов, это действительно баг.
      По стальному: темы открываются по мере использование. При таком поведение приложение алерта в первый раз и правда могло не быть.
      Клавиатура убирается, как Вы и описали, так задумывалось изначально. Тестируем, собираем отзывы, дорабатываем.
      Такое поведение приложение, как у Вас к сожалению ни у кого из тестеров не встречалось. и в крэшь логи такое не попадает. Если Вас не затруднит напишите мне в Slack. Я недавно публиковал ссылку на приложение на канале #apps-and-projects

    • konstant_int

      Огромная просьба, если у кого нибудь, повторяется такое поведение приложение. Не сочтите за труд, отпишитесь на support@madmind.ee

Клубный чат

В Slack-чате нашего клуба более 1500 участников. Присоединяйтесь к нам прямо сейчас!

slack-screen-640

Присоединиться

Для тех, кто уже с нами, вход здесь

Поддержать проект

Мы будем рады, если вы поддержите наш проект небольшим переводом, который пойдет на оплату хостинга и некоторых мелких расходов.

Яндекс-деньгами

Банковской картой

Свежие записи

  • Видео со встречи CocoaHeads Moscow от 11 декабря События
  • Видео со встречи Rambler.iOS от 22 декабря События
  • CocoaConf Belarus 2015
    CocoaConf Belarus 2015 (скидка внутри) События
  • Вы можете помочь проекту Cocoa Developers Club Cocoa Developers Club, Новости

Следуйте за нами

Рубрики

  • Cocoa Developers Club
  • Dev Story
  • Libs-Pods-Tools
  • Swift
  • Архитектура
  • Дизайн
  • Новости
  • Приложения
  • Работа
  • Разработка для iOS
  • Разработка для OS X
  • События

Популярные теги

2gis app apple apps appstore cocoaheads CocoaPods dev droopls English Google ios ipad iphone Moscow mybook.ru objective-c osx PermissionScope Rambler&Co Rambler.iOS Scope swift UIButton UX watchkit wwdc xcode Yandex zvooq.ru История клуба Санкт-Петербург анимация вакансии видео встречи дизайн история разработки класс клуб компонент меню слайды события ссылки

Полезные ссылки

О нашем клубе
Чат нашего клуба
Правила клубного чата

© Cocoa Developers Club 2015