Dev Story TripQuest. История о путешествия и квестах

ТЕКСТ: Евгения Баркова Поздним вечером 5 июня 2013 года на почту приземлилось уведомление о публикации в App Store моего дебютного приложения TripQuest и его бесплатной версии – TripQuest_free. Будучи типичной девушкой 22 лет от роду, я заулюлюкала 🙂 Лаконичная строчка во “входящих” незатейливо, но безапелляционно известила о том, что первый период бурного создания i-чего-либо из абсолютного ничего благополучно завершен. За плечами маячили 8 месяцев боевого опыта в обнимку с лучшими друзьями Авось и Оченьннада. Ответ на вопрос о том, как меня так угораздило, и что делать, если очень хочется, а опыта – ноль, я постараюсь изложить сегодня в своей многословной, эмоциональной и, честно признаюсь, блондинистой dev story.

Для начала развеем пару мифов. Говорят, успешному разработчику нужны соответствующие…

Бэкграунд. Было бы неплохо, но увы. Бакалавра получила в Высшей Школе Бизнеса МГУ (в дипломе значится “Менеджмент”), магистра осваиваю по программе Management Information Systems, но профильных курсов в первом семестре так и не случилось. С 15-ти лет кем только не работала, с 2008 (опять же, при отсутствии лингвистического и педагогического образования) успешно преподаю английский язык. Я не умею переустанавливать Windows и не знаю, чем Objective C отличается от C++. Фраза “Ковчег был построен любителем, Титаник – профессионалом” как-то случайно стала девизом моей трудовой деятельности.

Бюджет. Цена и ценность – понятия слишком вариативные, чтобы безвкусно выкладывать огромную сумму за проект. Мои денежные затраты на данный момент не перешагнули отметки “2000 евро”, чего не скажешь о личных человекочасах.

Время. Учеба, работа, организация свадьбы, путешествия, хобби и жизнь на две страны. В идеальном мире можно было бы поставить все остальные дела на паузу и всецело отдаться созданию приложения, но мы живем на Земле. Perfect time to start не существует. Учитесь совмещать.

Команда. “Ты да я да мы с тобой,” – сказала я своему ноутбуку в августе 2012. О том, как впоследствии нашла 100% своих людей, ниже.

Необходимые качества. Железная логика, твердая рука, акулий зуб на конкурентов… За неимением вышеперечисленного полагаемся на: усидчивость, организованность, здравый пофигизм и, кхм, метровое шило. Особенно шило. Так что если вдруг не получается… точите 🙂

С чего всё началось?

В вышеупомянутом августе 2012 мы с молодым человеком и нашим другом Евгением Пузановым (автор приложения айКоса-Коса, чью dev story очень тепло восприняли читатели iphones.ru) бродили по Брюсселю в поисках подружки ссущего пацана Писающего Мальчика. О том, что в Музее изящных искусств стынут Брейгель и Мемлинг, ребята слышать не хотели, и вот, вооружившись google maps и одним зонтиком на троих, мы дошли до неприметной ниши в тупике одного из центральных переулков. “Писающая девочка – Check!” – бросил кто-то невзначай. А что если… приложение, которое… туристические квесты..?

Первый плюс любого проекта – под него можно купить красивый блокнот 🙂 Вернувшись из отпуска домой, я сразу взялась за дело и написала навигацию (структуру приложения) и если не бизнес-план, то некую концепцию, куда вошли пункты, подсмотренные в этой статье.

Несмотря на уклон в Microsoft, автор делится очень разумными советами в пяти частях. Учитывая тот факт, что образ приложения поначалу являлся весьма туманным, особенно полезным мне показалось выявление “ключевых персонажей”: берешь трех отдельно взятых из целевой аудитории людей, описываешь их вкусы, стиль жизни; причины, по которым твое приложение их может потенциально заинтересовать. Где бывают мои ключевые персонажи? С кем они путешествуют? Как планируют путешествие? Как используют в поездках смартфоны? Подключают ли роуминг? Насколько активными пользователями соц сетей они являются? Всё это помогало выявить основные “фичи” приложения TripQuest, частично пересекающиеся с конкурентными преимуществами:

1) уникальный контент, представленный в игровой форме;
2) максимальное покрытие городов;
3) работа оффлайн;
4) возможность социализации – рейтинг, профили, лента друзей, шэринг через соц сети;
5) международный характер аудитории;
6) баллы как внутренняя валюта: они даются за прохождение квестов и могут быть потрачены на подсказки, квестовые цепочки и тд.

Best At Statement был сформулирован следующим образом: “Приложение TripQuest – лучшее в категории Travel, тк способно вдохнуть жизнь в любую поездку, сделать ее увлекательной и запоминающейся. Это приложение должно помочь внести элемент игры в путешествие, поставив перед пользователем ряд маршрутов и задач, которые могут быть реализованы для изучения образа жизни, культуры и истории определенного города”. Чтобы элемент игры, проверки результатов и составления рейтинга состоялся, сразу было решено привязать прохождение квестов к геолокации.

Монетизация…

…очень долго оставалась под вопросом. Изначально хотелось выставить пятибаксовый ценник и агитировать пользователей “скачать туристическую реалити игру с квестами по всему миру по цене одного путеводителя”. Затем, побродив по AppStore и начитавшись отзывов о том, каких сокровищ инков среднестатистический пользователь ожидает от любого приложения за 33 рубля и как неохотно он с ними расстается, думала сделать приложение бесплатным вовсе – развивать, пиарить по-партизански, вкладываться пару лет и получить сестричку Инстаграма и Фейсбука 🙂 Конечно, это было бы глупо, тк наша целевая аудитория малочисленнее. Вариант с внутренними покупками на самом начальном этапе тоже отпал. В итоге пошла по пути наименьшего сопротивления: 33 рубля/99 центов за платную версию с тысячей квестов и бесплатная пробная версия с сотней рандомных квестов – на пробу.

Читайте также  iTunes Store Что посмотреть на выходных #35

Конкуренция

В двух словах: ее не было, по крайней мере прямой. Да, существует огромное количество травелогов и путеводителей, TripAdvisor, Wikitravel, Tourister, тысячи сайтов о туризме в целом и самостоятельных путешествиях в частности, но приложения в смартфоне, которое говорило бы: вот квест, тебе понравится, иди и сделай – не было.

Честно сказать, при первичном исследовании рынка мобильных приложений меня это очень удивило. Учитывая, что какому-нибудь гиганту вроде TimeOut или TripAdvisor достаточно было просто выделить десяток человек из штата, средний по корпоративным меркам бюджет и подождать пару месяцев до выпуска подобного приложения и достижения шикарного wow-эффекта, задействуя уже имеющиеся мощности, я откровенно опасалась возникновения нежданных коллег по цеху. Однажды, уже спустя несколько месяцев работы, когда дизайнер, разработчик и я в шесть рук по полной занимались созданием TripQuest, мне приснился сон о том, что меня опередили. Вскочила в 5 утра и села писать квесты 🙂 Кстати, о них…

Написание квестов

Контент – главный продукт TripQuest, и качеством я поступиться не могла. Именно поэтому вариант с огромным краудсорсинговым потенциалом мирового сообщества путешественников был отложен на будущее. Получая бакалавра, я защитила отличный диплом об особенностях развития краудсорсинга в России и прекрасно понимала, что наш рынок к такой задаче пока не готов. Идея о мировом рынке исполнителей также меня не устроила ввиду нежелания афишировать появление проекта заранее и самостоятельно модерировать огромное количество мусора.

А он бы был. Даже пытаясь привлечь фрилансеров для ускорения процесса, я успела осознать, насколько сложно добиться от людей качественного, неизбитого, художественно сформулированного контента. Разница между “загадать желание на разноцветной парковой скамье, чья идеальная форма – результат работы обнаженных строителей” и “сходить в парк Гуэля” (Барселона) не всем казалась очевидной. Было решено всё делать самой.

Алгоритм работы, которую я активно продолжаю, довольно прост. Берем список самых посещаемых городов 2011 года, добавляем в Excel. Выбираем город, читаем все мыслимые и немыслимые источники о его истории, культуре, достопримечательностях, off beat маршрутах, мероприятиях, достойных нетуристических местах. Особенно полезно изучение блогов – да, долго и кропотливо, но порой находишь такие интересности, что готов пешком идти в аэропорт. Обзорные площадки, трекинговые тропы, необычная архитектура, места съемок фильмов, излюбленные парки местных жителей, стрит арт, исторические достопримечательности – стараюсь охватить всё. Формулирую квест на английском языке, если необходимо – добавляю адрес или название организации для определения геолокации.

Далее происходит добавление квеста в админку.

В каждом городе от 10 до 40 квестов, на что уходит 3-20 часов работы. Разброс вполне оправдан, тк, к примеру, исследование Брюгге и Нью-Йорка несопоставимы. По Топ-10 городов мира квесты можно писать до посинения.
Самое веселье начинается, когда дело доходит до Азии с ее иероглифическим письмом. К примеру, вычитала на жж про “собачий ресторан” в Сеуле, единственный в своем роде. Начинаю искать адрес – глухо. Хештэги в инстаграм и твиттере приводят к двум разным адресам, Google Maps не знает ни один из них. На фото в ЖЖ-посте высматриваю вывески на домах по соседству с рестораном, пытаюсь найти через список организаций. В итоге верный адрес поджидает меня на сайте некого итальянского туристического агентства (повезло, что немного знаю язык).

Программирование

