Пользователь
0,0
рейтинг
4 сентября 2013 в 15:05

Разработка → История одного android-приложения из песочницы


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

Зачем


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

Идея


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

Механизм


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

Источники


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

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


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

Сообщество


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

Конкуренты


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

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


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

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


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

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


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

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


Тут ничего особенного: были написаны несколько уникальных статей, есть форум, статья wiki. Сильно помогло увеличить количество отзывов ненавязчивое диалоговое окно с предложением оценить приложение на маркете.
Единственный ощутимый скачок загрузок был только после публикации обзора на 4pda по программе поддержки разработчиков (тогда это ещё было бесплатно).
image

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


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

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

Исходный код


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

Выводы


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

Подробнее
Реклама

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

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

  • 0
    Отличная статья. Когда-то после разработки своего приложения для Android, правда, был один неприятный момент — для регистрации в GooglePlay надо было заплатить небольшой взнос, а карточки не было.
    • 0
      Да было такое, единственные вложеные мной в проект средства.
      Ну и ещё два года разработки )
  • 0
    Спасибо! Продолжайте разработку!
  • –7
    А что, кто-то продолжает оставлять комментарии на Маркете после введения авторизации через Г+?
    • 0
      Более того. Я даже особо не заметил, чтобы активность стала меньше. Пользователи довольно спокойно отнеслись к тому, что теперь нужно оставлять комментарии через G+
    • –2
      Попробовал нажать «yes» в ответ на вопрос о входе по G+, и оно сразу дало войти. Я то думал, регистрироваться надо.
  • 0
    Расскажите чуть побольше о процессе открытия исходников — они с самого начала были доступны или вы их недавно открыли? Просто несколько странно, что такой большой проект с длиннющей историей (с 2011) до сих пор не доступен, скажем, на f-droid или аналогичных репозитариях свободного ПО…
    • 0
      Исходники были открыты с самого начала.
      На мой взгляд, проект не такой уж и большой. Я не совсем понял насчет доступности в других репозитариях. Зачем?
      • 0
        В смысле — зачем? Я знаю далеко не одного человека, который либо не пользуется Google Play совсем, либо по крайней мере старается не пользоваться им по мере возможности — использование проверенных репозитариев типа того же f-droid (насколько я вижу, он — крупнейший) дает хоть какие-то гарантии того, что запускаемое ПО делает действительно то, что оно заявляет.
        • +5
          Вы не задумывались о том, что у вас паранойя?
          • 0
            Видимо и правда, я после этого комментария стал «отхабренным». Спасибо.
  • 0
    Про введение платы за «поддержку отечественных разработчиков» на 4pda, печальная новость конечно, но, может оно и к лучшему…
    • 0
      Сам не знал. За уточнение спасибо SabMakc.
  • 0
    Спасибо за статью. Небольшое замечание:
    > Знай своего пользователя: что он делает в приложении? как долго? насколько часто? Для этого есть достаточно инструментов
    А почему бы их хотя бы не упомянуть?
    • 0
      Я использую статистику Play Store и Google Analytics. Они упомянуты в статье. Решил не дублировать.
      • 0
        А! Я просто думал речь про внешние сервисы, чтобы в самой программе анализировать (как-то пробегали упоминания таких на хабре). А эти упомянуты, да, спасибо.
  • 0
    В общем попробовал, не понравилось. Первое, что не понравилось — любые СМС с незнакомых номеров априори считаются за спам. По-моему лучше чтоб программа начинала работать по инициативе пользователя, а не при приходе СМС. Второе: неграмотный английский в интерфейсе. Зачем вообще в программе есть английский интерфейс, если она рассчитана исключительно на русских пользователей?
    • +1
      Похоже, вы говорите о каком-то другом приложении. В том, что описано в статье нет ни английского языка ни отправки смс, даже разрешений на это в манифесте на продекларировано.
      • +2
        Звиняйте, тему попутал
    • –1
      Эпичненько)
  • 0
    Извините за офтоп. А вы тот самый Сергей Румас, его тезка или это тонкий юмор? :)
  • +1
    честно говоря думал, что суть статьи, судя по картинке, будет сводиться к адаптации версии под разные, новопоявляющиеся, версии андроид. Но ничего, статья интересная, спасибо и на этом )

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