Вот уже почти два года я занимаюсь разработкой небольшого android-приложения. Сразу скажу: никаких чудес и секретов разработки (продвижения) здесь вы не узнаете. Просто хочу поделиться интересными, на мой взгляд, моментами в развитии публичного приложения с открытым исходным кодом.
Кому интересно, как это было и к чему я пришел в итоге, прошу под кат.
Зачем
Вначале моим основным мотивом было простое желание попробовать писать под android, хотя позже это переросло в нечто большее. К тому же, в то время, аналогов да и вообще приложений для Беларуси было очень мало. А тут ещё и очередной валютный кризис. Вот и зародилась идея.
Идея
Сделать виджет для получения актуальной информации о курсах валют в Беларуси. Тогда ещё был популярен один ресурс полулегального обмена валют. С загрузки этой информации всё и началось. Потом, конечно, были добавлены разные банки Беларуси, России, Украины, а изначальный источник, со стабилизацией валютного рынка, канул в лету.
Механизм
Учитывая моё желание писать под android, а не для backend-сервера, было решено использовать общедоступные источники информации с малым потреблением трафика. Как бы бесперспективно это не звучало, оказалось — вполне реально. Просто нужно потратить время на переписку и договориться с владельцами ресурсов, а также подстроить код приложения под каждый ресурс.
Источники
Каждый источник загружаемой информации — это отдельная история. Кто-то хочет денег, кто-то запрещает использование, хотя даже и не планирует разрабатывать android-версию, кто-то после моего обращения быстренько стряпает своё приложение, иные тянут переписку по несколько недель с нулевым результатом, однако есть и положительные примеры: некоторые сразу разрешали и даже изменяли для моего удобства собственный API!
Если обобщить, самыми отзывчивыми оказались украинские ресурсы: я нашел сразу несколько вариантов интеграции, причем с явной ссылкой на сайте и приемлемой документацией. Второе место — Беларусь — хотя и с трудом, часто при помощи отслеживания AJAX запросов, но тоже можно было найти способ. Ну и, к сожалению, хуже всего — Россия — не только полное отсутствие документации и приемлемых способов интеграции, но даже банального ответа на письма. Если кто-нибудь покажет мне приемлемый российский источник информации — буду очень благодарен.
Примерная оценка рынка
Хоть как-то оценить объём целевой аудитории перед публикацией помогла вот эта статья. Ну а перестроить статистику для Беларуси было не так уж сложно. Тогда получилось около 500k устройств. Даже 5% этого рынка кажутся вполне достаточными для публикации приложения.
Сообщество
Не ожидал такой высокой активности, правда! Отзывы на маркете, письма на ящик разработчика с предложениями по улучшению, самое главное, живой форум с отзывчивыми участниками. Огромное им спасибо! Это очень помогает и мотивирует к дальнейшей разработке.
Конкуренты
Вскоре после запуска появились первые конкуренты (тема всё-таки была актуальна). Разработчики толкали неразобранный html в поле вывода текста или загружали web-информеры для сайтов через WebView. Сейчас, конечно, эти приложения уже неактуальны. Однако и у них было чему поучиться: они натолкнули меня на мысль расширить функционал экраном поиска лучших курсов — то есть не только показывать актуальные курсы конкретных банков, но и выбирать лучшие курсы из предлагаемых по городу.
Аналитика: поворотный момент
С самого начала ощущалась нехватка информации о поведении пользователя. Поэтому был подключен Google Analytics и это дало интересный результат: оказалось, всего треть пользователей использует основной функционал (виджеты), остальные — только открывают экран с лучшими курсами. Значит надо сменить вектор разработки: уделить больше внимания экрану лучших курсов. Основные улучшения с тех пор касались, в основном, более востребованных функций.
Ещё поворот: курсы на карте
Однажды вечером, стоя на улице и судорожно соображая, в какой из ближайших продуктовых магазинов пойти, чтобы успеть до закрытия, и не слишком далеко нести сетки, и не проиграть по ценам, я вдруг понял, что человек, желающий обменять валюту, мучается почти теми же вопросами.
Так почему же не реализовать некую карту обменников, привязанных к местности с возможностью видеть курсы в них (например, как на табло в самом обменнике)?
Как найти, привязать, собрать, обновлять данные — это тема для еще одной статьи, скажу только, что в итоге всё сложилось.
Снова конкуренты
Спустя несколько месяцев после публикации на одном из конкурсов новых android-приложений (то есть моё приложение не подходило по времени создания) мелькнула и даже заняла призовое место одна работа с очень близким функционалом.
Да ещё и достаточно крупный локальный портал решил написать аналогичное собственное приложение.
Никого не собираюсь обвинять в плагиате (идея ведь лежит на поверхности), наоборот, мне даже приятно осознавать, что первым увидел нишу и реализовал решение для неё.
Тем более, несмотря на достаточно сильную конкуренцию, приложение остаётся в первой десятке в категории “Финансы” уже достаточно долго, обладая, при этом, фишками, которые до сих пор не реализованы у конкурентов.
Честно говоря, когда стало известно о появлении конкурентов, я даже немного обрадовался: значит идея стоящая и будет развиваться.
Продвижение и статистика
Тут ничего особенного: были написаны несколько уникальных статей, есть форум, статья wiki. Сильно помогло увеличить количество отзывов ненавязчивое диалоговое окно с предложением оценить приложение на маркете.
Единственный ощутимый скачок загрузок был только после публикации обзора на 4pda по программе поддержки разработчиков
Цикл разработки
По прошествии некоторого времени у меня сложился следующий процесс.
Замечания, предложения, сообщения об ошибках собираются из Google Play Store и форума. Активная фаза занимает 2-4 недели. Когда все запланированные функции реализованы, сборка должна пройти следующие этапы:
- Небольшой smoke junit-тест
- Контроль энерго- и трафикопотребления
- Alpha-тест
- Beta-тест на форуме и в G+ группе
- Публикация на Google Play Store
Волны новых версий: далеко не все пользователи периодически обновляют свои приложения, а некоторые вообще никогда. Около 50% устройств обновляются за первые 2 недели после выпуска новой версии, потом темпы обновления значительно снижаются.
Исходный код
Если кому интересно, он открыт и находится у гугла. Буду благодарен за ревью и рекомендации.
Выводы
Не претендуя на истину в последней инстанции, сформулирую кратко, что я знаю шестьсот сорок рыбок спустя
- Знай своего пользователя: что он делает в приложении? как долго? насколько часто? Для этого есть достаточно инструментов. Возможно, ты движешься не туда.
- Не стоит недооценивать сообщество: среди пользователей найдутся те, кто захочет тебе помочь — просто так, особенно, если будешь внимателен.
- Не бойся конкуренции. Это то, что сделает приложение качественнее и, возможно, покажет, что оно лучше, чем ты думал.
- Спроси (помощь, доступ, разрешение) и, возможно, получишь то, что хочешь. Ведь если не спросишь — точно ничего не будет.
ссылка на оригинал статьи http://habrahabr.ru/post/192516/
Добавить комментарий