Привет, Хабр! Сегодня хотели бы поделиться историей разработки сервиса видеоконференций, рассказав о процессе создания продукта и его развитии. Итак, пару лет назад Jazz by Sber позиционировался и развивался как приложение для звонков между пользователями умных устройств Сбера. Довольно быстро он стал одним из основных сервисов для онлайн-общения внутри компании и быстроразвивающимся b2b-продуктом для массового рынка с AI и голосовым управлением.
Под катом рассказываем, как сервис взрослел и развивался, что сыграло решающую роль при выборе пути его развития, плюс какие технические сложности нам пришлось преодолеть для создания качественного продукта.
Иногда лучше один раз увидеть, чем сто раз прочитать, поэтому для начала познакомим вас с сервисом и продемонстрируем процесс организации и проведения видеовстречи в Jazz by Sber.
Причём тут джаз?
Разработкой Jazz by Sber занимается компания SberDevices, технологическое подразделение Сбера. Название сервиса придумывали всей командой, в него заложены две основные идеи:
Первая – объединение людей для решения конкретной задачи (обсудить рабочие или личные вопросы, просто приятно провести время). Джаз – это музыка, создаваемая разными людьми, которые собираются вместе, чтобы творить. Они творчески проявляют себя и часто импровизируют, создавая что-то новое. Соответственно, эту концепцию мы и решили использовать.
Вторая – равноправие участников. Например, одна из фишек Jazz – это возможность расшаривать экраны одновременно нескольким людям. Организатору встречи не надо допускать участника к показу и контролировать весь процесс, достаточно просто переключаться между окнами. Кстати, эту фичу мы не делали специально, она как раз является результатом «джазовой импровизации». Результат получился неплохим – пользователи стали её использовать и поняли, что это намного удобнее, чем раньше.
Всё больше пользователей
На старте в Jazz by Sber было уже немало интересного: простой запуск по голосовой команде или вручную за пару кликов, неплохое качество связи, лаконичный интерфейс.
По нашей задумке видеозвонки на умных девайсах должны были подарить людям новые ощущения и эмоции. Нашей целевой аудиторией были обычные люди, которые хотят позвонить родным или друзьям без сложной регистрации в сервисе. Например, когда ребёнок включает телевизор не ради мультиков, а просит ассистента: «Салют, набери маме!»
Всё шло хорошо, но вмешался форс-мажор – в феврале 2020 года в нашу размеренную рутину вломилась глобальная пандемия коронавируса. Привычные паттерны общения людей начали стремительно меняться вместе с образом жизни в условиях чрезвычайных обстоятельств. Сервисы для онлайн-общения стали крайне востребованными, пользовательская база многих из них значительно выросла.
Коснулось это и Jazz. Наш продукт полюбился b2b-пользователям, университетам и другим организациям. Эта категория пользователей начала решать в Jazz уже бизнес-задачи. Проведя ряд исследований, мы отметили для себя следующие данные:
далеко не у всех представителей целевой аудитории есть умные устройства;
общая потребность в качественной ВКС (видеоконференцсвязи) начала активно расти;
у бизнеса потребность в сервисе ВКС не меньше, а возможно и больше, чем у частных пользователей.
На рынке были и другие, в том числе отечественные, решения для корпоративной ВКС. Мы их изучили и пришли к выводу, что многие продукты сложны в интеграции в бизнес-процессы. Так, время на развёртывание ряда продуктов в ИТ-инфраструктуре компании составляло от 6 месяцев до года, в то время как связь была нужна заказчикам ещё вчера. Проблем добавлял и сложный интерфейс традиционных систем ВКС, необходимость ставить дополнительное программное обеспечение на свои компьютеры. Тогда бизнесу помог всем известный сервис для онлайн-конференций, который пришёл и сказал: «Вот ссылка, вот встреча, пользуйтесь. Но помните, что через 40 минут ваша бесплатная конференция превратится в тыкву!»
Ситуация дала нам однозначный месседж: бизнесу, как и простым людям, нужно простое и быстрое решение с качественным дизайном и стабильной работой. Бизнес устал от сложных, устаревших, неудобных и «неприятных» ИТ-продуктов, которые ему достаются «по наследству».
Всё это побудило нас поддерживать и дорабатывать именно b2b-версию Jazz. Можно сказать, что с этого момента и началась история сервиса в его современном виде.
Как показала практика, решение сделать фокус на бизнес было своевременным, так как в начале этого года многие иностранные сервисы постепенно стали прекращать работу с российскими партнёрами.
Jazz и ТВ-медиацентр SberBox Top
Выпуск Jazz в современном виде произошёл одновременно с выходом SberBox Top – в мае 2021 года. Сервис и устройство дополняют друг друга.
На SberBox Top видеозвонки были одной из главных фишек, помимо игр, просмотра фильмов и управления умным домом. Из-за фокуса на ВКС-связи в девайсе установили широкоугольную камеру, чтобы в кадр поместились все участники звонка. В ПО камеры добавили функцию отслеживания движений: если человек передвигается по помещению, камера следует за ним (обрезает изображение и приближает лицо). Если же в поле зрения девайса попадает несколько пользователей, в кадре помещаются все. Кроме того, в SberBox Top реализовано распознавание жестов, за эту ресурсоёмкую задачу отвечает отдельный модуль обработки нейросетей NPU в 5 TOPS.
SberBox Top можно закрепить на телевизор (например, в офисной переговорке) или просто поставить девайс на стол. Более подробно о том, как устроен SberBox Top внутри и что особенного в его массиве микрофонов, можно почитать в этой статье.
Карантинные ограничения постепенно смягчались, мы стали возвращаться в офис и практиковать гибридные встречи, когда часть людей находилась в переговорной, а часть дома. Теперь наступило время тестов. Мы поставили SberBox Top в пару переговорных и подключились к Jazz. После анализа откликов сотрудников стало ясно, что это действительно отличный и простой способ организации видеосозвонов для небольших переговорных комнат.
Основные фишки Jazz by Sber и работа над новыми возможностями
Мы постарались сделать действительно удобный и полезный продукт. Вот ключевые особенности сервиса на данный момент.
В бесплатной версии сервиса во встрече могут участвовать до 200 пользователей одновременно.
Ссылки на встречи «вечные», они доступны для повторного подключения даже через несколько недель после конференции.
Подключаться к конференции можно бесшовно с любой из платформ: веб-версии или приложения на компьютере, планшете или смартфоне, через SberPortal и SberBox Top.
В Jazz нет регистрации и необходимости что-то долго настраивать, поэтому вход во встречу происходит за считанные секунды.
Демонстрировать свои экраны могут несколько участников одновременно.
AI-система умного шумоподавления делает хорошо различимой речь в любых условиях, даже если спикер находится в опенспейсе с десятком коллег.
Сейчас мы активно дорабатываем браузерную версию сервиса. Эта функция, как оказалось, очень востребована в образовательных учреждениях. У многих из них есть необходимость встроить функцию звонка к себе на сайт и вести видеоурок или вебинар, одновременно показывая на странице рядом обучающий контент.
К слову, чтобы протестировать Jazz прямо сейчас, не нужно ничего покупать, согласовывать бюджеты и тратить время технических специалистов. Достаточно просто зайти в web-приложение, нажать кнопку, создать ссылку и пользоваться.
Здесь подсветим два момента, особенно важные для бизнеса:
мы – отечественная платформа, российский рынок для нас родной и самый важный, то есть ситуация, когда заказчик останется без связи из-за того, что поставщик внезапно перестал работать с российскими клиентами, в нашем случае невозможна;
в соответствии с законами РФ все данные хранятся на территории России на серверах Сбера, а защиту сервиса помогает обеспечивать команда BI.ZONE.
Сложности – как мы их решали
Сложностей в ходе разработки возникло немало.
Первая задача при работе над Jazz by Sber была связана с поиском разработчиков, имеющих опыт работы именно с ВКС. WebRTC – относительно молодая технология. Точнее, она существует давно, но получила основное развитие именно в пандемию. Мы искали профильных инженеров и разработчиков на стеке WebRTC, детально проверяли их знания и набирали лучших. Сейчас у нас сформирована сильная команда из специалистов с нужными нам знаниями на всех платформах и технологиях – web, backend, машинное обучение, iOS и Android, что позволяет одновременно оптимизировать работу сервиса в браузере, на мобильных устройствах и наших девайсах.
Второй момент – сложность работы с потоковыми данными и обеспечением высокого качества связи. Технологии непросты сами по себе, плюс нужно учитывать специфику, включая как электронику, так и форм-фактор. Мы хотели добиться реальной конкурентоспособности с мощными и дорогими видеотерминалами, существующими на рынке. Для этого выполнена значительная работа. Есть куда расти, но уже сейчас мы довольны качеством связи. Например, мы сравнили наш SberBox Top за 14 990 рублей (*цена на момент публикации материала) и терминал за 600 000 рублей, который был у нас в качестве тестового образца. Честно говоря, при первом взгляде на маленькую 300-граммовую коробочку SberBox Top трудно представить, что она может тягаться с крупными конкурентами. Но она может и ещё как!
Самое интересное началось, когда мы сами начали пользоваться продуктом до его выхода на рынок. Это было по-настоящему больно, потому что все косяки первых версий прототипа ты видишь сам. Где-то что-то не запускается, где-то отваливается связь в самом интересном месте общей встречи, и при этом все коллеги знают, кто ответственный за доработку. Это был интересный опыт, который помог нам сформировать взгляд на продукт со стороны юзера и понимание, на что обратить внимание в первую очередь. Вообще, это наша давняя традиция: сотрудники SberDevices начинают пользоваться своими продуктами задолго до их выхода к пользователям. Сейчас Jazz – основной сервис для связи внутри всего Сбера, и многие фичи, которые появились при работе Jazz внутри банка, затем распространяются и на внешнюю версию.
Лезем под капот: технологии и фичи
Текстовые расшифровки звонков
Для текстовой расшифровки разговора необходимо авторизоваться по Сбер ID на сайте jazz.sber.ru, а затем создать встречу с участниками. Создатель конференции может в любой момент запустить или остановить расшифровку в разделе «Прочее». Текст расшифровки по итогу отображается вместе с сообщениями в чате, что, как нам кажется, удобно, потому что потом не надо перелопачивать чат для поиска важных ссылок или документов, которые скинули коллеги. Чат с транскрибацией можно при желании скачать по окончании встречи.
При внедрении этой фичи мы пошли по следующему пути: сделали MVP с опорой на существующие решения конкурентов, протестировали на аудитории, собрали у неё пожелания, выяснив важные детали. Например, мы думали, что транскрибация будет служить только фиксацией встречи: чтобы просто открыть текст, прочитать и вспомнить договорённости. Оказалось, что это далеко не единственный способ применения технологии. Иногда во время встречи участнику на удалёнке нужно отойти, чтобы решить домашние дела. Например, кто-то позвонил в дверь или ребёнок попросил разогреть ему еду. В этот момент участник может включить распознавание речи, а по возвращении быстро прочитать, о чём говорили, чтобы не терять нить беседы.
В Jazz мы использовали особую модель распознавания речи, аналогичную той, которая работает в нашем бесплатном Telegram-боте (@smartspeech_sber_bot), позволяющем распознавать аудиосообщения. А также очень похожую на ту, которая используется в работе виртуальных ассистентов Салют — как по архитектуре, так и по количеству параметров. Но у этой модели есть и существенное отличие, заключающееся в обучающих данных.
Главной задачей наших моделей, используемых виртуальными ассистентами, является распознавание запроса: команды или вопроса («Салют, включи спокойную музыку», «Джой, сколько сейчас градусов»). Обычно это очень короткие фразы. Кроме того, важная особенность таких моделей — игнорирование фоновых шумов и речи, не обращённой непосредственно к виртуальному ассистенту.
Когда мы попробовали использовать существующие модели для распознавания аудиозаписей видеоконференций (и других длинных текстов), мы не смогли добиться необходимого качества распознавания: записи длинные, а распознавать нужно весь текст, не пропуская ни одного слова, в том числе и фразы, которые отличаются по громкости (они похожи на фоновые).
Для решения этой проблемы мы сначала собрали из различных открытых источников длинные монологи и подкасты, от нескольких десятков секунд до нескольких часов, порезали на короткие куски длиной не более 25 секунд и с помощью краудсорсинга получили для них транскрипции. А также внедрили распознавание фоновой речи.
Основная сложность такого подхода — временные затраты на получение транскрипций. Процесс этот долгий, достаточное количество данных быстро таким образом не собрать. Пришлось прибегнуть к хитрости.
Дело в том, что модель, обученная не пропускать фоновую речь, у нас уже была. Она используется для распознавания телефонных разговоров. Однако для её обучения использовались аудиозаписи со специфическими характеристиками звука. Так, у телефонных записей частота дискретизации составляет 8 кГц, а для голосовых сообщений мы взяли за основу 16 кГц.
Соответственно, без доработки использовать её было нельзя. Тем не менее при помощи этой модели нам удалось расширить обучающую выборку. Мы взяли короткие куски монологов, для которых у нас ещё не было транскрипций, понизили их частоту до 8 кГц и сделали псевдоразметку: распознали записи с помощью модели для телефонии. Потом привязали полученные транскрипции к исходному звуку с качеством 16 кГц.
Кроме того, для формирования обучающей выборки мы использовали полученные ранее аудиозаписи с транскрипциями, на которых обучалась модель телефонии, повысив частоту дискретизации.
Таким образом, нам удалось значительно расширить обучающую выборку, перестать игнорировать фоновую речь и, как следствие, улучшить качество распознавания не только для Jazz, но и для других сервисов, где необходимо распознавать всю услышанную речь.
Непосредственно же распознавание речи работает на технологии SmartSpeech. Для ВКС очень важна скорость работы. SmartSpeech – одно из самых быстрых решений на рынке по этому параметру. Например, 90-минутную речь система распознаёт примерно за минуту, а параллельное распознавание во время говорения осуществляется практически мгновенно.
Если у вас есть вопросы, задавайте их в комментариях. Кроме того, интересно узнать, пользуетесь ли вы продуктом, и если да, то какие у вас впечатления от работы с ним?
Каким решением для ВКС вы пользуетесь?
Комментарии (21)
hard_sign
29.06.2022 09:06Вообще у Сбера нормальный бэкенд, но разработчики UI – все сплошь криворукие неумехи. Вот конкретно про Jazz:
Web-версия через раз работает в Firefox.
При нажатии «открыть в приложении» запускается приложение «Jazz». Запускается и запускается, запускается и запускается... На современном компьютере с 16 Гбайт памяти это занимает несколько секунд. При том, что Zoom запускается мгновенно.
Когда приложение запустилось, видеоконференция не начинается автоматически – зачем-то надо нажать кнопку «войти в конференцию».
Имена участников написаны огромными буквами. На FullHD монитор влезает десяток-полтора. Для индивидуальных встреч более чем достаточно, но для бизнеса – так себе решение.
Приложение для Андроида спрятано в недра какого-то голосового помощника. Не представляю, кто в здравом уме будет ставить себе это на личный телефон.
Если нажать «поделиться», то свёрнутое окно не видно в списке того, чем надо поделиться, – сначала надо развернуть окно.
chelovan
29.06.2022 10:20По 3 пункту скажу, что есть разные сценарии: не всегда нужна сразу конференция, достаточно частотны сценарии, когда нужно подключиться к конференции или запланировать.
Огромные буквы — решение, когда к пользователя нет аватарки. По мере добавления людей в конференцию, окошки уменьшаются.
Ну и да, приложение есть отдельное)
hard_sign
29.06.2022 10:33По п. 3 скажу, что всегда можно определить, как именно запущено приложение, – чтобы что-то запланировать или чтобы войти в конкретную конференцию. Казалось бы, элементарное знание, но - - -
Окошки, может, и уменьшаются, но больше 10-15 человек в списке всё равно не помещается. Дизайнеры почему-то забывают, что есть настольные компьютеры и смартфоны, и если размеры изображения в точках совпадают, то физические размеры при этом отличаются в 4-5 раз. Казалось бы, общедоступное знание, но опять же...
«Отдельное» приложение – это именно отдельное, без всяких салютов. Вот казалось бы, термин «отдельное» однозначный, но и его маркетологи Сбера понимают по-своему...
chelovan
29.06.2022 10:48-2«Отдельное» — значит отдельное ????
hard_sign
29.06.2022 10:52+1Подождите, я один вижу там слово «Салют»?
Зачем мне на личное устройство ставить что-то с «Салютом»???
P. S. Возможен, конечно, вариант, когда в названии «салют» есть, а в коде его нет. Но это значит, что и маркетологи Сбера тоже - - -
chelovan
29.06.2022 11:00-2Я понимаю, что все айтишники широкого профиля, мечтают пойти работать в маркетинг. Но не понимаю, что им мешает идти и взрывать эту профессию своей экспертизой. Так что давайте без оценок в сторону маркетологов Сбера, мы тут вроде про другое собрались)
hard_sign
29.06.2022 11:10+1Ну почему же, налицо явный непрофессионализм. Или непонимание слова «отдельное», или неудачное название, из которого явно следует, что приложение вовсе не отдельное, а укомплектованное голосовым помощником. Для продукта это так же плохо, как некачественный код. Может, ещё и хуже, потому что убедиться, что код некачественный, можно только при использовании приложения. А вот неудачное название поставит крест на самой идее попробовать приложение.
iiwabor
29.06.2022 09:42+1Zoom запретил пользоваться своим сервисом госкомпаниям и всем, кто по санкциями - поэтому теперь все пилят свои мессенджеры. И какие бы кривые они не были - ими будут пользоваться, потому что альтернатив нет.
artem_labutin
29.06.2022 17:08Жутко бесит, что нет никакой возможности посмотреть список запланированных конференций - если ссылку не сохранил в аутлук, то все, создавай заново. Ну и зайти соответственно можно только через Аутлук - ссылки же хранятся только там, где ты их сохранил ручками.
trofimovM
Расходимся, это https://meet.jit.si/ со всеми его плюсами и минусами????
rgaliull
нет. я так не понял на чем он основан, то не джитси. Можно посмотреть состав пакетов приложений, они отличаются
Джаз все-таки получше работает, особенно, если поставить приложение.
Кстати, нативное приложение для айфона тоже есть, оно спрятано в приложении сбер салют :)
KayserSW Автор
есть и отдельное приложение Салют!Jazz
Aromer3
Если Debian это Linux, то расходимся? Или какая тут логика, не ясно. Все имеет свои плюсы и минусы, а Jitsi это гибкая масштабируем платформа. В данном случае на ее базе создано отличное решение с огромным потенциалом. Рекомендую попробовать, а после делать выводы. И выводы должны быть четко обоснованы.
trofimovM
Логика такая - на сайте Debian написано "Debian is a Linux-based", на сайте Jazz написано только, что это российская разработка и не слова про Jitsi. Или я не прав и на сайте прям написано, что Jazz основан на Jitsi?