О чём стоит знать, если планируете запускать голосовые сообщения в продукте — кейс Авито

Привет! Я Даша Тимофеева — продакт в мессенджере Авито. С марта 2024 года в нашем приложении можно отправлять голосовые. В статье расскажу, почему мы решили добавить такую возможность, как построили работу над ней, и какие результаты получили.

Дарья Тимофеева
Продакт-менеджер в Авито

А мой коллега-разработчик Роман Шамян поделится, с какими сложностями столкнулась деливери-команда во время разработки и подбора аудиокодека.

Изучили предпосылки и поняли, что время для голосовых всё-таки пришло

Вот три главные причины, почему мы решили внедрить войсы в наш мессенджер:

Фидбэк пользователей. Мы следим за уровнем удовлетворённости мессенджером с помощью регулярных опросов. Там можно оценить продукт от 1 до 5 и оставить комментарии с пожеланиями или обратной связью.

Примерно 10% пользователей ставили плохие оценки, потому что в мессенджере не было голосовых сообщений.

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

Суровая реальность предпринимателей. Мы знаем, что у части продавцов на Авито нет сотрудников, которые отвечали бы клиентам на сообщения. Такие предприниматели занимаются этим сами и понимают: чем быстрее напишут, тем выше шансы на сделку.

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

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

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

Сделали дизайн «как у всех», чтобы голосовые были интуитивными, а разработка — быстрой

Мы не хотели придумывать новый дизайн, а взяли за основу привычный пользователям вид голосовых сообщений и стилизовали его под наш мессенджер.

Это позволило сократить объём работ на первых стадиях проработки фичи. Например, в первой версии дизайна голосовых мы добавили только кнопку Play и не делали даже таймлайн, который отображает, как двигается ползунок во время прослушивания.

Так мы сэкономили время и ресурсы и смогли быстро перейти к реализации новой функции. А ползунок добавили в следующей итерации:

Слева — первая версия, справа — актуальный дизайн интерфейса голосовых сообщений
Слева — первая версия, справа — актуальный дизайн интерфейса голосовых сообщений

Столкнулись со сложностями при выборе аудиокодека

Роман Шамян
Фронтенд-разработчик Авито

Пользователи переписываются в мессенджере Авито с разных устройств. Продавец может отправить сообщение из десктопной версии Авито в браузере, а получатель прочтёт его в приложении на iOS. Мы понимали, что так же будет и с голосовыми.

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

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

⚙️Немного технических деталей

Чтобы сохранять и воспроизводить аудиофайлы, нужны контейнер и кодек.

Контейнер — это то, что мы привыкли называть форматом аудио, например, MP4 или OGG.

Кодек — способ кодирования, который используют, чтобы аудио занимало меньше места. Кодеков, так же как и контейнеров, существует много, например, AAC или Opus.

Мы знаем, что на Авито есть большая группа людей, которые пользуются мобильной версией сайта вместо приложения. Фактически они будут записывать и проигрывать голосовые в браузере.

Сначала мы думали, что сможем выбрать один аудиокодек и один контейнер, которые будут работать на десктопе и в мобильной версии на Android и iOS. Но столкнулись с ограничениями:

👉 Например, ААС могут воспроизводить все браузеры, а Opus — почти все, кроме Safari.

👉 При этом кодек AAC проприетарный, его запись в браузере добавил только Apple, для всех остальных нужно купить лицензию.

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

Воспроизведение аудио. Поскольку айфоны не могут воспроизводить аудиофайлы в Opus и работают только с Wav, мы решили конвертировать аудио Opus → Wav прямо на устройстве, и это сработало.

Запись аудио. Просто так добавить поддержку нового кодека в браузер нельзя, даже если у него открытый код, и есть свободные библиотеки под любую платформу. Такой код всё равно нужно дорабатывать.

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

В итоге нам удалось исправить большинство проблем, и сделать так, чтобы пользователи могли отправлять и прослушивать голосовые сообщения на разных платформах

Придумали, как модерировать голосовые сообщения от спама

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

Разрабатывать с нуля ML-модели, которые умеют анализировать аудио — сложно и долго. Поэтому мы решили использовать уже существующие наши текстовые модели для проверки голосовых.

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

Проверили всё на себе: дали сотрудникам Авито ранний доступ к голосовым

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

Например, мы предусмотрели, что люди со старой версией приложения вместо голосового увидят заглушку «Сообщение не поддерживается». И решили проверить, как это будет работать.

Я отправила голосовое с телефона с последней версией приложения на телефон коллеги с более старой версией. Но когда она нажала на заглушку, войс вдруг начинал воспроизводиться. При повторном нажатии на «сообщение не поддерживается» голосовое останавливалось.

Перед тестами на пользователях мы, конечно, всё поправили.

Запустили A/B-тест на всех пользователей

Мы начали тесты на небольших группах и раскатывали продукт постепенно.

Первый тест — на 30 тысяч продавцов и покупателей. Попробовали оценить итоги и поняли, что такой выборки оказалось недостаточно, чтобы собрать значимые результаты.

Второй тест — на 50% пользователей Авито. Этот тест длился несколько месяцев: за это время мы проверили работоспособность продукта и убедились, что всё в порядке, в том числе с модерацией.

В марте 2024 года мы раскатили голосовые сообщения на всех пользователей. Теперь любой покупатель и продавец с обновлённой версией приложения может отправлять и прослушивать голосовые сообщения в мессенджере Авито.

Снизили переходы в другие каналы связи

👉 На момент написания статьи в июне 2024 года пользователи Авито отправляют в среднем больше 300 тысяч голосовых в сутки, а за май продавцы и покупатели отправили 7,3 миллиона голосовых сообщений.

Динамика количества голосовых сообщений: сейчас их отправляют больше 300 тысяч в день
Динамика количества голосовых сообщений: сейчас их отправляют больше 300 тысяч в день

👉 Сократили количество переходов в другие каналы связи на 1,3%. Для нас это значимый результат, так как на эту метрику очень сложно повлиять, и другим нашим запускам это редко удаётся.

👉 Продавцы писали восторженные отзывы после раскатки голосовых в мессенджере:

Отзывы пользователей в телеграм-чате
Отзывы пользователей в телеграм-чате

И ещё пара интересных наблюдений:

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

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

Вся история с запуском голосовых — кратко

Увидели, что у пользователей есть потребность в фиче. Мы замечали, что люди снижают баллы в оценке удовлетворённости из-за того, что в мессенджере нет голосовых.

Сделали привычный для всех дизайн. Так как голосовые — это норма рынка, придумывать новый дизайн и функциональность было бессмысленно. Мы взяли классический интерфейс войсов и адаптировали его под Авито.

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

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

Протестировали продукт на сотрудниках, а потом раскатили A/B на пользователей. Получили приятные отзывы, снизили количество переходов в другие мессенджеры, а через месяц после раскатки люди уже отправили 7,3 миллиона голосовых сообщений.

66