История одного android-приложения

habr

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

android

Зачем

Вначале моим основным мотивом было простое желание попробовать писать под android, хотя позже это переросло в нечто большее. К тому же, в то время, аналогов да и вообще приложений для Беларуси было очень мало. А тут ещё и очередной валютный кризис. Вот и зародилась идея. 

Идея

Сделать виджет для получения актуальной информации о курсах валют в Беларуси. Тогда ещё был популярен один ресурс полулегального обмена валют. С загрузки этой информации всё и началось. Потом, конечно, были добавлены разные банки Беларуси, России, Украины, а изначальный источник, со стабилизацией валютного рынка, канул в лету.

Механизм

Учитывая моё желание писать под android, а не для backend-сервера, было решено использовать общедоступные источники информации с малым потреблением трафика. Как бы бесперспективно это не звучало, оказалось — вполне реально. Просто нужно потратить время на переписку и договориться с владельцами ресурсов, а также подстроить код приложения под каждый ресурс.

Источники

Каждый источник загружаемой информации — это отдельная история. Кто-то хочет денег, кто-то запрещает использование, хотя даже и не планирует разрабатывать android-версию, кто-то после моего обращения быстренько стряпает своё приложение, иные тянут переписку по несколько недель с нулевым результатом, однако есть и положительные примеры: некоторые сразу разрешали и даже изменяли для моего удобства собственный API!

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

Примерная оценка рынка

Хоть как-то оценить объём целевой аудитории перед публикацией помогла вот эта статья. Ну а перестроить статистику для Беларуси было не так уж сложно. Тогда получилось около 500k устройств. Даже 5% этого рынка кажутся вполне достаточными для публикации приложения.

Сообщество

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

Конкуренты

Вскоре после запуска появились первые конкуренты (тема всё-таки была актуальна). Разработчики толкали неразобранный html в поле вывода текста или загружали web-информеры для сайтов через WebView. Сейчас, конечно, эти приложения уже неактуальны. Однако и у них было чему поучиться: они натолкнули меня на мысль расширить функционал экраном поиска лучших курсов — то есть не только показывать актуальные курсы конкретных банков, но и выбирать лучшие курсы из предлагаемых по городу.

Аналитика: поворотный момент

С самого начала ощущалась нехватка информации о поведении пользователя. Поэтому был подключен Google Analytics и это дало интересный результат: оказалось, всего треть пользователей использует основной функционал (виджеты), остальные — только открывают экран с лучшими курсами. Значит надо сменить вектор разработки: уделить больше внимания экрану лучших курсов. Основные улучшения с тех пор касались, в основном, более востребованных функций.

Ещё поворот: курсы на карте

kursy map

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Снова конкуренты

Спустя несколько месяцев после публикации на одном из конкурсов новых android-приложений (то есть моё приложение не подходило по времени создания) мелькнула и даже заняла призовое место одна работа с очень близким функционалом. Да ещё и достаточно крупный локальный портал решил написать аналогичное собственное приложение.

Никого не собираюсь обвинять в плагиате (идея ведь лежит на поверхности), наоборот, мне даже приятно осознавать, что первым увидел нишу и реализовал решение для неё.
Тем более, несмотря на достаточно сильную конкуренцию, приложение остаётся в первой десятке в категории “Финансы” уже достаточно долго, обладая, при этом, фишками, которые до сих пор не реализованы у конкурентов.

Честно говоря, когда стало известно о появлении конкурентов, я даже немного обрадовался: значит идея стоящая и будет развиваться.

Продвижение и статистика

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

Единственный ощутимый скачок загрузок был только после публикации обзора на 4pda по программе поддержки разработчиков (тогда это ещё было бесплатно).

1

Цикл разработки

По прошествии некоторого времени у меня сложился следующий процесс.
Замечания, предложения, сообщения об ошибках собираются из Google Play Store и форума. Активная фаза занимает 2-4 недели. Когда все запланированные функции реализованы, сборка должна пройти следующие этапы:

  • Небольшой smoke junit-тест
  • Контроль энерго- и трафикопотребления
  • Alpha-тест
  • Beta-тест на форуме и в G+ группе
  • Публикация на Google Play Store

2

Волны новых версий: далеко не все пользователи периодически обновляют свои приложения, а некоторые вообще никогда. Около 50% устройств обновляются за первые 2 недели после выпуска новой версии, потом темпы обновления значительно снижаются.

Исходный код

Если кому интересно, он открыт и находится у гугла. Буду благодарен за ревью и рекомендации.

Выводы

Не претендуя на истину в последней инстанции, сформулирую кратко, что я знаю шестьсот сорок рыбок спустя:

  • Знай своего пользователя: что он делает в приложении? как долго? насколько часто? Для этого есть достаточно инструментов. Возможно, ты движешься не туда.
  • Не стоит недооценивать сообщество: среди пользователей найдутся те, кто захочет тебе помочь — просто так, особенно, если будешь внимателен.
  • Не бойся конкуренции. Это то, что сделает приложение качественнее и, возможно, покажет, что оно лучше, чем ты думал.
  • Спроси (помощь, доступ, разрешение) и, возможно, получишь то, что хочешь. Ведь если не спросишь — точно ничего не будет.

Источник: http://habrahabr.ru/