Как делалось наше приложение Sports Counter: история + итоги

Sports Counter

Как вы знаете, проект AppStudio с недавних пор — это не только справочный сайт об Apple в Интернете, но ещё и небольшая студия, которая занимается разработкой программного обеспечения. В 2012 году мы выпустили наше первое приложение — универсальный спортивный счётчик Sports Counter. В свободное от работы над сайтом время мы работали над его продвижением и улучшением.

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

По правде говоря, этот материал мы готовили для публикации в рубрике Dev Story на iphones.ru. Но великий и ужасный Артур Малосиев счёл Sports Counter неинтересным (чего уж там, есть программы куда более достойные и качественные). Впрочем, в отличие от многих разработчиков, нам есть где публиковать собственные материалы ;)

Итак, вот наша история.

Идея приложения Sports Counter появилась у нас уже давно, потому что подобная программка прежде всего была нужна нам самим. Почти каждый участник нашей команды увлекается каким-нибудь видом спорта, так что вопрос поиска хорошего спортивного счётчика с возможностями ведения статистики всегда был актуален. А особенно полезным такой счётчик был бы в наших хоккейных турнирах, где число забитых шайб для каждого является предметом особой гордости.

В итоге мы решили, что первой нашей программой в App Store станет универсальный спортивный счётчик, совмещающий в себе возможности ведения статистики матчей и планирования будущих игр. Мотивировали себя мы тем, что если эксперимент принесёт хоть какую-то выручку, то будет замечательно, а если нет – то мы в любом случае получим не только программку, подходящую под наши нужды, но и ценный опыт разработки.

В самом начале

«There’s an app for it» – гласит главный принцип App Store. Разумеется, он работает и в отношении спортивных счётчиков. Мы долго изучали ассортимент App Store, не переставая удивляться: казалось бы, этот жанр приложений относится не просто к редким, а экзотическим категориям, однако приложений набралось в разы больше, чем мы ожидали.

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

Конкуренты Sports Counter

Конкуренты Sports Counter

Судя по всему, не только мы решили выбрать спортивный счётчик в качестве первого эксперимента :)

Конкуренты Sports Counter

В итоге тщательного изучения ассортимента App Store мы пришли к выводу, что почти весь софт из нашего жанра делится на две категории:

  • либо сугубо специфические счётчики, рассчитанные только на конкретный вид спорта (например, бейсбол или теннис);
  • либо совсем универсальные приложения, где весь интерфейс сводится к полю с цифрой и кнопками «плюс/минус».

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

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

  • хоккей
  • футбол
  • баскетбол
  • волейбол
  • бейсбол
  • гандбол
  • регби
  • американский футбол
  • большой и настольный теннис
  • бадминтон
  • русский бильярд
  • пул
  • снукер
  • дартс
  • уно

Регби, американский футбол и бейсбол мы добавили исключительно в интересах потенциальных американских пользователей :)

Чтобы сделать счётчик по-настоящему универсальным, мы добавили ещё два «вида спорта» — произвольную индивидуальную игру и произвольную командную игру. С их помощью Sports Counter можно приспособить под большинство известных спортивных и настольных игр.

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

Про внешний вид

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

Проектирование интерфейса

Затем началась отрисовка макетов — сначала в карандаше, затем — в эскизах. Здесь нам здорово помогли готовые шаблоны элементов интерфейса iOS, которых в Интернете можно найти немало, а также приложение OmniGraffle для OS X и iOS, в котором тоже весьма просто проектировать интерфейс.

Изначально у нас получился такой вариант:

Первоначальный дизайн Sports Counter

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

Окончательный дизайн Sports Counter

Примерно в таком же стиле проектировался интерфейс приложения на iPad: основная часть экрана была отведена под управление счётом, а сайдбар — под меню программы.

Окончательный дизайн Sports Counter

Как всё устроено

Запустив приложение, пользователь попадёт на экран серий. Серия игр в Sports Counter — это совокупность матчей в одном виде спорта между одними и теми же соперниками.

Серии в Sports Counter

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

Или другой пример: серии можно использовать, чтобы разделить разные сезоны, и сравнить статистику, скажем, по матчам 2011 и 2012 года.

Создав серию, вы окажетесь на главном экране Sports Counter, откуда сразу можно перейти к созданию записи о матче.

Планировщик Sports Counter

В Sports Counter можно добавить результаты проходящих в данный момент или уже сыгранных матчей (на вкладке «Матчи»), либо запланировать будущие игры (вкладка «Планы»).

Для нового матча приложение предложит вам ввести:

  • участников (команды и их состав)
  • место и время проведения
  • периодичность повторения (например, если вы играете в футбол с друзьями раз в неделю, то достаточно создать одну повторяющуюся запись)

Создание матча в Sports Counter

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

Ввод игроков в Sports Counter

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

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

Ввод счёта в Sports Counter

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

Редактирование счёта в Sports Counter

По окончании игры можно поделиться счётом через Facebook. Можно экспортировать отдельный матч или всю серию (с игроками и командами) по почте, чтобы на любом другом iOS-гаджете со Sports Counter всю эту информацию можно было импортировать в один клик. Наконец, можно посмотреть статистику по игрокам и командам:

