...

четверг, 3 октября 2013 г.

[Из песочницы] Как я запускал мобильное приложение Hideninja VPN (Часть 1): Первый прототип, первый взлом In-App Purchase


Нас взломали! Нас взломали!



— не отличалась оригинальностью моя реакция на взлом In-App Purchase моего приложения “Hideninja VPN” под Android. Но об этом я написал только в предпоследнем абзаце. А до него есть еще несколько строк о том, что за проект такой этот «Hideninja VPN». Также я расскажу о том, как был пройден путь от первого прототипа, как проект вышел в top-5 по запросу “vpn” англоязычного Google Play, как редизайн повлиял на восприятие приложения пользователями, сбор граблей и, наконец, про взлом In-App Purchase. Конечно, я разделил этот материал на несколько частей, иначе читать его было бы абсолютно утомительно. Итак, Часть 1.

image


Вот она, взломанная “Версия 3.3 PRO”.


Про что мы тут?



Уверен, что у вас уже возник вопрос, что за проект такой этот «Hideninja VPN». Если вы знакомы с тем, что такое VPN, то уже из названия моего продукта становится понятно, о каком именно сервисе и ценности для пользователя идет речь: это VPN-сервис для Android, на сегодняшний день предлагающий пользователю подключиться к одному из 20-ти собственных серверов по всему миру. При подключении вашего устройства к «Hideninja VPN» весь ваш трафик шифруется на вашем устройстве, проходит через выбранный вами в «Hideninja VPN» сервер, на выходе c с которого ваш реальный IP-адрес меняется на IP-адрес сервера, отличный от вашего реального.

В России, пока еще, мы практически не ограничены в своем передвижении по сети Интернет, тогда как на Западе, а в особенности — в странах Востока, проблема цензуры в Интернете стоит очень остро, что подтверждается нашей статистикой, о которой пойдет речь чуть ниже. В самых запущенных случаях люди без VPN вообще не имеют доступа к Facebook, YouTube, Skype и прочим популярным сервисам, можно даже не упоминать проблему доступа к торрент-сайтам и избежание риска быть пойманным за закачку нелегального контента — эта проблема меркнет перед болью от невозможности зайти в Facebook.

Итак, статистика. Приложение “Hideninja VPN” запущено в Google Play в январе 2013 года, на сентябрь 2013: загружено более 300 000 раз, имеет более 135 000 постоянных активных пользователей, оба показателя растут.


Приложение пользуется особой популярностью в странах Востока, но — не удивлю — основные платящие пользователи — из США, Великобритании — сравните top стран активных пользователей (слева) и top стран по доходам (справа):



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



В январе 2013 года я провел исследование и увидел, что на рынке VPN под Android, среди более 1000 приложений, нет ни одного такого, которое устраивало бы меня своим UI и UX, ценой, скоростью, но особенно — UI и UX. Перечитав отзывы пользователей у top-5 VPN приложений, я понял, что я такой не один.

Смотря на количество загрузок на Google Play у лидеров VPN приложений (более 7 млн. суммарно у игроков из top-3 по запросу “vpn”), ясформировал следующую простейшую гипотезу: раз пользователи скачивают и используют продукты с низким качеством UI и UX, с медленной скоростью соединения и назойливой рекламой или ограничениями, а кроме того — еще и покупают в этих приложениях платные функции и подписки, то должны будут скачивать и использовать куда более удобное приложение, при разработке которого все знания о недостатках конкурентов будут учтены.

Если есть гипотеза — необходимо ее доказать. И решения лучше, чем пойти по пути создания MVP (Minimum Viable Product) и выпустить его в Google Play, я не нашел.
Первый прототип



Проверка идеи выпуском прототипа с минимальным набором функций (MVP) для реальных пользователей, с точки зрения бизнеса и маркетинга, — это быстрый и дешевый способ апробации и сбора первых мнений об идее продукта; сделать это без прототипа намного сложнее. С технической точки зрения MVP — это набор костылей, склеенных вместе, и работающих на честном слове, именно так и выглядел внутри (да и снаружи — тоже) первый прототип «Hideninja VPN».

Итак, что у меня было на момент создания первого прототипа:


  • непреодолимое желание сделать какое-нибудь свое удобное приложение

  • понимание, как реализовать VPN на основе свежих Android API




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

Путем непродолжительного поиска был найден подходящий вариант реализации протокола OpenVPN под Android, правда, только под версию 4 и выше, но на начало 2013 года это не казалось такой уж большой проблемой — суммарная доля закачек приложений категории Tools, наиболее подходящей для VPN на Google Play, со всех версий 4ки уже стремилась с хорошим темпом к 50%, что доказывало, что поддержка версий 2.х будет не выгодной.

Простейший UI первого прототипа я сделал сам, добавив на пустую заготовку экрана приложения одну кнопку Connect/Disconnect, отображение IP и страны VPN-сервера, к которому выполняется подключение, а также несколько предложений для хоть какой-то забивки пустого места:


Забегая вперед, скажу, что только лишь к 3-й мажорной версии приложения ко мне пришло понимание того, какие UI и UX будут действительно удобны для пользователя.Об этом читайте в следующей части.

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

Конечно, это еще не было тем самым удобным и быстрым приложением, к которому я стремился, но первый прототип показал мне, что на рынке VPN под Android еще есть место для новых игроков, а значит, есть смысл продолжать проверять свою гипотезу.


Так ли страшен взлом In-App Purchase



И вновь забегаю вперед: в следующей части статьи я расскажу о том, как мы выходили на рынок, как начали монетизацию. Здесь лишь скажу, что был выбран вариант In-App Purchase, который, как оказалось, до смешного легко взломать!

Сентябрь, дождь, 3 часа ночи, случайно натыкаюсь на ветку о своем проекте на 4pda, чему был сильно удивлен, так как русскоязычный Google Play никогда не был у нас в приоритете, и маркетинговой активности, направленной на русскоговорящих пользователей, мы не проявляли.

Начинаю читать первый пост, дохожу до приложенных файлов и вижу, что прикреплены два файла — бесплатная версия и версия PRO, которую можно получить, только заплатив 49.99 руб. (цена для России) через механизм In-App Purchase.

image


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

Отмечу, что до того момента я не изучал тему взлома приложений, иначе мне все было бы сразу понятно, кроме того, я настоял бы на внедрении как минимум стандартных средств защити — ProGuard и Licence Verification Library (но и они успешно взламываются нехитрыми методами). Особенно важно защитить себя от взлома, если вы используете для контроля и управления покупками и подписками встроенные средства Google Play (In-app Billing Version 3 API), а не свой собственный сервер.

Но не стоит остро реагировать на взлом. Куда лучше начать работу с аудиторией, что мы и сделали. Мы развернули кампанию на 4pda, где предлагаем пользователям получить PRO бесплано: абсолютно легально и без использования взлома. Это дало нам лояльных пользователей, с которыми мы теперь постоянно поддерживаем контакт и просим помочь нам, если нуждаемся в тестировании новых версий.


Полученный опыт



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

Не стоит в слепой ярости бросаться на тех, кто тебя взломал, куда мудрее — увидеть в этом преимущества для проекта и использовать их во благо.
Что в следующей части истории



Я расскажу о том, как мы проделали пусть от первого прототипа до текущей версии приложения. А пока, вот, как выглядят все 3 версии, которые были выпущены, как говорится, почувствуйте разницу (первый прототип, 2.0, 3.0 соответственно):


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий