Авторизация
Забыли пароль?
Сброс пароля
Вернуться к авторизации
RUWARD AWARD #1

Мобильное приложение для видеознакомств и прямых эфиров Dater

Разработка мобильных приложений Кейс года

1. Вводная задача от заказчика, проблематика, цели

Знакомства вслепую по видеосвязи, из которых можно сделать крутой стрим и онлайн-вечеринку — с такой идеей пришел в CleverPumpkin новый заказчик. У компании DATER собственная философия и десятки амбассадоров еще до релиза приложения, и за счет этого они ворвались в 2023 год с крутейшим приложением для стримов, видеовстреч и вечеринок в прямом эфире. А мы им в этом помогаем.

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

Ребята развивают свой проект очень открыто. На корпоративном портале подробно описываются успехи и неудачи, развитие проекта, принципы работы, объясняется выбранный стиль, философия продукта, в открытый доступ выкладываются внутренние демо-встречи.

Изначально Dater собирался сделать ставку на веб, но отказался от него в пользу нативного приложения еще до начала сотрудничества с CleverPumpkin. За мобильными приложениями будущее — нам ли это не знать?

Заказчик пришел с макетами и техзаданием на разработку приложения в iOS, а техзадание на Android мы готовили сами. На базе уже отработанной веб-версии заказчик понимал, какой базовый функционал хочет, и с нашей стороны потребовались минимальные исследования. Аналитику, планирование и карту экранов предоставлял заказчик, наша команда консультировала по их реализации, дизайн также на стороне заказчика, а мы проводили дизайн-ревью макетов.

Сейчас приложение загружено в сторы в тестовом варианте с функциональностью MVP. Первый релиз в App Store не прошел: команда AppReview потребовала внести доработки в логику соединения собеседников. За две недели мы внедрили новые фичи по требованиям стора в iOS и в Android и отправили сборку на повторное ревью. Спустя несколько реджектов общими усилиями двух команд ревью успешно пройдено, и первые версии опубликованы в Google Play и App Store. Финальная версия должна стать единственной в своем роде программой, у которой очень мало конкурентов. Команда DATER’a подчеркивает, что это не чат-рулетка — важна философия проекта, где пользователям помогут преодолеть стеснительность, где не будет эротического контента, но будет взаимоуважение, интересные собеседники, свободный диалог и т.д.

Корпоративный портал Dater

2. Описание реализации кейса и творческого пути по поиску оптимального решения

Каждая новая версия — это новые задачи, некоторые из которых возникают уже в процессе реализации приложения. Например, стало ясно, что платформа для видеозвонков, планируемая к внедрению изначально, не отвечала необходимым требованиям к функциональности, поэтому было принято решение о реализации по протоколу SRT (об этом позже).

Также в процессе работы было решено сделать приложение приватным, с доступом только по кодам-инвайтам. От регистрации по номеру телефона отказались в пользу электронной почты.

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

Используемое ПО

CleverPumpkin в этом проекте работает с Firebase, это система базовой аналитики, распространения сборок и сбора крешей. Но Dater использует эту платформу гораздо шире — во многом архитектура построена на Firebase firestore Database — классической базе данных с таблицами, документами и данными.

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

Еще из интересных решений, применяемых на проекте — заказчик использует систему от Amazon, отслеживающую порно-контент. Система умеет его определять, но не банит автоматически, а отправляет данные на ручную модерацию.

Интеграция протокола SRT

В приложении по желанию заказчика стали использовать протокол передачи видео SRT. Рассматривались варианты использования более распространенного протокола RTMP, но он имеет закрытый исходный код и определенные ограничения. Еще изучали возможности протокола VOX Implant, но и от него отказались: он не поддерживает Estimate, видеозвонки возможны были бы только для двоих и т.д. Такая ограниченная функциональность абсолютно не вписывалась в концепцию дальнейшего развития приложения.

Протокол SRT относительно молодой — 2013 года рождения — и довольно сырой. Он потребовал достаточно большого ресерча и внесения доработок с нашей стороны в доступные решения и библиотеки. Проводились эксперименты с разными sdk и их настройками, пока в итоге не был найден оптимальный баланс по скорости и стабильности работы, качеству звука/видео и иным моментам.

В частности, начинали с нового видеоформата H265 (HEVC) — фишки протокола SRT: с большой степенью сжатия, с меньшим количеством затрат трафика, меньшей потерей пакетов. Это в идеале.

Однако фактически же выяснилось, что на больших расстояниях пакеты теряются чаще, а из-за степени сжатия потеря пакетов более критична, чем в формате H264. Кроме того, есть проблемы с декодированием. В итоге мы потестили HEVC — идея клевая, но не подходит — и перешли на формат H264.

3. Результаты сотрудничества

На март 2023-го продукт версии 0.8.0 представляет собой приложение для коротких видеовстреч. Встроены фильтры, которые определяют, с кем соединять пользователя, есть возможность настройки черного списка, жалоб модераторам, автоматическая проверка на запрещенный контент.

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

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

4. Заключение

Мы с теплотой вспоминаем начало нашего сотрудничества с сервисом. Перед стартом проекта ребята приехали к нам в Петербург, чтобы встретиться вживую с нашим CEO Денисом и PMO Ладой. После прогулки по офису и совместного ужина вопрос о сотрудничестве был решен.

"Это был сразу культурный мэтч, сошлись не только умом, но и сердцем." — сказал CEO Dater Олег Недеров.

Это сложная и интересная работа, результатом которой стало надежное, яркое и удобное приложение. Спасибо ребятам из Dater, что подарили нам возможность работать над его созданием!

Ruward использует технологию "cookie" – сохранение на компьютере пользователя небольших текстовых файлов. Также мы используем на сайте сервис Яндекс.Метрика. Эта информация не позволит идентифицировать вас, однако может помочь нам улучшить работу нашего сайта. Если вы не согласны, чтобы мы использовали данные технологии, вы должны соответствующим образом установить настройки вашего браузера или не использовать наш сайт.

Согласен