Компания
176,06
рейтинг
5 ноября 2014 в 19:17

Разработка → Мобильный банк «Открытие»: разработка от обратного

«Сначала был придуман удобный механизм регистрации, а потом — средства его защиты»
Кейс по разработке мобильного банка для iOS-смартфонов





Банк 3.0 – революция в банковском деле идет полным ходом
В банковском секторе в настоящий момент под влиянием ИТ происходят важные структурные изменения. Этот процесс называется цифровой трансформацией. Если раньше ИТ применялись для автоматизации бизнес-процессов, сформировавшихся в далекую до-ИТ-эпоху, и сводились к попыткам выжать из них проценты эффективности, то сейчас возможности ИТ дают дорогу новым моделям бизнеса, каковых раньше не было. И ключевую роль здесь играет мобильность.

«Банк сегодня — это не то, куда вы ходите, а то, что вы делаете» – пишет Бретт Кинг, автор бестселлера «Банк 3.0». Тот, кто считает, будто отделение — единственное, что принесет клиенту счастье, уже проиграл битву за сегодняшнего потребителя. Всего десять лет назад 50-60% транзакций осуществлялось через кассу в отделении банка. Теперь 95% операций проводится через интернет, мобильные телефоны, банкоматы, колл-центры. Клиенты хотели бы посещать отделение банка не более 1-2 раз в год, но в целом они собираются гораздо чаще взаимодействовать с банком, чем раньше: по 20-30 раз в месяц посредством смартфона и 7-10 раз при помощи планшета.

Мобильный банк: центр прибыли, а не центр затрат
В России 6,6 млн человек ежемесячно совершают хотя бы один онлайн-платеж с мобильного устройства. Однако многие банки до сих пор рассматривают мобильное приложение как досадную необходимость (и расходы) в угоду вкусам слишком продвинутой молодой аудитории. Есть же уже интернет-банк – вот и пользуйтесь! Так нет же, им непременно нужно нативное приложение! ОК, пусть будет. Именно с таким подходом и было выпущено на рынок большинство мобильных банков первой волны. Как и следовало ожидать, они не дали толчка к росту бизнеса и легли в расходы. Поэтому сейчас у заказчиков есть определенный скепсис в отношении мобильности.

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

Почти половина клиентов (48%) считает качество мобильного приложения важным фактором в принятии решения о смене банка.


Когда заказчик знает, чего хочет
Идеальный заказчик приложения — технологизированная компания, понимающая значение ИТ в своем бизнесе. Банки не просто понимают это значение, они строят весь бизнес именно на ИТ. Рабочей группе, участвующей в проекте со стороны банка (ИТ, безопасность, маркетинг, работа с клиентами и др.), не нужно ничего объяснять ни про технологии, ни про бизнес-выгоду.

(Отсутствие у заказчика внятной стратегии в отношении развития мультиканальности взаимодействия с клиентами, частью которой является мобильный банкинг, нужно рассматривать как серьезный риск проекта.)

«Открытие» — молодая команда фанатов мобильности, которая хотела дать своим клиентам классный сервис, сформулировала бизнес-потребности, и они были воплощены Redmadrobot в разработке.

Для «Открытия» мобильный банк — это часть единой комплексной сервисной системы, доступной на различных платформах и устройствах, не только на iPhone. Уже ведется работа над Android-версией для смартфонов (появится в Google Play в этом году), а также над планшетными версиями. Банк обновляет все интерфейсы — начался редизайн банкоматов и электронной очереди, на подходе платежные терминалы. Мобильное приложение является частью этой концепции обновления.

При разработке приложения мы отталкивались от двух важных задач: удовлетворить основные потребности частных клиентов банка и удовлетворить бизнес-потребности самой финансовой организации (получить дополнительный канал для продажи банковских продуктов и повысить лояльность клиентов за счет транслирования идеи простоты и удобства банковских услуг). Для нас мобильный банк — это еще один канал реализации услуг.
В идеале, мы стремимся к тому, чтобы у всех наших клиентов было установлено мобильное приложение. Ведь сейчас рынок смартфонов дошел до такого уровня, что устройства перестали быть невозможно дорогими. Основной показатель, на который нужно обращать внимание, — это количество успешных регистраций. То есть, нам важно было сделать сам процесс регистрации настолько понятным, чтобы ни у кого не возникло вопросов «а как зарегистрироваться?» или «а что тут нажимать?»
Алексей Круглов, старший вице-президент, директор по маркетингу и клиентскому сервису банка «Открытие»


Дизайн и безопасность — главные преимущества
Разработчики мобильного приложения никак не могут влиять на состав банковских продуктов — набор услуг формируют специалисты финансовой организации (к тому же, услуги эти у всех банков примерно одинаковые: информация о счете, платежи, переводы, выписки, конвертация валют и т.д.). Поэтому стоит сосредоточиться не на том ЧТО делать, а на том, КАК.

