Проект Mozilla представил TogetherJS, свободную JavaScript-библиотеку и построенный на её основе сервис, позволяющий добавить на любой сайт средства для организации общения посетителей. После добавления и активации библиотеки, пользователям любого сайта предоставляются средства для организации совместной работы и возможность общения между собой в режиме реального времени с использованием технологий WebRTC и WebSocket. Код TogetherJS распространяется под лицензией Mozilla Public License 2.0.
Взаимодействие пользователей осуществляется в режиме точка-точка (P2P), без транзитной передачи данных через промежуточный сервер. Канал связи устанавливается между браузерами пользователей при помощи протокола WebRTC. Для координации взаимодействия клиентов используется специальный серверный компонент, который может быть запущен на сервере владельца сайта или использован публично доступный сервис Mozilla (hub.togetherjs.com).
Взаимодействие пользователей строится на сочетании голосового и текстового чата со средствами совместной работы с контентом. Для каждого пользователя, кроме своего курсора, видны курсоры других участников, которые специально помечены для наглядности. Предоставляются средства для синхронизации содержимого web-форм и динамического совместного внесения изменений. При просмотре видео изменение позиции в потоке, приостановка и продолжение воспроизведения синхронно применяются для всех участников сеанса. При переходе одного из участников на другую страницу в рамках текущего домена, другим пользователям выводится уведомление с предложением последовать за данным участником с сохранением сеанса совместной работы.
При этом каждый пользователь полностью контролирует работу с открытой в его браузере страницей, например, прокрутка в окне не влияет на содержимое окон других пользователей, но позиции прокрутки других участников помечаются специальными значками, а все действия по редактированию и пометке текста сразу становятся видны всем участникам. В любой момент пользователи могут обмениваться между собой сообщениями и общаться через голосую связь.
Для установки TogetherJS на сайт следует подключить скрипт "https://togetherjs.com/togetherjs-min.js" и добавить в любое место на сайте кнопку, при нажатии на которую любой посетитель может сформировать ссылку для отправки другим людям приглашения на включение режима совместного доступа. При переходе по подобной ссылке, создатель ссылки должен подтвердить подключения нового пользователя, после чего подключившиеся к одному сеансу пользователи могут напрямую общаться между собой, синхронно редактировать текст в формах и совместно просматривать контент. Доступны средства для интеграции возможностей TogetherJS в web-приложения.