ModeBot

в 10:09, , рубрики: android, mobile development, приложение, развитие, Разработка под android, метки: , ,

ModeBot

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

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

Часть 1-я: Беременность

Забеременел я внезапно.

Но сначала предыстория.

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

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

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

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

И тут ко мне пришло озарение — это же Android, а значит эту задачу можно поручить ему!

Не долго думая, я полез в дебри Google Play. От увиденного я испытал культурный шок. Нет, приложений под мою задачу можно было приспособить несколько, но это означало поселить к себе в телефон либо монстра, который очень аппетитно смотрел из магазина на батарею телефона (от чего она, как мне показалось, заранее немножко села) и с которым можно договориться проведя час-другой в переговорах-настройке. Либо же это был набор однотипных страшненьких дизайном приложений, внешний вид которых вселил в меня неуверенность хочу ли я вообще такую программу.

ModeBot ModeBot ModeBot ModeBot

Хочу.

Но все же не такую.

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

С этого момента можно считать, что беременность идет полным ходом.

Итак формализуем требования к будущему детищу:

  • Лаконичный и понятный интерфейс (хотелось бы интуитивный, но это в процессе использования только определится)
  • Отсутствие сложных сценариев для пользователя. В идеале возможность выполнять основные операции 3–4 нажатиями.
  • Минимальный аппетит к ресурсам телефона, а в частности к батарее.

Ну что ж, каким оно будет я уже начинаю понимать, пора придумывать детищу имя.

Ringer mode manager, Sound automate — первые варианты были просто предназначены для отпугивания потенциальных пользователей.

Еще пару дней раздумывания и вот оно! ModeBot. Кратко, ёмко, имеющее предпосылки к Android и субъективно приятно.

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

Часть 2-я: Рождение

Роды были тяжелыми.

Весь процесс был в новинку. На тот момент я имел большой опыт разработки маленьких и больших, десктопных и веб-приложений, системных и бухгалтерско-прикладных программ. Но так получилось, что Java и Eclipse, до этого момента существовали отдельно от меня.

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

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

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

Ну что же — впереди нас ждало тестирование, и развитие приложения до стабильного состояния.

Часть 3-я: Учимся ходить

Ребенок падал.

А когда наконец пошел, то пытался побежать и снова падал.
А когда научился бегать, то мог убежать не в ту сторону.

Но в итоге удалось достичь поставленной цели. В основу программы легла простая концепция одиночных команд. Каждая команда звучит так «В такое-то время установить такой-то режим». В противовес многим похожим программам, которые работают по принципу установки периода перехода телефона в виброрежим, система одиночных команд оказалась более универсальной и простой в использовании. С ее помощью можно комбинировать такие сценарии как «Беззвучный режим -> Виброрежим -> Звуковой режим» и прочие. И интерфейс получается элементарно простым и понятным.

ModeBot ModeBot

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

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

Прошел примерно месяц с начала разработки и у Алексея как раз истекли его 2 дня. Не успев поиронизировать по этому поводу, я понял, что не стоит.

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

ModeBotModeBot
ModeBot

ModeBot

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

Теперь путь лежал только в одном направлении — Google play.

Часть 4-я: Растем и развиваемся

Первая встреча с большим миром была циничной.

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

День, два, три, месяц — скачиваний нет. Хорошо, делаем вывод, что само по себе признание не приходит.

На сайте 4pda в рамках поддержки разработчиков утром публикую обзор приложения. И практически онлайн слежу за комментариями и скачиваниями.

В течение дня — 50 скачиваний. На тот момент для меня это было просто гигантским числом. К концу дня, наметив дорогу в магазин за шампанским, чтобы отпраздновать сие событие, я вижу свежевыложенный apk на форуме того же 4pda.

Поход в магазин отложен.

По итогам этого и следующих дней число скачиваний apk на форуме в 6 раз превысило число скачиваний из Google Play. Покупки приостановились, несмотря на выход на 8-е место в ТОП в категории персонализация. Позднее категория была изменена на Инструменты.

Отзывы в маркете и на форуме практически все очень высокие. Приложение оправдало функциональные ожидания.

На форуме меня заверили, что разместили apk, только для тестирования пользователями, так как я не создал бесплатной версии приложения.

Ну что же, резонно. На основе утекшей версии рождается ModeBot Free. В основную же версию программы добавляется «Белый список» и защита через проверку на серверах лицензирования Google и перевод на английский язык.

Публикация на тематических американских форумах (xda-developers.com, android.net и пр.) практически не принесла результата. На данный момент зарубежных скачиваний около 5%. Публикация Вконтакте набрала лайки, но не переходы, похоже что там люди ставят их автоматически.

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

ModeBot ModeBot ModeBot ModeBot ModeBot

Количество скачиваний пока небольшое, но стабильное, аккаунт разработчика окупился.
Есть активные поклонники программы из разных стран, которые дают хорошую обратную связь.
На данный момент рейтинг программы 4,58. Более 80% установок являются активными.

Ну что же, готовимся «пойти в школу» — ведь мы только начали свое развитие.

Автор: TemaAE

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js