Как — это UX и качество кода. В проекте «Открытия» дизайн рассматривался как конкурентное преимущество мобильного продукта. Особое внимание уделялось и безопасности — в том смысле, чтобы она не мешала работе. Да, именно так. С одной стороны, безопасность должна быть безупречной (достаточно одного громкого инцидента, чтобы скомпрометировать всю систему и тут уж никакой дизайн не поможет, пользователи от нее откажутся), с другой — безупречность должна достигаться не за счет упрощения продукта и его возможностей.



Путь к хорошему дизайну лежит через множество итераций
Хороший дизайн нельзя вот так взять и сделать сразу. Даже когда все в принципе ясно — бизнес-требования, бренд-бук… Десять вариантов одного экрана — не предел на пути к совершенству. Но даже в принятые и утвержденные заказчиком варианты приходилось вносить изменения.

(Очень важно наладить контроль версий в управлении проектом.)

Бренд-бук «Открытия» пришлось немного адаптировать под iOS — в соответствии с гайдлайнами Apple и традициями, на мобильных устройствах интерфейсы делают ярче.



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

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



Юзабилити-тестирование на стороне
В случае с юзабилити есть риск, что заказчик и разработчик не придут к единому мнению относительно удобства и понятности интерфейса, и это станет почвой для конфликта. Субъективности оценки полностью избежать невозможно, а мнения каждой из сторон о том, что считать хорошим интерфейсным решением, и что плохим, могут сильно различаться. И самое главное: они оба могут оказаться неправы, ведь пользователи зачастую имеют свои, совершенно другие предпочтения.



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

Банк «Открытие» выбрал в качестве партнера по юзабилити-тестированию компанию Usethics.
Сценарии тестирования покрывали порядка 70% функциональности первой версии продукта — регистрация, повторный вход в приложение, просмотр информации по счету, истории платежей, оплату услуг, поиск отделений и банкоматов. Респонденты отбирались из числа пользователей iPhone и интернет-банка.

Дизайнеры наблюдали за ходом тестирования и переживали за пользователей — найдут или не найдут нужную кнопку? Бывало, что не находили, тогда интерфейсы исправляли и снова тестировали.



По результатам тестирования уровень субъективной удовлетворенности от использования приложения составил 92,8%, а в целом положительную оценку мобильному банку «Открытие» дали 98% респондентов.

Но в эйфорию впадать не следует: поскольку юзабилити тестируется на модельных данных и охватывает не все типы пользователей, то все равно в реальной работе будут выявляться какие-то проблемы в интерфейсе, которые придется исправлять.

Приложению нужна «кастомность»
Идея сделать действие «Оплатить» слайдером, наподобие того, что включает смартфон, очень понравилась всем участникам проекта. Причем она в полной мере соответствовала гайдлайнам Apple, вроде и придраться не к чему.



Однако же этот вариант App Store завернул с формулировкой «приложению не хватает кастомности» — нельзя использовать системные компоненты в каких-то своих целях. То есть, приложение должно выглядеть оригинально и отличаться от системных экранов. Увы, от слайдера для оплаты пришлось оказаться.

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

Чтобы войти в приложение, пользователю нужно ввести код доступа. Но сначала этот код нужно создать, не так ли? Разработчикам показалось совершенно логичным сделать эти экраны в идентичном дизайне. Разумеется, надписи на экранах отличались — «Введите код» и «Создайте код». В ходе юзабилити-тестов выяснилось, что пользователи путаются и не понимают, чего хочет от них система, когда просит создать код — внешнее сходство с экраном входа сбивало их с толку. Поэтому было решено сделать эти экраны визуально четко различимыми, а заодно добавить текстовые пояснения.



(Не рассчитывайте на внимательность пользователей. Если что-то можно перепутать, они перепутают. Почти новый закон Мерфи.)

Копирайтинг приложения: «Файл не сохранять: ДА / НЕТ?»
Эта старая шутка про диалог сохранения файла по-прежнему актуальна. Часто пользователей ставят в тупик названия функций, формулировки вопросов, подсказки и прочие текстовые сообщения, встречающиеся в приложении, хотя сами дизайнеры думают, что все понятно.

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



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

Безопасность должна быть — и быть незаметна
Едва ли это для кого-то новость, что мобильное приложение для банка должно быть безопасным. Все разработчики об этом знают, и тем не менее уязвимости находятся и отнюдь не в единичных случаях.



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

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



