Интересные статьи об Apple, приложениях для iPhone и iPad, iTunes

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

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

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

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

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

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

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

img

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

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

Оттого-то и грустно было читать весь этот негатив про Олимпийские игры, которые люди писали из бессознательной ненависти ко всему «государственному». Я могу честно сказать, что из тех, с кем мне приходилось работать, таких ответственных и по-настоящему «горящих» работой людей я не видел ещё никогда. Именно поэтому всё получилось. Сайт был доступен 100% времени, приложения получали отличные оценки.

Ближе к делу

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

Гид

img

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

Результаты

img


Собственно основное приложение для зрителей по всему миру с расписанием соревнований, результатами в режиме реального времени, информацией по спортсменам и медалям. Доступно только в режиме соединения с интернетом, так как информация обновляется каждые 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

img




Google Play

img




Windows Phone Store

img
img

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

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

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

Результаты

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

img

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

img

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

img

Все данные о расписании, странах, спортсменах, результатах, медалях берутся из официального источника — 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 экрана смартфонный экран. Тут надо сказать большое спасибо дизайнерам и разработчикам, что всё это осилили.

img

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

img

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

img

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

img

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

В групповых видах спорта (хоккей и кёрлинг) также добавлялись турнирные таблицы, которые требовали своей логики при получении или не получении определенных сообщений.

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

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

img

Пуши

Сообщения тоже были реализованы гораздо более интересно, чем в Лондоне.

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

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

Ну и конечно под конец Олимпийских Игр получать пуш-сообщения о спортсменах сборной России было особенно приятно.

img

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

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

Вот примерно так выглядел «просмотр матча»

img

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

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

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

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

Приложение получило высокие оценки, все олимпийские игры держалось на первых местах в сторах и на каждую платформу было скачано более 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.

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

Это было трудно, но очень круто. Оставайтесь с нами.

720196008