GroupRoom Engineering

@ChrisMatthieu
grouproom
Published in
3 min readJun 8, 2021

--

We are happy to share a peek into the technology behind GroupRoom’s 2D and 3D spatially-aware video chat platform with our customers.

For starters, GroupRoom is built 100% on Web infrastructure technologies including: WebXR, WebRTC, WebAudio, WebSockets, and REST APIs. We use traditional stateless Web scaling techniques for scaling our server-side REST APIs and WebSockets across an unlimited matrix of cloud-hosted Web servers.

Our responsive Web and WebXR device client-side implementation allows GroupRoom to run on mobile devices (iOS and Android phones and tablets), laptops and desktops (Windows, Mac, and Linux), 360 immersive Virtual Reality devices (Oculus and Vive), and 360 immersive Augmented Reality devices (Hololens and MagicLeap) by clicking on the AR/VR button in the bottom right corner of the Web page.

We currently limit each room to hosting 50 people; however, we can support an unlimited number of connected rooms. Our current room limit is self-imposed by maintaining media servers streaming HD audio and video to all 50 attendees per room at the same time. Our free version, on the other hand, is based on pure WebRTC and leverages peer-to-peer, encrypted connections to share audio and video directly between users. Typically P2P WebRTC is limited to six or so users per video chat experience; however, we are now able to leverage spatial hashing techniques to support an unlimited number of users meeting in a single space. This is perfect for huge events running on our 2D infinite canvas and 3D style rooms as conference or expo halls. Please contact us (hello@grouproom.io) if you are interested in learning more about hosting huge events on GroupRoom.

We have also designed a very efficient Player Management System where users are tracked by (x,y) coordinates in 2D and (x,y,z) coordinates in 3D.

On every player move, all users in the room are alerted via WebSockets in real-time of the player’s new position. Our spatial distance algorithm reassesses the moved player’s audio volume and grayscale is applied to the player’s video based on distance from me. When other players are outside of “earshot”, their volume is ultimately muted and their video’s grayscale is turned up to 100%. The gray-scaling allows you to tell who is within earshot to hear you as well. Using WebAudio, we can also spatialize the audio and add speaker effects on the players producing microphone energy.

Our spatial algorithm is based on standard distance formulas but it can get a little tricky when converting between 2D and 3D spaces especially when the rooms are connected.

Note: Our same spatial algorithms are also used to determine volume of embedded Web content such as audio or videos within a space in relation to each player/user in the room.

GroupRoom is very easy to integrate with third-party platforms by leveraging our REST APIs, WebSocket APIs, and Event-Driven APIs (WebHooks). We have API endpoints for managing rooms, players, chats, and presence/status as well as WebHooks available for event-based notifications of players joining and leaving rooms. Contact us (hello@grouproom.io) if you are interested in our discussing partner programs in exchange for an API key.

Give GroupRoom a try and let us know what you think.

Let us know how GroupRoom can help your next event be more fun and engaging or allow us to help make your virtual office space be more conversational and productive just like “in real life” (IRL).

Reach out to us on Twitter or Facebook or drop us an email if you would like a demo of GroupRoom or discuss your event in more detail with us.

--

--

@ChrisMatthieu
grouproom

Builder of companies, robots, supercomputers, & motorcycles. @xrpanet & @twelephone CEO. Formerly @magicleap @computesio @citrix @octoblu @nodester @teleku