Статистика игр в Sports Counter

В качестве бонуса в Sports Counter для каждого из 17 поддерживаемых видов спорта встроен подробный справочник по правилам, который может пригодиться в спорных ситуациях:

Справочник по правилам игр

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

Обучающий мастер в Sports Counter

Итоги разработки

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

Sports Counter на iPad

Самым сложным во всём этом процессе оказалось тестирование. Удивительно, как на ровном месте может возникнуть невообразимое количество багов, связанных и с особенностями Xcode, и с совместимостью сторонних фреймворков, и с реализацией одних и тех же функций и элементов интерфейса iOS в разных версиях прошивок. Больше всего нам потрепала нервы iOS 6, из-за которой пришлось доделывать и переделывать гораздо больше кода, чем нам хотелось бы.

Публикация и продвижение

К счастью, никаких серьёзных проблем с цензорами App Store у нас не возникло. И сама программа, и все апдейты к ней рассматривались в среднем за неделю (максимум 10 дней).

Один раз нам пришлось воспользоваться правом на ускоренное рассмотрение – в приложении нашёлся серьёзный баг с in-app purchase. Как и обещано, цензоры App Store рассмотрели апдейт в течение 1 рабочего дня… и отклонили его, мотивировав это тем, что у нас не работает кнопка восстановления покупок. Сказать, что это нас огорчило – ничего не сказать. Мало того, что мы потеряли право на ускоренное рассмотрение, так это ещё был первый в нашей истории случай отклонения программы.

Но в итоге ситуация разрешилась благополучно. Как только мы залили апдейт, в котором ещё раз протестировали механизм in-app purchase вдоль и поперёк, он снова был рассмотрен в течение одного рабочего дня и тут же опубликован. С нашей стороны никаких дополнительных просьб не потребовалось вовсе. Таким образом, отзывы о работе цензоров App Store у нас исключительно положительные.

Что касается продвижения, то для начала мы выбрали три канала:

  • наш собственный сайт
  • отечественные Apple-порталы
  • зарубежные сайты

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

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

Несколько сайтов нас совершенно удивили: имея посещаемость ниже нашей, они заламывали ценник свыше 6000 руб. за обзор. При этом практически никто не может хоть как-то обосновать такие цены. Некоторые сайты принципиально отказывались принимать подготовленный нами уникальный текст обзора на 4000-5000 знаков со всеми необходимыми картинками и обзорами, отвечая: «Нет, мы лучше сами напишем». В итоге писался не обзор, а пресс-релиз с одной картинкой и двумя абзацами.

Что касается зарубежных сайтов, то никаких иллюзий в их отношении мы не питали. Зная, какой поток предложений об обзорах и однообразных пресс-релизов приходит на русскоязычные сайты Apple-тематики, нам нетрудно представить, с чем приходится справляться редакциям зарубежных сайтов. Тем не менее, к нашем удивлению, обзор Sports Counter согласились подготовить несколько англоязычных порталов, причём совершенно бесплатно. Разумеется, после публикаций этих обзоров график числа скачиваний в iTunes Connect взмывал ввысь.

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

Модель продаж

Изначально Sports Counter был платным приложением – мы поэкспериментировали с ценниками от 99 центов до $2,99. Сказать, что от повышения цены количество скачиваний сильно падало, мы не можем. Но и сказать, что от снижения цены оно заметно росло – тоже :)

Летом мы решили сделать Sports Counter freemium-приложением, внедрив in-app purchase – не столько в целях маркетинга, сколько для проверки того, как работает механизм оформления покупок внутри приложений. Правда, пришлось основательно подумать и поспорить о том, что именно оставить в бесплатной версии.

В итоге мы решили поступить следующим образом: скачав Sports Counter, пользователь может одновременно создать одну серию в любом виде спорта, а в ней – до трёх матчей. К примеру, можно создать футбольный матч, удалить его, вместо него создать серию для тенниса, удалить её, затем посмотреть, как реализован учёт счёта в бильярде и т.п.

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

Полная версия без каких-либо ограничений приобретается за $1,99 (66 рублей) прямо из приложения.

Игольчатая форма графика скачиваний демонстрирует эффект от продвижения на зарубежных порталах в течение лета и осени:

График продаж Sports Counter

Что касается заработка – если бы мы делали Sports Counter ради денег, то непременно бы огорчились. Три сотни баксов – прямо скажем, сумма незначительная. Правда, на продвижение мы потратили вдвое меньше :) Но повторимся, цели у нас были несколько иными: попробовать различные способы продвижения, модели ценообразования и получить опыт, который мы учтём в наших будущих проектах. Эти задачи можно считать достигнутыми.

Что потом?

В планах на ближайшие апдейты – во-первых, дополнительные функции, которые мы изначально решили отложить на потом:

  • встроенные таймеры, позволяющие вести учёт времени в спортивных играх;
  • режим табло, в котором интерфейс приложения максимально упрощается, а на экране крупно отображается текущий счёт игры

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

В заключение остаётся опубликовать лишь ссылку на Sports Counter в App Store: