Pull to refresh

Мобильные приложения «Сочи 2014»: как показать мегабайты результатов пользователям

Website development *Development of mobile applications *
Вот и отгремели «Жаркие.Зимние.Твои» Олимпийские игры. Не смотря на весь скепсис, переживания и недоверие, игры, без сомнения, прошли хорошо. Как один из участников этого проекта, отвечающий в составе интернет-команды за официальные мобильные приложения, хотел бы поделиться с интернет-сообществом некоторыми подробностями, как это всё вообще стало возможным и как было реализовано.

Немного про трудоустройство


Сам я присоединился к проекту 1,5 года назад. Вакансию скинул знакомый. Помню как пришёл домой и сказал жене срочно пойти погулять с ребёнком, так как через полчаса собеседование по Skype с кадровой службой Оргкомитета Сочи-2014 и нужно чтобы никто не отвлекал :). В итоге пройдя череду собеседований по Skype, тестов английского и логики, тестовых заданий, собеседования в Москве (сам я из Краснодара), долгих споров и размышлений на семейных советах, просмотра отзывов о работодателе решили-таки ехать в Москву-Сочи, так как такой проект выпадает точно раз в жизни. К тому же в тот момент как раз вышло приложение Лондона-2012 к Играм и оно так меня зацепило, что готов был всё бросить, лишь бы у нас приложение было гораздо лучше. Даже где-то лежит «эссе» на эту тему, которое при поступлении на работу писал.

И про работу в проекте


За разработку мобильных приложений отвечает наш партнёр – Мегафон и его подрядчики. Могу назвать только одного – Microsoft, который делал для нас приложения для Windows Phone и API для всех мобильных приложений. Я же отвечал за техническую часть проекта, взаимодействие с менеджером проекта со стороны партнёра, разработчиками, управление сроками и рисками, подготовку документов.
Так как проект действительно огромный и имеет большое число заинтересованных сторон, скажу честно, работать было нелегко. Требования к мобильным приложениям уточнялись практически до самого конца олимпийских игр. Плюс приходилось оперативно решать проблемы с контентом, социальными сетями, системами сбора статистики, лимиты которых мы благополучно превышали, магазинами приложений, рекламными сетями внутри приложений, МОК, МПК, спортивными федерациями («нужно нарисовать на сайте не точечку рядом с меткой LSFE в кёрлинге, а молоточек, это критически важно»). Постоянно вспоминалась эта картинка:


На самом горячем этапе проекта, перед Играми, когда каждый день по количеству задач в единицу времени ускорялся на 50% по сравнению с предыдущим, и семья меня практически не видела, уже приходилось выступать и в роли дизайнера, и в роли технического писателя, и в роли тестировщика (о, это особенно часто), спорт-менеджера, переводчика, маркетолога, переговорщика, тим лида, разработчика.
Очень повезло, что подрядчики и коллеги этот темп выдерживали и можно было запросто позвонить в час ночи и попросить дописать в API выдачу какого-нибудь важного параметра и спустя полчаса на TEST уже будет выложена свежая версия, чтобы разработчики взяли в работу. Знаю, что подрядчики по «Результатам» работали даже в 2 смены – дневные и ночные, чтобы успеть реализовать все спортивные экраны в срок. Да, работа сверхурочно – это не то, чем следовало бы гордиться, но в условиях зависимостей от десятков различных поставщиков данных, которые мы просто не можем контролировать, – это необходимость. И можно было идти домой и ставить вместо нереализованной функции «веб-заглушку», а можно было сидеть и делать до победного. И если кто-то что-то не предоставил, забыл, не сделал, сделал не так, можно, конечно, было махнуть рукой и спокойно идти спать. Я так не мог.
Оттого-то и грустно было читать весь этот негатив про Олимпийские игры, которые люди писали из бессознательной ненависти ко всему «государственному». Я могу честно сказать, что из тех, с кем мне приходилось работать, таких ответственных и по-настоящему «горящих» работой людей я не видел ещё никогда. Именно поэтому всё получилось. Сайт был доступен 100% времени, приложения получали отличные оценки.

Ближе к делу


Итак, к Олимпийским Играм было сделано 2 мобильных приложения: «Гид» и «Результаты» на трех основных платформах – iOS (смартфоны и планшеты), Android (смартфоны и планшеты) и Windows Phone. Немного отдельно развивалась версия для Blackberry 10. Задачей стояла поддержка всех основных версий ОС, так что на iOS приложение шло начиная с iOS 5 (это было тяжело), Android поддерживался начиная с 2.3, Windows Phone – 7.1. За это не раз говорили спасибо. К Паралимпийским играм все приложения будут обновлены (это уже происходит).

Гид


Это руководство для посетителей игр в Сочи с полным расписанием событий, в том числе культурных, расположением спортивных объектов, транспортной системой, а также разделом про прохождение эстафеты олимпийского\паралимпийского огня. Приложение специально оптимизировались для посетителей в роуминге, поэтому первоначальное обновление данных, которое можно скачать в гостинице по wi-fi содержало весь пакет информации, доступной офлайн: от расписания и описания объектов до расписания транспорта. Так как соревнования иногда переносились, приложение каждый час запрашивало «дельту» обновлений и при возможности его получения (интернет есть) проводило коррекцию.

