Исходная задача
Необходимо было разработать приложение, которое бы легко и непринужденно подталкивало пользователя к целевому действию — шарингу в соцсетях. Вот сценарий, по которому юзер приходил к целевому шагу:
Танцевальный флешмоб как часть рекламной кампании Oriflame стартовал 17 июня. По замыслу организаторов, участники флешмоба к тому моменту уже скачали приложение, станцевали на камеру и рассказали об этом в соцсетях. Поэтому о переносе релиза не могло быть и речи.
Процесс разработки
C iOS-приложением мы управились за 3 месяца, включая доработки от клиента. Все прошло гладко, но было 2 момента, достойных упоминания.
Воспроизведение видео
Из-за бага в библиотеке звук на записи обгонял картинку. За 7 часов мы исправили ошибку и написали свою функцию наложения изображений. Постоянно появляющиеся на видео артефакты ничуть не облегчали задачу. Хорошо, что мы предвидели это и решили писать нативный код. Разработка и правка багов заняла бы гораздо больше времени, если бы мы пошли по пути кросс-платформенной разработки.
Библиотека для обработки изображения
Для обработки видео требовалась подходящая библиотека и GPUImage стала нашим спасением. Написанная под iOS, она не потребовала доработок. Единственное, что расстроило — нехватка документации. Но мы были готовы к такому повороту, ведь это распространенная проблема среди самописных фреймворков.
С Android-приложением было больше трэша, угара и прочего веселья. Но это нас закалило и теперь нам все нипочем. Опыт коллег из iOS-отдела помог и мы справились быстрее — за два месяца.
Вот ключевые моменты в разработке, о которых мы не можем (и не хотим) молчать.
GPUImage
Библиотека работала только для iOS и пришлось дописывать шлюз для портирования на Android. Пришлось изрядно повозиться, но все закончилось успешной сдачей проекта.
Аппаратное ускорение
Чтобы накладывать изображения кумиров на пользовательские видеозаписи, мы написали хромакей-фильтр. Оказалось, что обработка видеослоев съедает всю производительность. Чтобы оптимизировать процесс, мы использовали аппаратное ускорение.
Результаты сотрудничества
Приложение выглядит и ощущается простым и понятным. Чтобы этого добиться, мы провели 5 бессонных ночей в офисе и обзавелись 37 (мы считали!) седыми волосами на голове. Вот какие технологии скрываются “под капотом”:
Почему мы гордимся проектом?
Заказчик рассчитывал на 2000-3000 загрузок к моменту запуска флешмоба, а получилось 5000 только с Google Play. Android и iOS версии вместе скачали 19967 раз. Показатели по охвату аудитории в социальных сетях тоже радуют: 5000 публикаций, 300000 просмотров у трех самых популярных постов в инстаграме. Средний балл в Google Play — 4,6.
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.