Shift Schedule – График Работы

:

Добрый день. Меня зовут Владимир Кондратенко, я – разработчик Android - приложения Shift Schedule – График Работы.  Сегодня я хочу рассказать не о самом приложении, а немного о процессе его разработки, о трудностях, с которыми пришлось столкнуться и о дальнейших планах.

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

 

Мое знакомство с Android

 

Shift Schedule – График Работы

Возможно, кто-то скажет, что нельзя так просто взять, и начать кодить под Android. Два года назад так же считал и я. Да что там кодить - в это время я вообще понятия не имел, что представляет собой эта ось, не то что на уровне разработчика, но даже на уровне пользователя. За пару лет до описываемого момента я стал обладателем "легендарной" NOKIA 5800. Именно этот аппарат, так любимый многими, надолго отбил у меня даже желание знать, что там происходит, в этом загадочном мире сенсорных телефонов. Не заладились у нас отношения, в общем.Так этот "убийца айфонов" и провалялся дома, периодически исполняя роль будильника или плейера. Тогда мне казалось, что сенсорные телефоны никогда не будут достаточно хороши (впрочем, iPhone в то время был очень хорош, но он не в счет). Все изменилось, когда один из коллег на работе притащил с собой кем-то подаренный Samsung i5800. Уже порядком устаревший на то время, этот аппарат приятно удивил - те же цифры  в названии, а такие разные миры... В общем, увидев упомянутый Galaxy 3, я как-то сразу понял - я буду программировать под Android.

 

Идея приложения

Shift Schedule – График Работы

Началось все, пожалуй, еще во времена широкого распространения java-мидлетов в мобильных телефонах. Тогда я работал в смене, и однажды написал для себя простенькое  приложение. В нем можно было просмотреть свой график работы на многие годы вперед. Программа не имела настроек, и позволяла только листать календарь и переключать бригады. Через пару лет я ушел со смены, приложение стало мне не нужно, под java я больше не программировал. Однако ко времени моего первого знакомства с Android я знал, что мое приложение продолжает жить в стареньких телефонах, и что им пользуется уйма народу на нашем 50-тысячном предприятии. Несколько человек даже просили запилить аналог на симбе, или хотя бы сделать поддержку сенсорных экранов.  Естественно, вопроса "что писать под Android" даже не возникло.

Все слышали фразу: новое - это хорошо забытое старое. Вспомните - возможно, в Вашей жизни уже было что-то незаслуженно забытое, что стоило бы вспомнить и вывести на новый уровень?

 

Начало разработки

Погуглив, я понял, что разработка под новую для меня ось не так и сложна. Буквально через пару дней появился первый прототип приложения “График Работы", который не умел почти ничего, но ткнув в который, можно было узнать смену выбранной бригады. Обрывки моей памяти утверждали, что java здорово похож на C++. В действительности все оказалось немного не так.  Не хочу описывать свои злоключения на этом пути. Все доступные грабли, которые предоставляются джавой для си-программистов, неоднократно описаны в интернетах. Скажу лишь, что я добросовестно наступал на каждые, что мне встретились, как минимум по разу.

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

Хотя, что там было в начале? Нельзя так просто взять и… Да нет, можно же!

 

Пора подумать об архитектуре

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

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

Изначально, если отбросить все мелочи, все выглядело довольно просто: каждый график представляет собой .xml - файл, который хранится на карте памяти. В файле вся информация о графике - список смен, бригад, дней зарплаты. Графики могли быть только периодические. Задавалась определенная последовательность смен, которая циклически повторялась. Для каждой бригады задана дата, с которой  эта последовательность стартует. Вот, в принципе, и все. Составив вручную пару файлов с графиками и написав простенький парсер, можно было экспериментировать с программой.

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

Вот это, в принципе, и весь мой стратегический план, который был у меня на то время.

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

 

Выход в люди

В какой-то момент я созрел для того, чтобы продемонстрировать миру результаты своих трудов. В качестве площадки, конечно же, был выбран форум 4pda.ru. Опубликовав первые наброски в разделе 'разработка', и почитав первые немногочисленные отзывы, я понял, что приложение, в принципе, годное. Потихоньку начал готовить публикацию в Google Play. Изначально приложение не имело редактора графиков. Пока шла подготовка к публикации, я в срочном порядке пилил редактор.