Будучи человеком ни разу не сведущим, сразу начала искать программиста по знакомым. Повесила объявление в блоге, на странице в контакте, и – о везение! – мне тут же ответил Сергей Югай. На фоне прочих писем и просмотренных мною профилей он выглядел ответственным, нешаблонным, неравнодушным, и главное, коммуникабельным. Фрилансер-ровесник со ставкой 500р/час. Идеальный для меня вариант.

Для dev story Сергей любезно предоставил детали технической реализации проекта. Цитирую 🙂

Сергей Югай: “TQ является клиент-серверной программой. В качестве сервера у нас выступает вполне стандартная связка PHP + MySQL – на сервере хранятся данные о странах, городах и квестах + настройки пользователей и данные о прохождениях квестов.

Администраторскую панель я сделал с помощью Google Maps API – по сути, все точки можно удобно и просто искать, используя адрес и передвигая флажок по карте. Данные отдаются в формате JSON.

Теперь о самом приложении-клиенте. Основные моменты, которые изначально нас волновали – это:
Обеспечение удобной работы с приложением для пользователей в режиме «оффлайн»
Защита от «читерства» (мы ведь хотим быть уверены, что наши пользователи честно проходят квесты)

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

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

Читайте также  Репортаж Как мы разыгрывали Apple Watch

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

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

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

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

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

Сроки

Прописав в сентябре ТЗ, мы условились, что программирование займет порядка шести недель. По объективным и не очень причинам срок сдачи превысил ожидания в 2-3 раза. Поскольку написание контента также требовало огромного количества моих рабочих часов, а на поиски нужного дизайнера ушло больше времени, чем на подготовку самого дизайна, такой срыв не стал критическим для моего проекта, но всё же не является нормой.

Поэтому на данный момент во избежание срыва сроков мы с разработчиком работаем на сдельной основе со следующим условием: завершение этапа за 2 и более суток раньше срока – плюс 10% от обговоренной стоимости этапа, завершение в срок – 0% к обговоренной стоимости этапа, завершение более чем через двое суток после срока – минус 20% к стоимости.

Дизайн

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

Варианты, которые мне предлагали:

Но всё самое лучшее снова случилось неожиданно. Мне посчастливилось случайно познакомиться с дизайнером Дарьей Федоткиной, которая до этого к вебу и тем более мобильным приложениям никакого отношения не имела: согласилась помочь просто любопытства ради.

Что у нас получилось, покажут скриншоты из AppStore:

Варианты иконок. Остановились на втором, тк в крохотном формате вся красота первой иконки едва различима.

Интересная история вышла с логотипом. Думая, какой символ выбрать, перебирала варианты с Лягушкой-путешественницей (нет адекватного англоязычного эквивалента), самолетом (заезженно), рюкзаком бэкпэкера (сужает целевую аудиторию).

Осенило снова неожиданно. Параллельно с разработкой приложения я вышивала крестиком картину с инстаграмки ниже, и все эти месяцы логотип был прямо под моим носом. Воздушные шары! Ну конечно! И по форме напоминают метку Google Maps 🙂

Перед запуском

В мае приложение было готово. На избавление от багов у нас ушли три длиннющие недели, до этого разработчик был в отпуске, еще до этого разбирались с дизайном, и в целом gantt chart проекта (если бы он был) не состоялся. Многие вещи, которые можно было реализовывать параллельно, либо не учитывались ввиду отсутствия опыта, либо откладывались по нашей собственной вине. Очевидных выводов сделаю несколько:

1. Несмотря на степень готовности контента, сразу же после проектирования навигации приступайте к дизайну. Пусть лучше готовый полежит, не запылится.
2. Обязательно тестируйте приложение на максимальном количестве девайсов, а не симуляторах. Делайте это сами: баги любят заказчиков.
3. Не пытайтесь сделать вид, что в сутках сорок часов и вы всё успеете за месяц, просто чтобы успокоить совесть. В начале проекта я обещала себе писать квесты минимум по одному городу в день и чуть с ума не сходила от вины перед внутренним перфекционистом, когда этого по объективным причинам не случалось. Ставьте реальные сроки, нервы дороже.

Версия 1.0…

…не была доведена до ума, даже аналитику не вшили. “Запущенное сегодня, плохо работающее приложение все равно лучше, чем никогда не запущенное идеальное,” – пишет автор еще одной полезной статьи, опубликованной недавно. Я с ним полностью солидарна.

Читайте также  Еврокомиссия недовольна бездействием Apple по отношению к встроенным покупкам

Именно поэтому, отправив на публикацию 1.0, мы тут же начали вдогонку клепать 1.1.

Продвижение 1.0

