Не так давно студия Polygant, занимающаяся разработкой мобильных приложений, выпустила приложение для передачи Голос.Дети. Оно мгновенно стало популярным и уже установлено на более чем 1 млн устройств. По данным разработчиков, в пике им пользуются одновременно десятки тысяч человек.
Мы побеседовали со Станиславом Чернухиным, коммерческим директором компании, и расспросили его о сложностях, которые возникают при работе с высоконагруженными мобильными приложениями, и общении с Первым каналом.
Расскажите, пожалуйста, как начиналось приложение Голос.Дети?
Осенью 2015 года нам позвонили представители Первого канала и предложили встретиться. Тогда как раз всего пара месяцев прошла как мы запустили приложение СТС Второй.Экран – первый общеканальный второй экран, с синхронизацией по звуку.
Планировалось, что к новому сезону детского Голоса, то есть к середине февраля, приложение обязательно должно быть сторах. Пока согласовывали идею и механики приложения, уже за середину ноября перевалило. По факту приложение разработали за 3 месяца, работали по субботам, не останавливались в праздники: 3 января все уже были на связи.
Как оно разрабатывалось, какие проблемы возникли?
Основные сложности подобных проектов возникают, как правило, на этапе тестирования. То есть то, как ведет себя приложение на этапе функционального тестирования на отдельных устройствах, далеко не всегда совпадает с поведением под нагрузкой. Поэтому одной из самых интересных задач стало функциональное тестирование в условиях моделирования нагрузки, когда тысячи и тысячи виртуальных пользователей голосуют, добавляют в избранное, просматривают видео, а ты в это время тестишь. В целом, по QA прокачались здорово :).
Какие инструменты вы использовали? Какая серверная инфраструктура обслуживает Голос?
По правде сказать, приложений с такими пиковыми нагрузками в России можно пересчитать по пальцам одной руки. Вы только представьте нагрузки, которые возникают, когда сотни тысяч человек одновременно запускают приложение, начинают просматривать видео, голосовать за участников! Конечно, чтобы выдержать такие нагрузки разработчики бекенд и системные администраторы работали в тесной связке и научились понимать друг друга с полуслова.
В целом используется весьма хитрое решение, основанное на целой связке технологий Nginx, RabbitMQ, Lua, Perl, c балансировкой нагрузок на несколько ЦОД. Ну и, конечно, нативная клиентская разработка.
Какая команда работала над проектом? Кто и как управлял разработкой со стороны Первого канала?
Проект курирует Дирекция интернет-вещания Первого канала, всего около 10 человек задействовано в той или иной степени, примерно столько же с нашей стороны.
Признаюсь, без преувеличения, у Первого самая профессиональная команда, с которой мне удавалось работать над совместных проектах. Именно этот профессионализм позволил эффективно и быстро решать возникающие сложности и в итоге запустить проект в весьма сжатые сроки.
Продвигали ли вы приложение?
Помню, перед первым выпуском Голос.Дети о приложении рассказали в вечерних новостях Первого канала, испытал огромную гордость за всех кто участвовал в этом действительно сложном проекте. Плюс регулярные вставки от ведущего Дмитрия Нагиева, так что недостатка в пользователях, как можно догадаться, мы не наблюдаем :).
Добавляли ли вы функционал с новыми версиями? Как у вас идет общение с пользователями?
В основном коммуникация с пользователями идет при помощи изучения оценок и ревью в сторах, а также писем на суппортовый ящик. После каждого выпуска садимся за анализ отзывов и оценок, на основании этого формируем правки и расширения функционала и стараемся успеть сделать обновление до следующего выпуска, до которого остается меньше недели.
Какие приложения сейчас разрабатывает ваша студия? Какие проблемы в экономике приложений вы видите?
Наш конек — сложные приложения, с нагруженным бекендом и технологическими вызовами. На Российском рынке мобильной разработки сейчас все меньше подобных задач, поэтому мы сконцентрировали наши усилия на работу с западными заказчиками.
А еще около месяца назад запустили у себя Gamedev направление, на июньской конференции White Nights в Питере планируем показать всем нашу первую игру.
Спасибо, хороших вам приложений!