CleverPumpkin
DATER App: как мы создаем приложение для стримов видеовечеринок
CleverPumpkin
WDA
2023
#Приложение под ключ

DATER App: как мы создаем приложение для стримов видеовечеринок

3727 
CleverPumpkin
CleverPumpkin Россия, Санкт-Петербург
Поделиться:
DATER App: как мы создаем приложение для стримов видеовечеринок
Клиент

DATER

Сфера

Развлечения

Регион

Россия, Ульяновск

Мобильная платформа

IOS, Android

Сдано

Октябрь 2022

Задача

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

Кто наш заказчик

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

Ребята развивают свой проект очень открыто. На корпоративном портале https://open.dater.com/ подробно описываются успехи и неудачи, развитие проекта, принципы работы, объясняется выбранный стиль, философия продукта, в открытый доступ выкладываются внутренние демо-встречи. Наша работа с Dater началась год назад — в ноябре 2021 года.

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

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

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

Решение

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

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

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

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

1Коммуникация

«Я ответил на кучу вопросов от «Клеверов» по версии 0.6.0», — это говорит член команды Dater на внутреннем публичном еженедельном созвоне. Вопросов мы задаем много, но, кажется, клиент доволен.

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

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

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

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

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

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

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

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

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

Результат

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

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

Отзыв клиента

Олег Dater
Олег Dater

Dater Founder & CEO

Наша цель — завести в телефонах бесконечную видеовечеринку, в которую хочется возвращаться.
Мы долго шли по пути веб-приложения: верили в потенциал этой экзотической платформы. Но в итоге признали, что для адекватного показателя retention Dater надо полностью переводить в нативное мобильное приложение. Выбрали для разработки CleverPumpkin, когда увидели, что продуктовая «идеология» и амбиции ребят совпадают с нашими. Самой крутой задачей был перевод созвонов WebRTC на платформе VoxImplant на протокол SRT со своим сервером. Над синхронизацией видеосозвонов между устройствами Android и iOS тоже пришлось потрудиться.

Итог — первый релиз симпатичного приложения Dater с рабочими ключевыми функциями. На этом фундаменте теперь будем выстраивать разные весëлые механики.

https://apps.apple.com/ru/app/dater-video-party/id6444037377

Стек технологий

  • Kotlin Kotlin Язык программирования
  • Swift Swift Язык программирования
  • Xcode Xcode Среда разработки

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

CleverPumpkin с удовольствием обсудит вашу задачу

Оставить заявку