Приложение было опубликовано ровно за неделю до моей свадьбы, и это, честно скажу, стало настоящей проверкой на прочность. Хотелось бежать и покорять составленный заранее медиа план, но рук хватило только на то, чтобы разослать друзьям промо письмо, выложить запись в блог и новость на стенку в контакте. Тем не менее, даже этими усилиями за первые 15 часов приложение TripQuest вышло на 4 место в категории Travel, а еще через несколько дней было добавлено в New&Noteworthy, где бесплатная версия пребывает до сих пор на пятой позиции.

Из топ-100 категории приложение вылетело где-то через неделю, когда стих эффект от первого инфо повода, а другие ввиду занятости не появились. И это хорошо, тк отсутствие внимания позволило нам сфокусироваться на 1.1 и решить главную проблему: порядка 30% пользователей не понимали, как оно работает, что такое свитчер и почему квесты по Сингапуру нельзя разблокировать, сидя дома в Нижнем Новгороде. За отсутствием опыта, я не подозревала, насколько огромно количество пользователей, которые, не разобравшись интуитивно с принципом работы приложения, не захотят читать инструкцию в AppStore. Это стало ключевой ошибкой.

Очень порадовало, что большинство пользователей о приложении отзывались очень тепло и даже благодарили за “прочтение мыслей всех заядлых путешественников”. Один друг-москвич поделился опытом: “Живу через дорогу от ВВЦ, не был там лет двенадцать в полной уверенности, что кроме “совка” смотреть там нечего. Потом скачал твое приложение и начал проходить квесты, очень удивился. Столько интересного под боком!”

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

Также по фидбэку, собранному за первые несколько дней, лидировали следующие комментарии:
1. Необходимость встроенных подсказок – будут реализованы и доступны за баллы (или за деньги в виде in-app purchase).
2. Преобладание текстового формата – и я пока не придумала, как решить вопрос. В приложении есть чудесная карта с воздушными шариками-лого, которые появляются на месте пройденных квестов. Пользователи создают свою TripQuest Map и скоро смогут скачивать ее из приложения (пока вы копите шарики, мы кодим). Иллюстрировать квесты – не вариант, тк это чистой воды подсказка. Нужно встать с дивана и пройти квест, тогда картинки появятся перед глазами в реальной жизни 🙂

Друзья, если у Вас есть идеи по этому пункту, буду безумно рада рассмотреть.

Версия 1.1

Итак, инструкция теперь вшита на каждую страничку квестов.

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

На данный момент в системе чуть больше тысячи квестов c охватом сорока стран и введен краудсорсинговый элемент: набрав 250 баллов, пользователь становится Экспертом и получает возможность предлагать собственные квесты для других путешественников. Количество предложенных и одобренных квестов отражается в профиле и будет доступно другим пользователям.

Итого: пользователи проходят квесты (в том числе оффлайн), рассказывают об этом друзьям, набирают баллы, пополняют симпатичную TripQuest Map. На данный момент пишется версия 1.2, которая позволит скачивать карту TripQuest Map с пройденными квестами и несколько преобразит раздел “Профиль”; в версии 2.0 будет реализована возможность подписки на обновления друзей, а также рейтинг пользователей (общий и среди “друзей”). Через планируется выход сайта, на данный момент – одностраничной визитки с parallaх-элементом. Пишу сценарий – будет няшка:)

В целом, четко осознаю необходимость работы по четырем фронтам:
1) доведение до ума внутренней структуры приложения и реализация всех задуманных фич (включая опции с внутренними покупками);
2) написание квестов, подсказок и тематических квестовых цепочек по определенным городам;
3) активнейшее продвижение, маркетинг и пиар нам в помощь;
4) разработка версии для Android. Её очень ждут.

Закачки…

на данный момент не выглядят внушительно, но и промо деятельность по сути пока не началась. Бесплатная версия всё ещё в New&Noteworthy, зарегистрировавшихся пользователей на обе версии – более 500, закачек несколько больше. Доход не превысил сотни долларов.

Затраты

Регистрация домена + сервер – 50€
Программирование 1.0 – 1000€
Дизайн 1.0 – 200€
Регистрация профиля разработчика – 99$
Программирование 1.1 – 350€
Дизайн 1.1 и 1.2 – 160€

Итого: 1835€

Заключение

Дорогие читатели IPhones.ru! От лица всех участников команды TQ сердечно благодарю Вас за внимание. Если Вам тоже не сидится на месте, добро пожаловать в TripQuest. Если вдруг Вы хотите связаться со мной лично, это можно сделать вконтакте или по электронному адресу [email protected] Всегда рада Вашим отзывам, комментариям, пожеланиям и любой другой обратной связи.

Ярких путешествий и успешных проектов! А если окажетесь в Брюсселе, передайте от меня Писающей Девочке пламенный привет 🙂

iPhone: 33 руб. [Скачать из App Store]
Lite-версия: Free [Скачать из App Store]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
Источник: iphones.ru

RIOS