Работая с банками («Открытие» не первый наш банковский проект), нам пришлось пересмотреть свои подходы к созданию безопасных приложений. Это касалось не сколько практики работы и, собственно, написания кода — с этим и раньше все было хорошо, сколько документирования и предварительной проработки архитектуры. Служба безопасности банка работает на основе модели угроз и требует аргументированного и четкого ответа, как мы противодействуем той или иной угрозе. Например, что вы делаете с угрозой возможности подмены личности при атаке man in the middle? Мы говорим: «Для этого у нас предусмотрено то-то и то-то». В результате получилось два документа:
1) формальные требования к безопасности приложения – требования к коду, архитектуре, хранению данных
2) требования по взаимодействию с сервером
Фактически, каждое решение, которое было принято в проекте, согласовывалось с требованиями безопасности. На старте проекта работа по безопасности занимала до 25% всего времени. Потом, когда архитектурные решения были приняты, мы уже почти не тратили времени на вопросы ИБ.
Артур Сахаров, mc_murphy, технический директор Redmadrobot


Обеспечение качества — с первых этапов проекта
QA-команда Redmadrobot подключилась к проекту еще на этапе анализа. Это помогло избежать масштабных переделок на этапах разработки и тестирования. Тест-кейсы и тест-планы включали в себя не только функциональное и UI\UX тестирование, но и тестирование безопасности.

Для приложения на стороне заказчика использовалась та же серверная часть, что и для личного кабинета, и в рамках тестирования мобильного банка были выявлены дефекты, исправление которых улучшило работу всех сервисов ФГ «Открытия».

HP Fortify — проверка безопасности по высшему разряду
Hewlett-Packard Fortify Static Code Analyzer — один из самых серьезных инструментов проверки Software Security Assurance (SSA), доступных на мировом рынке. Независимые эксперты из HP Fortify проверили 37 225 строк исходного кода мобильного банка «Открытие» — анализатор не выявил критических уязвимостей безопасности.

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

Уникально: регистрация в приложении по банковской карте
Начать пользоваться мобильными банками зачастую не так-то просто — требуется получать логин и пароль в отделении или иным способом, ждать, пока приложение зарегистрируется и т.д. В проекте «Открытия» стояла задача — избавиться от всех проволочек и дать клиенту возможность максимально просто стать пользователем мобильного банка.

Удалось найти оригинальное решение: клиент регистрируется по номеру своей банковской карты, больше никаких логинов и паролей не нужно. Поскольку номер самой карты из соображений безопасности хранить на устройстве нельзя, пришлось изобрести свой механизм идентификаторов, используемых для регистрации. Приложение генерирует новый идентификатор, отправляет его на сервер. Сервер присылает SMS с кодом подтверждения — и все, можно пользоваться мобильным банком. Естественно, взаимодействие с сервером происходит в зашифрованном виде, используются стандартные библиотеки iOS и протокол HTTPS.

Чтобы еще больше облегчить жизнь пользователю, в приложение была встроена функция распознавания: достаточно направить камеру iPhone на банковскую карту, и регистрация произойдет автоматически (в случае, если карта эмбоссированна). Потом нужно будет создать PIN-код и впоследствии входить в приложение с его помощью. Это достаточно безопасно, потому что можно блокировать приложение, если телефон потерян. Идентификатор помечается как скомпроментированный и больше под ним войти в систему нельзя, надо перерегистрироваться.

И, да – вход по Touch ID в iOS 8 также поддерживается. Кстати, мобильный банк «Открытие» — первый на российском рынке с идентификацией по отпечатку пальца.

Общаемся с сервером: API с заделом на будущее
На стороне сервера для мобильного клиента есть единая точка входа — middleware, разработанный банком, который дальше интегрируется со всеми внутренними системами — CRM, платежами, учета пластиковых карт и т.д.

Взаимодействие приложения с сервером происходит на основе нашего RESTful API, который был сделан универсальным, чтобы им могли пользоваться другие сервисы и веб-приложения банка. Создавался он в несколько итераций, начиная с модели данных. Причем сразу был прицел на повторное использование и возможности расширения. В итоге получился достаточно простой, очень удобный и масштабируемый интерфейс.
Сейчас API в полтора-два раза перекрывает функционал первой версии приложения. Архитектуру вообще стоит создавать с заделом на будущее, чтобы при развитии приложения не пришлось менять какие-то фундаментальные вещи.
Артур Сахаров, mc_murphy, технический директор Redmadrobot


Что сделано и что дальше
Первая версия мобильного банка поддерживает стандартный набор функций:
— Создание индивидуального кода доступа для простой повторной авторизации;
— Подробная информация о картах, кредитах и вкладах;
— Просмотр выписки;
— Возможность быстрого пополнения карты;
— Общая история платежей, проведенных через мобильный и интернет-банк с возможностью повтора операции;
— Оплата мобильной связи, платного телевидения, ЖКХ и многого другого;
— Переводы внутри банка «Открытие»;
— Конвертирование денежных средств;
— Быстрый поиск ближайших банкоматов и офисов;
— Быстрая связь со службой поддержки банка по горячей линии или email.
До конца года в приложении появятся переводы в другие банки, онлайн-консультации, будет доработана выписка (фильтры, категории операций) и многое другое. Релизная политика предполагает ежемесячные обновления, направленные на улучшение стабильности работы приложения и добавление нового функционала, отслеживание степени удовлетворения бизнес-потребностей компании-заказчика и корректировка плана развития продукта.
Вслед за iOS-версией для смартфонов появится мобильный банк под Android и планшетные версии.
Автор: @redmadrobot
REDMADROBOT
рейтинг 176,06

