Номинируйте кейсы на Workspace Digital Awards 2026. Прием заявок до 15 декабря по льготной цене, успейте принять участие!
CleverPumpkin
DATER App: как мы создаем приложение для стримов видеовечеринок
CleverPumpkin
WDA
2023
#Приложение под ключ

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

4826 
CleverPumpkin Россия, Санкт-Петербург
Поделиться: 0 0 1
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 с удовольствием обсудит вашу задачу

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