Результаты


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

Оба приложения скачало под все платформы более 6 миллионов человек. Количество запусков приложений превысило 130 млн.
Официальной подробной информации по платформам пока не было, поэтому, к сожалению, точные цифры я вам сказать не могу, но в целом «Результаты» были раза в 3 популярнее «Гида», на iOS приложения скачали почти в 2 раза больше, чем на Android или WP.
Самыми популярными устройствами на соответствующих платформах (Android, iOS, WP соответственно) были:
1. Samsung Galaxy S3 (9%)
2. Samsung Galaxy S4 (6.5%)
3. Samsung Galaxy S4 Mini (3.4%)

1. iPhone 5 (23%)
2. iPhone 4S (19%)
3. iPhone 5S (12%)

1. Nokia Lumia 920 (17.5%)
2. Nokia Lumia 520 (14.5%)
3. Nokia Lumia 820 (9%)

Приложения были гораздо более популярными в России, чем в других странах. И мы уверенно держались на первых позициях в сторах начиная с 8 февраля.

Продвижение приложений


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

iTunes


Google Play


Windows Phone Store



Также были баннеры на официальном сайте и его подразделах, в том числе билетном сайте, плакаты на местах в Сочи и Адлере. Кроме того приложения рекламировали друг друга во встроенной рекламной системе.
Компания Microsoft, партнёр Игр, обеспечила не только разработку всего бэкенда официального сайта, но и разработала API для обоих мобильных приложений с учётом их разной логики получения обновлений и работы. Каждое обновление сначала тестировалось на TEST-среде, потом переходило на STAGING и уже после окончательной проверки мобильных разработчиков деплоилось на PROD. Это позволило бесшовно обеспечивать совместную работу и минимизировать количество конфликтов.

Наиболее интересно, конечно, проходила работа над приложением

«Результаты»


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


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


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


Все данные о расписании, странах, спортсменах, результатах, медалях берутся из официального источника – Olympic Data Feed, получить доступ к которому за определенную плату в принципе может любая компания. По этому адресу — odf.olympictech.org можно увидеть спецификации CommonCodes (общих справочников) и детализированные спецификации для каждой спортивной дисциплины. Спецификации по спорту занимают примерно 100-150 страниц и содержат всю основную информацию по всем типа сообщений, которые поступают из системы. Вот например для хоккея — odf.olympictech.org/2014-Sochi/OG/PDF/ODF%20IH%20Data%20Dictionary.pdf
Сообщения поступают в формате XML и работать с ними напрямую, учитывая их «транзакционность» (то есть сводная информация поступает только раз в 5-10 минут, в основном приходят изменения) в мобильных приложениях не очень удобно. Microsoft, совместно со своим подрядчиком, сделал для нас собственное API на основе этих спецификаций, которое позволяет в любой момент получить сразу всю необходимую для конкретного экрана приложения информацию. Формат тоже «более приятный» — JSON. Конечно, все запросы с сервером шли только через GZIP.

Вагон и маленькая тележка экранов результатов


Теперь подробнее про экраны. Чтобы понять масштаб дизайна, разработки и тестирования, представьте, что всего было разыграно 98 медалей, за время игр прошло 381 соревнование, при этом в мобильных приложениях необходимо было реализовать 180 (сто восемьдесят!) различных экранов текущих результатов. Полная «простыня» дизайн-макетов для приложений, которые для мобильных приложений делал тот же подрядчик, что и для официального сайта, заняла 57 страниц, по 4 экрана на страницу. Также, в отличие от Лондона, для планшета делался отдельный макет, а не открывающийся справа на 1\3 экрана смартфонный экран. Тут надо сказать большое спасибо дизайнерам и разработчикам, что всё это осилили.


В каждом виде спорта существовала «основная» и «подробная» информация. Основная состояла из списков спортсменов с bib (номером), страной и ключевым результатом: временем и разницей, например, или количестве очков. Детальная же информация включала в себя практически всё, что мог выдавать нам ODF. Например, это типы запланированных и выполненных элементов в фигурном катании или хронология событий в хоккее. Каждый экран существовал в 3 локализациях: русский, английский и французский.


А теперь открываем дополнительную информацию


Что именно выводить и в каком порядке — чётко регламентировано другим документом – ORIS (Olympic Results & Information Services). На его основе рисовали дизайн экранов результатов и инфографики для сайта и разрабатывали дизайн-макеты экранов мобильных приложений. Чтобы представляли себе это документ в 400-500 страниц, описывающий все типы ситуаций всех фаз соревнований, а таких несколько: до получения старт-листов, после, после старта первого участника, в режиме текущего соревнования, после финиша первого участника, после финиша всех, после получения медалей + необходимые сортировки + все типы поведения при дисквалификациях, DNS, DNF (то есть когда спортсмен не стартовал\не финишировал). Всё это необходимо было соблюдать. К примеру, спецификация ORIS для фристайла занимает 584 страницы.


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

Тестирование


Соответственно на тестировании сайта и приложений были задействованы как Venue Results Managers, которые собственно и отвечают за генерацию сообщений для ODF, так и спорт-менеджеры, переводчики, коммуникации, маркетинг, разработчики и менеджеры проектов. Системы тестировались как во время тестовых реальных соревнований, так и с помощью координированных и End-2-End-тестов, когда данные генерировались непосредственно системами на объекте и проходили через все системы вплоть до вывода на сайт и в приложение, а также в режиме эмуляций. Соответственно на всех платформах тестировался каждый этап прохождения соревнований, делался скриншот и фиксировалось замечание или успешное прохождение теста по ПМИ. Надо сказать, что ПМИ занимало от 50 до 100 страниц в зависимости от спортивной дисциплины.


Пуши


Сообщения тоже были реализованы гораздо более интересно, чем в Лондоне.
При получении сообщения о медалях (мы сообщали только официальную информацию, то есть после полного завершения соревнования и старта цветочной церемонии) генерировался пуш на все платформы на 3 языках и в зависимости от настроек пользователя рассылался на устройства.
Опять же нативность результатов позволила реализовать не только медальные пуш-сообщения (как было в Лондоне), но и пуши с текущими результатами избранных спортивных дисциплин и спортсменов. То есть в хоккее приходил счет матчей, а для избранного спортсмена – его результат в завершившемся соревновании. Особенно было приятно видеть, что пуш даже с учётом немаленькой нагрузки приходил на 2-3 минуты раньше других медальных приложений.
Ну и конечно под конец Олимпийских Игр получать пуш-сообщения о спортсменах сборной России было особенно приятно.


Техническая поддержка


Техническая поддержка во время Игр обеспечивалась в режиме 24х7 37 специалистами в нескольких ролях, отвечающих за свой участок: от обработки ODF до клиентской части приложений.
Вот примерно так выглядел «просмотр матча»

В целом же за время Олимпийских игр количество инцидентов (в том числе запросов на изменение) было как минимум в 3 раза меньше, чем в Лондоне.
Специалисты партнёра Игр компании Мегафон, которые собственно отвечали за разработку клиентской части мобильного приложения ежечасно проверяли работоспособность основных разделов приложения, а также мониторили отзывы о приложении в сторах, краши, отосланные в аналитическую систему и сторы и присланные на e-mail техподдержки сообщения и формировали соответствующие задачи разработчикам.

Результаты результатов


Итогом, на мой взгляд, можно и нужно гордиться. Результаты в мобильных приложениях и на сайте зачастую появлялись раньше, чем на табло стадиона, не говоря о ТВ-трансляциях. Вот здесь результаты обновились у нас на 5-й секунде, а на scoreboard — на 15-й:

Приложение получило высокие оценки, все олимпийские игры держалось на первых местах в сторах и на каждую платформу было скачано более 1 миллиона раз. Во всех аппсторах средний рейтинг держался выше 4,5, что учитывая огромную аудиторию и не смотря на традиционные «не буду смотреть вашу олимпиаду, вот вам единица», — отличный результат.
Самым популярным разделом перестал быть раздел «медали» (как было в Лондоне, люди просто заходили посмотреть на медальный зачет), а стал «Расписание и результаты», в котором пользователи следили за событиями онлайн. Самыми популярными, конечно, были фигурное катание и биатлон (а ведь мог быть и хоккей…). Оценки и отзывы людей в сторах и на e-mail техподдержки часто очень ободряли, даже когда было очень трудно:

  • Приложение на твердую 5. Все понятно, быстро и коротко. Если надо, можно и не коротко, в деталях. Спортсмен только выигрывает медаль и через секунд 5-10 приходит уже уведомление. Спасибо создателям и обслуживающим приложения:)
  • Незаменимо для болельщика, находящегося в гуще событий! Помогает и на Ласточку не опоздать и результаты соревнований не упустить)
  • Самая лучшая аппликация на данной платформе, дизайн и юзабилити продуман от и до. С ней ощущаю, что Олимпийские игры рядом, хоть я и за много тысяч км. Могу отслеживать спортсменов, состязания по конкретным видам спорта. Сложно что-то пропустить. Надеюсь, что будет такая же программа на каждые игры! Ура создателям!
  • To coin the Sochi phrase would be true. Easy to set up, easy to use, no crashes or bugs. Just wonderful. I'm using the app constantly to find out what events are on as the UK TV books are rubbish. Definitely recommend this app!
  • A must have app if your in Sochi or at home. Smooth, real time results (sometimes faster then television e.g. figure skating marks before seen on TV.), doesn't crash. Anyone that gives this a poor rating either needs a new phone or is technologically illiterate.

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


Впереди ещё много работы, в том числе обновление приложений «Гид» и «Результаты» для Паралимпийских Игр.
Это было трудно, но очень круто. Оставайтесь с нами.
Tags: сочи 2014sochi 2014мобильные приложенияспортолимпиадазимние игрырезультатыгидORISODFAndroidWindows PhoneiOSBlackberry
Hubs: Website development Development of mobile applications
Total votes 120: ↑103 and ↓17 +86
Comments 85
Comments Comments 85

Popular right now