Как мы создавали Miro и Zoom в одном флаконе

getLocus.io — чему мы научились за четыре месяца после релиза.

Первую статью мы опубликовали в день релиза и рассказали в ней о том, как пришли к идее, как разрабатывали MVP и с какими трудностями сталкивались.

Пару слов о нашем продукте.

getLocus — интерактивная доска (whiteboard), поверх которой перемещаются аватарки с видеосвязью. Причём пространство доски имитирует комнаты — чем дальше аватарки друг от друга, тем меньше они друг друга слышат.

Как мы создавали Miro и Zoom в одном флаконе

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

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

  • Мы про коммуникации «каждый с каждым», а не «говорящая голова со всеми». На нашей площадке удобно проводить QA-сессии и нетворкинги: пользователи могут «сбиваться» в пары-тройки-микрогруппы по интересам и быстро пересобираться в других составах.
    К примеру, организаторы DotFest пришли к такому формату — доклад спикера по ВКС, а затем общение и вопросы со спикером на нашей площадке.
Пространство для QA на DotFest CodeFest
Пространство для QA на DotFest CodeFest
  • Мы для удаленных команд. Акцент на интерактивную «доску» или «экран» или «планшет», аля miro. Виртуальная комната это место в котором можно собрать множество визуальных объектов (файлы. img,. png,. jpeg,. gif,. pdf, youtube–видео) и группировать их, например, описывая CJM. Можно шарить экран, можно рисовать схемы и формулы на доске и сохранять их в svg для отдельного редактирования.
Доска на семинаре в МФТИ Nicolas Borisov
Доска на семинаре в МФТИ Nicolas Borisov
  • Мы для психологов/тренеров/педагогов. Собственный аватар с видеосвязью имитирует физическое присутствие и ощущение собственных границ, что делает возможным проведение разных групповых форматов, ранее недоступных для онлайна.
    Преподаватели и студенты старших курсов факультета психологии МГУ имени М.В. Ломоносова сравнили для проведения тренингов «Zoom + Miro», «Minecraft + Discord» и getLocus.

GetLocus удобен для создания и развития на его основе специализированной тренинговой платформы. Совместными усилиями уже ведется работа по запуску spin-off «T-matrix». Проведена первичная интеграция c API getLocus. Формируется сообщество «цифровизаторов тренинговой практики».

Алексей Журавлев, CEO «T-Matrix», к.псх.н

Не обошлось без трудностей

Выявили проблему в коммуникации между CTO и продакт менеджером.
Для поиска решений подготовили парный доклад и выступили на DevOpsLive2020.

Рассказали о сложности фиксации и исправления багов в формате открытой дискуссии с экспертами и участниками. Беседа развивалась вокруг понятия «ошибка» и различении того, что считает ошибкой пользователь и продакт, и как она может быть интерпретирована разработчиками «из-под капота». Из полезного посоветовали почитать и подумать про DoD бага, test requirements, bdd (behavior-driven development).

Планируем написать об этом отдельную статью.

Неудачная архитектура

После релиза, клиенты стали проводить пробы с большим числом участников (от 20 одновременных подключений и больше). Только в этот момент к нам пришло осознание, что стартовая техническая задумка, организовать видеосвязь через p2p — провальна (кто бы мог подумать).
Заявленная мощность браузеров по числу одновременных p2p соединений оказалась в разы меньше заявленной и пользователям не удавалось подключиться сразу ко всем участником доски, а скорость подключения оказалась неприемлемой.

Поскольку через несколько дней у нас планировалось коммерческое мероприятие на 100+ человек, мы приняли решение в срочном порядке переписать всю архитектуру. Бессонные ночи и работа в выходные спасли ситуацию и ивент был успешно проведен.
Важно — клиент был предупрежден о рисках и лояльно к ним отнесся. Мы вместе с ним подготовили резервный план на случай неудачи, но к счастью, всё обошлось.

Серьезный трафик

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

Изучив проблему подробнее, пришли к выводу, что с такой проблемой в той или иной мере сталкиваются ~11% наших юзеров. Проблема была вызвана потерей «пакетов», за которым следовала потеря связи на доли секунды. А вот дальнейшее переподключение уже занимало несколько секунд, что негативно сказывалось на пользовательском опыте.

Такое часто случается на старых wi-fi роутерах или когда не очень надежный интернет-провайдер. При этом, скорость интернета может оставаться очень даже высокой. Это напоминает мигание лампочки, при некачественной проводке.

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

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

Ближайшие планы

  • Протестировать удобство getLocus для торжественных мероприятий (торжественные итоги года в компаниях) и их продолжение: «тусовки» и «посиделки».
  • Улучшить доску для рисования, добавить стикеры с надписями, интегрировать офисные программы.
  • Проработать онбординг и UX: разработали много фич, а теперь нужно сделать их понятными и научиться просто рассказывать про функционал.
  • Подготовить бэкенд к highload, сейчас переключение между серверами происходит вручную и через «хард-кодинг», что крайне усложняет жизнь, так как предел одного сервер ~700 одновременно подключенных пользователей.
Как мы создавали Miro и Zoom в одном флаконе

Спасибо команде за вовлеченность, а пользователям за фидбек, обратная связь помогает нам лучше понять себя:)

6565
44 комментария

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

6

Спасибо за теплые слова!
Будем стараться рости быстрее и не превращаться в трудного подростка)

Какие вы крутые! Респект за такую интересную идею и работу с универами

4

"Респект за такую интересную идею и работу с универами" - а про программистов ни слово :\

2

Ну и раз уж я разошелся, еще спрошу: у вас сайт на русском. Вы выбрали РФ как ключевое гео для себя? Почему?

3

Попробую ответить на все вопросы одним комментарием)

1. Статья не про рост, а про развитие продукта, причем с точки зрения клиентского опыта, потому цифры и не приводим. В следующем году обязательно будем делать статью о росте и продвижении - там цифры и покажем.
2. То что вы не нашли для себя причин сейчас переходить к нам из miro и zoom - это нормально) Мы стараемся развивать продукт через cust dev, адаптируясь под конкретную деятельность клиентов, например под тех, кто проводит психологические тренинги. Будет круто, если вы попробуете у нас поработать и дадите обратную связь, тогда мы сможем улучшить продукт и найти причины перехода именно для вас, в вашей ситуации.
3. На РФ стартовали из-за опыта и специфики команды, как работать с русскоязычной аудиторией - понимаем, как с западной - пока нет. Про сложности выхода из РФ на мир неоднократно слышали и про нелюбовь инвесторов к таким проектам тоже)

Спасибо, что обращаете на это внимание - вероятно, стратегию по этому вопросу в ближайшее время будем менять

1

Вот это Хороший вопрос :) с мощным приколом :)