Комментарии (17)

  • 0
    Новый интерфейс с «Кодом доступа» явно позаимствован у Windows phone
    • 0
      «Было» вариант кажется проще.
  • +2
    Вот не люблю такой подход в интернет-банкинге, когда основной сущностью является карта, а не счёт (так сделано у тинькова, русского стандарта и еще кучи других банков).

    Гораздо удобнее сделано у Альфы и Росбанка (и может быть, у других неизвестных мне банков):
    Основная сущность счет. Я могу открыть счет онлайн в любой валюте через банк клиент и хранить деньги там и перекинуть деньги на карточный счет, сколько мне нужно на расходы. Зачем хранить на карточном счете всю сумму. (Кстати, у той же Альфы есть для этого счет «мой сейф» с более высокими процентами, и еще есть счет Аэроплан (на остаток раз в месяц начисляются мили аэрофлота)).

    Кроме того у той же Альфы и Росбанка можно оперативно менять счет, привязанный к карте. Зачем это нужно?
    Ну вот, например, собираюсь я в США или европу. Меняю привязку карты с рублевого счета на долларовый/евро, конвертирую рубли в валюту в интернет банке и при снятии в банкомате/оплате никакой конвертации по непонятным курсам не происходит. Удобно же, черт возьми.

    А еще, например, у АКБ Барс есть классная фича, запрет операций по карте зарубежом.

    Кстати, реквестирую банк, в котором одновременно есть обе фичи: запрет операций по карте зарубежом и смена дефолтного счета карты онлайн.

    P.S. если у вас всё это есть, извиняюсь и обещаю открыть у вас счет :)
    • 0
      У Альфы есть возможность настроить самому через клиент лимиты по карте и регион ее действия.


      А второго пункта вроде как нету.
      • 0
        спасибо!
      • 0
        И если кто-то знает о наличии подобного функционала у банков кроме Альфы, буду также благодарен за наводку (при поездках за границу хочется иметь две карты разных банков).
      • 0
        Смена дефолтного счета у альфы есть! Она доступна в новом альфа клик 2.0.
        Для этого:
        * Щелкните на пункт меню мои карты;
        * Щелкните на название карты;
        * Откроется старница с инфой о карте, там будет дополнительное горизонтальное меню, где первый пункт «Сменить счет».

        • 0
          А, тогда да ) не правильно понял выражение:
          запрет операций по карте зарубежом и смена дефолтного счета карты онлайн


          Слово «запрет» распространил на обе части.
          Тогда да, есть оба требования. Причем смену можно делать как онлайн, так и через клиент. Так же через клиент можно управлять лимитами.
  • +3
    Безопасность, дизайн… А в интернет-банке пароль в обязательном порядке цифры. 6 штук.
  • 0
    В iOS 8 Apple обещали нам вход в приложение по паролям/отпечаткам на уровне sdk, что скажете по этому поводу?
    • 0
      Если используется Touch ID, то пароль от банка хранится на девайсе и в лучшем случае защищён пином телефона (обычно 4 цифры). Для банковского приложения это фэйл безопасности.
      • 0
        Проверки средствами HP Fortify отслеживают то, как и куда передаются данные согласно алгоритмам приложения.
        В частности, просто хранение пароля на устройстве дало бы критическую уязвимость, а их в мобильном клиенте нет.
        • 0
          Не очень-то важно, где и как он хранится, если предоставляется приложению не самим пользователем.
  • +1
    1€ = 56 руб
  • 0
    Лучше бы банки взяли моду развивать и открывать публичные API для работы с банкингом!
  • 0
    Идея сделать действие «Оплатить» слайдером, наподобие того, что включает смартфон, очень понравилась всем участникам проекта


    >слайдером
    но зачем?
    • 0
      Слайдер исключает случайные нажатия на кнопку «Оплатить».
      Плюс, отправить деньги, просто проведя по экрану — это формирует определённого рода пользовательский опыт.

      Ощущение, как от звука щелчка при отключении экрана на iOS-устройствах.
      Щёлк! — экран погас.

      Кроме того, на ранних этапах разработки была идея убрать из процедуры оплаты всплывающее уведомление-alert для подтверждения платежа.
      Потом от этой идеи отказались, но в случае её внедрения кнопкой «оплатить» точно нельзя было бы ограничиться из-за тех же случайных нажатий.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка