Boardroom: Fast, High Quality Meetings with a built-in and synchronized 5 minute timer
Boardroom home page
Boardroom home page with device management and resolution control options
Single participant view with metrics (live audio and video reporting, quality)
Multi participant view with metrics (live audio and video reporting, quality)
Meeting Expired, session ends.
Boardroom: Five Minute Conference Rooms
Meetings can often be long and drawn out. Boardroom is a free RTC app focused on fast, high-quality web meetings, where time is short so the issues of the meeting should be addressed quickly. This platform leverages Agora.io to create a fast, configurable, and easy to use web conference platform.
Extended from the sample ReactJS Agora app.
App is live and available at: cbonoz.github.io/agora!
What it does
- Easy to create and join meetings, as well as share room names with friends and colleagues.
- Each meeting is capped at 5 minutes, at which point the session will expire and a new one must be created. Timers are synchronized across attendees. Once the meeting times out, users will be taken back to the home page.
- Audio and Video metrics toggleable for each stream.
- Full conference, Audio, and Observer participant modes offered. Resolution and Video compression options.
Each meeting room can contain 7 people at most (audiences will not be counted) with custom configuration. Simply create a unique meeting name and other folks can join it. Timer starts as soon as the room is first created.
Submitted for the Agora Video RTC Web Challenge: https://agora.devpost.com/
Going after the following:
- Quality Transparency: Users are able to have a live stream of both Audio and Video
- Device Management: Users are able to control the resolution of their default device, as well as compression formats.
- Volume Indicator: Audio stats provide information about each person's audio output and data receival rates.
How I built it
Extended the Agora base demo app and use a hosted third party timer service to provide synchronization and enforcement of 5 minutes per meeting session across multiple devices. Front end powered by ReactJS. Added polling of metrics across the device stats SDK methods.
Challenges I ran into
Synchronizing the timer for the meetings was a bit challenging - as well as detecting whether the meeting was new and/or existing. Kicking the user out of the session when the meeting terminates. Feeding a live stream of metrics into the conference view for each user.
Accomplishments that I'm proud of
What I learned
How to integrate Audio and Video into a conference application, and learned about different compression formats. Also learned to incorporate a third party service to synchronize global state (in this case a timer) across attendees in a meeting.
What's next for Boardroom
The app is currently free, could look to monetize and could potentially provide low cost subscriptions for unlimited quick meetings. More audio controls and interactive features such as chat and recordings. Calendar and email integrations.