В этот момент еще было очень много сомнений в успешности данного предприятия. Спустя некоторое время все формальности по оформлению аккаунта разработчика были соблюдены, и программа появилась на маркете. Одновременно с этим (конечно же) была создана ветка программы на 4pda, и я стал дожидаться первых отзывов. Программа была встречена пользователями хорошо. Через несколько дней "График Работы" оказался в "Топ новых бесплатных" в своей категории. Количество загрузок начало быстро расти. Довольно успешный старт я отношу на счет того, что благодаря предварительной публикации на 4pda, у программы уже была сотня-другая пользователей. Я просто обратился к ним за поддержкой, и многие откликнулись, установив приложение с маркета и оставив положительные оценки.

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

Из этого тоже можно сделать определенные выводы. Если у вас есть определенные средства на раскрутку, то первый месяц после публикации как раз и есть тот период, когда вложения будут наиболее эффективными.

 

Очередной виток развития

Shift Schedule – График Работы Shift Schedule – График Работы

Изначально программа поддерживала только периодические графики.

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

Вот здесь и начали проявляться архитектурные недостатки. Новый функционал было просто реализовать с помощью баз данных, однако требовалось сохранить совместимость со старыми .xml графиками. Это  в конце концов был реализовано, однако на разработку потребовалось несколько месяцев времени. Это был как раз тот этап, на котором я, наконец-то, наступило прозрение, и именно в такой форме: - Нельзя так просто взять и начать писать под Android. Курсоры, контент-провайдеры, фрагменты, лоадеры - Android имеет очень много специфических вещей, изучить которые можно, лишь программируя именно под эту платформу.

Надеюсь, эти месяцы прошли не зря. Пользователи получили обновленную версию приложения.  Я, в свою очередь, получил бесценный опыт.

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

То, что я не стал изначально возиться со сложными архитектурными вещами, определенно сыграло в плюс. Приложение, обладая каким-то, пусть и недостаточным, функционалом, продолжало набирать пользовательскую базу, в то время как я работал над новой версией. Если бы изначально была разработана “правильная” архитектура, выход первой версии приложения был бы на несколько месяцев задержан. Мне бы пришлось потратить много времени и сил, совершенно не зная, чем это все закончится. С другой стороны, из-за проблем первоначального проектирования, пришлось переписывать программу практически с нуля, что значительно увеличило трудозатраты. К тому же, переход на новую версию прошел не совсем гладко – ряд пользователей столкнулись с проблемами в работе программы, часть из которых, возможно, не решена до сих пор.

 

Монетизация

Эта часть проекта, конечно, могла бы быть реализована значительно лучше. Здесь все дело в том, что изначально были неправильно оценены масштабы проекта, и он был начат как простая проба сил, без каких-либо мыслей о заработке. Через некоторое время эти мысли появились, и был предпринят ряд действий, довольно сумбурных и непродуманных.

Ошибка первая:

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

Shift Schedule – График Работы Shift Schedule – График Работы

Одно такое приложение было написано (График Работы Widget Pack) и начата работа над вторым. Однако это не сработало. Все эти плюшки, конечно же, хороши и нужны людям. Но только как деликатес, а не в качестве основного блюда.

Вторым пунктом, призванным как-то поправить финансовое положение, стала реклама. Результаты - тоже не ахти. Во-первых, я использовал два агрегатора - Admob и Mobclix. Второй давал на порядок больше кликов, но на два порядка меньше денег (то есть, практически зря мозолил глаза). Еще одна причина неудачи - в главном окне рекламы нет, только в настройках. А у приложения специфика такова, что настройки открываются только в первые несколько дней использования. В настоящее время количество показов рекламы определяется не числом активных пользователей, а числом свежих установок за день. Плюс от введения рекламы на данный момент только в том, что ее наличие служит дополнительным фактором для приобретения донейта.

Третий способ монетизации - отдельное приложение-донейт. Предполагалось, что едва увидев программу, толпы восторженных пользователей выстроятся в длинные очереди за покупкой донейта. Причем приобрести его захотят исключительно из-за своей любви к программе. Ну и чтобы отблагодарить автора, подарившего им такое счастие. Не правда ли, смешно звучит? Ясное дело – мимо. Поэтому на донейт через некоторый период ожидания были возложены дополнительные функции. Приобретая донейт, пользователи получают некоторые дополнительные возможности. Это тоже не очень сработало, поскольку все достаточно размыто и непонятно - за что, все ж таки, платить? Пути выхода из ситуации вижу в том, чтобы дать четкое определение - донейт-это ключ, разблокирующий такие и такие возможности, с четким их перечислением. Для того, чтобы ознакомить пользователей с преимуществами этих функций, в начале предоставить пробный период.

В итоге, сейчас это работает по такой схеме. Если Вы работаете по периодическому графику, и реклама в приложении не мешает – можете не платить. Если есть необходимость в индивидуальных графиках, тогда нужен донейт-ключ. Например, чтобы отмечать отпуска, больничные, или чтобы заранее отмечать переходы между бригадами.

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

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

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

 

Статистика

Shift Schedule – График Работы

Статистика приложения вполне радовала вплоть до самого последнего времени. На рисунке показаны графики количества активных установок  (верхний) и количества установок за день (нижний).

Характерные точки графика:

  • Приложение попало в «Топ Новых бесплатных». В этот момент приложение полностью бесплатно. Реклама, донейты и всякие амбиции отсутствуют.
  • Приложение исчезло из «Топ», поскольку месяц прошел и оно уже не считалось новым. Сразу видно, что значит для приложения находиться хоть в каком-нибудь из многочисленных «Топов».  Вот почему за попадания в эти самые топы многие компании готовы тысячами скупать приложения сами у себя. Лишь бы пробиться, лишь бы заметили.
  • Приложение снова каким-то образом добралось в один из этих самых топов. На этот раз – «Топ бесплатных» в своей категории «Работа». С этого момента начался уверенный рост числа загрузок. Постепенно приложение прочно заняло свое место практически на границе первой сотни в данной категории. Вскоре после этого было опубликовано пустое приложение – донейт, который не делал абсолютно ничего, и был предназначен для добровольных пожертвований. За исключением буквально нескольких добрых людей, полностью провальная затея, я вам скажу…

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

Бинго!!! Количество закачек удалось вернуть практически на свое место. Что за чудо произошло? Название этого чуда – Проект поддержки разработчиков на 4pda.ru Воспользовавшись случаем, не могу не отвесить комплимент создателям сайта и всем, кто за этим стоит. Обратите внимание на огромный пик на графике ежедневных скачиваний – это просто мега-поддержка таким неискушенным в продвижении аматорам, как я. Эх, найти бы денежек и повесить рекламу на стартовой 4pda на пару недель… Мечты, мечты :)

Пока жизнь шла своим чередом, я усердно работал над новой версией программы. Приложение наконец-то получило поддержку изменения индивидуальных смен в графике. Однако, как видно из графика, ожидания от новой версии не вполне оправдались. Рост числа пользователей начал замедляться, и наконец, практически остановился. Главных причин, на мой взгляд, несколько:

Значительные изменения в интерфейсе. Многие пользователи не стали разбираться, а просто снесли программу – благо, альтернатив полно.

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

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

Разговор о статистике будет не полным, если не привести отчет, созданный сервисом AppAnnie.

Shift Schedule – График Работы

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

 

Планы на будущее

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

Фантазировать можно долго:

  • Навести порядок в коде
  • Наконец-то сделать дизайн
  • Привести в порядок сайт
  • Добавить напоминания и заметки
  • Синхронизация с Google Calendar
  • Облачное хранение данных с синхронизацией между устройствами
  • Разработка приложений под другие мобильные архитектуры и под десктоп (Windows, Linux)
  • Разработка сопутствующих приложений:
  • Добавить пяток виджетов в Widget Pack – есть несколько интересных идей
  • Менеджер сигналов – по работе людям часто нужны периодические оповещения
  • Менеджер персонала.
  • Менеджер профилей

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

 

Shift Schedule – График Работы

График Работы - приложение с будильником для работающих посменно.

Скачать из Google Play

Shift Schedule – График Работы

Widget Pack - График Работы Widget Pack - полноэкранный виджет с поддержкой листания и настройкой прозрачности

Скачать из Google Play