On April 6th the IOTA Community organized the first VR IOTA Meetup on the Mozilla Hubs platform.

This document summarizes general feedback and best practices collected through this experience.

What is Mozilla Hubs

Hubs is for anyone who wants to connect with others remotely! It’s a great way to bring communities together in a virtual space. Host a conference, teach a class, create art, or just hang out with friends. Because of Hubs’ spatialized audio you can have conversations with everyone together or break out into smaller groups, just like you can in person. 

Key Features

  • Works across platforms
  • Customizable scenes and avatars
  • Self-hosting options available
  • Built with privacy in mind

Setup

Mozilla Hubs are privacy centric virtual spaces. The code is open source and the platform can be self hosted Hubs Cloud on AWS (estimated costs).

Mozilla Hubs make it possible to join the VR rooms without registration, using any device like a PC or Smartphone through the browser, with or without VR gear (supported devices). For best performance and overall experience on low end devices, the Mozilla team suggests a limit in the number of guests per room to 24/25.

Public Rooms and security

For the first event the organizers leveraged public rooms made available by Mozilla Hubs to keep a lower entry barrier.

The free platform does not have an administrative panel nor an easy management tool, therefore the team had to get creative (more about administration and security later in the document). This is not an issue when the hubs are shared with trusted parties, although anonymity and public events can bring to certain issues; see zoom-bombing.

Custom VR scene

Using Spoke two customized scenes are set up, available here. To achieve this goal a template by Mozilla is adapted to save time. 

The room has two spawn points in the far back. This adaptation helps the moderation in the rooms, as a “doorman” can quickly recognize a malicious participant and kick him from the room, before disruption can happen.

On the left hand side are tables and a screen. The screen shows a looping YouTube video from a past meetup. This video is chosen to give a feeling of meeting people in real life and evoke “familiarity and humanity” in the digital space.

The front is called Forum or Main stage. In this location the moderation and presentations take place.

To reach the forum the left and right hand side have billboards and screens at eye level.

The billboards are used to publicize latest news and organizers sponsors.
The screens at eye level have links to blog posts or websites that will open in the users browser.

Rooms

One room is set up as speakers and organizers room (SOR). In this room the moderation, presentations and video streaming to youtube take place. The link to the SOR was shared only between identified parties to avoid interruption or disruption of the presentations or the ban of the streamer’s youtube account through actions by malicious parties.

Six other rooms are set up as guest rooms. The YouTube livestream of the SOR is shared to the screen in the Forum of the guest rooms

The difference between the two scenes are:

  • The screen in the Forum area of the SOR is left blank
  • The room settings in the guest rooms are limited to minimize confusion and performance loss

Workflow

Usual event workflow. In the case of an event with public links, it might be helpful to find people that will support the event as moderators, to kick malicious actors, support users and close a room in the worst case scenario.

It is suggested to use a self hosted Hub to have more control over the platform and an administrative panel.

A suggestion for the Host/Speakers: if desired it is possible to share the webcam and show themselves before showing a presentation, to make a connection between the avatar and the person.

Administration and Security

Hubs cloud

Administration tools are only available for self hosted Hubs Cloud on AWS (estimated costs).

Here’s some things you can do to continue setting up your hub:

Hubs Discord bot

The Hubs Discord bot makes it easy to connect Hubs rooms to your Discord chat server. When a Hubs room is associated with a Discord channel, users will be assigned abilities in the Hubs room based on their Discord roles. For example, Discord owners and moderators will be able to change settings on a Hubs room and be able to moderate users in the room

Key Features

  • Allows you to authenticate users joining your Hubs room
  • Saves a record of photos and text chat created in Hubs
  • Posts in the Discord channel when someone joins or leaves the Hubs room

Security

Security has a price in usability and ease of use, although security for the event participants, speakers and organizers should be the focus when organizing such events.

Participation possibilities (sorted by most secure, ):

  • Easy – Register on Eventbrite/Meetup and watch the YouTube stream
  • Pro – Register on Eventbrite/Meetup, register on the Discord server, access Mozilla Hubs through Discord, join the Mozilla Hub using VR gear

Hard – Register on Eventbrite/Meetup, register on the Discord server, access Mozilla Hubs through Discord, join the Mozilla Hub using a PC/smartphone through the browser

  • Normal – Register on Eventbrite/Meetup, join the Mozilla Hub using a PC/smartphone through the browser

The safest way to participate in an online VR event is to passively watch the video stream on YouTube. As seen later in the document a separate room for the organizers, speakers and streamers is set up, therefore disruption possibilities are lowered to a minimum, unless one of these participants makes the link publicly available.

The next way to participate and to make the event safe to participate is to have control over the people that can access the event. In this regard access control through a Discord server and a team of moderators is necessary. To support your moderators in the decision making process a Code of Conduct for events should be enforced and communicated to the participants (e.g. CoC Linux Foundation).

Participants

Use a platform like Eventbrite or Meetup for participants’ registrations.
Inform the participants that Mozilla Hubs will be used to prepare themselves for the experience, familiarize with the platform, with the controls, verify if their devices are supported.

Participation possibilities (sorted by entry barrier):

  • Easy – Register on Eventbrite/Meetup and watch the YouTube stream
  • Normal – Register on Eventbrite/Meetup, join the Mozilla Hub using a PC/smartphone through the browser
  • Hard – Register on Eventbrite/Meetup, register on the Discord server, access Mozilla Hubs through Discord, join the Mozilla Hub using a PC/smartphone through the browser
  • Pro – Register on Eventbrite/Meetup, register on the Discord server, access Mozilla Hubs through Discord, join the Mozilla Hub using VR gear

Accept to follow the Code of Conduct.

YouTube stream

Set up a secondary Mozilla Hubs account and avatar for the Streamer to record the event and stream it live to YouTube. Set this account as moderator. This user should be skilled to freely move in the room and position himself dynamically to support the speakers and organizers.

Scene customization

Customize scene(s), by updating YouTube video links and the live stream link, billboard images and screen links. Actual scenes are available on GitHub here: https://github.com/iota-community/IOTA-VR-events-mozilla-hub

Room creation

Open the SOR and apply the custom SOR scene.

Open the necessary number of guest rooms, apply the custom scene and set restrictive room settings. The number of guest rooms equals to the number of confirmed guests divided by 25.

Bookmark the link to every room for faster management should you need to adapt the links to the livestream or change scenes.

If you are using public rooms, invite identified participants together in rooms and use one or two specific rooms for unidentified/less known/anonymous participants; be prepared to close these rooms in worst case scenarios.

Best practices

Organizers

  • Get familiar with:
    • The Mozilla Hubs platform in general (documentation)
    • Room specific settings
    • Spoke to update links and billboard images
    • With the custom room
    • First person view
    • Avatar movements/controls
    • Setting up webcam/screen sharing
    • Utilizing objects in the VR scene
  • Have a team of moderators for Discord and Mozilla Hubs
  • Setup and thoroughly test
    • personal audio and video equipment
    • Youtube streaming capabilities
  • Organize rehearsals for the speakers and moderators
  • Find an easy way to manage the rooms and to quickly update scenes
  • Create a Code of Conduct for events and inform every participant about it (e.g. CoC Linux Foundation).
  • The CoC is also a supporting guide for taking decision in the moderation/kick/bans of participants
  • If possible
    • Use a Discord server with the participants
    • Use the Discord Bot to manage access to the rooms
    • Self-host the event to leverage administration tools
    • Set up a secondary communication channel (Discord server, Slack, Telegram) to communicate with the speakers
    • Set up a secondary communication channel (Discord server, Slack, Telegram) to communicate with the moderators
    • Invite identified participants together in rooms
    • Use one or two specific rooms for unidentified/less known/anonymous participants with more than one participant and be prepared to close these rooms in worst case scenarios

Speakers/Host

  • Get familiar with:
  • Setup and thoroughly test personal audio and video equipment
  • Rehearse the presentation in the Hub with screen sharing and screen object setup
  • Start the presentation by sharing the webcam and showing yourself
  • Move close to the Streamer to insure a higher sound quality

Streamer

  • Get familiar with:
    • The Mozilla Hubs platform in general (documentation)
    • Spoke to update links and billboard images
    • With the custom room
    • First person view
    • Avatar movements/controls
    • Setting up webcam/screen sharing
    • Utilizing objects in the VR scene
  • Setup and thoroughly test
    • personal audio and video equipment
    • OBS
    • Youtube streaming capabilities
  • To hide the user interface when recording, you can press the tilde key (~), or turn on camera mode.
  • Actively follow the presentations
  • Use two screens, one to see the YouTube stream, one with the hubs, to adjust position, sound recording quality

Moderators

  • Get familiar with:
    • The Mozilla Hubs platform in general (documentation)
    • With the custom room
    • First person view
    • Avatar movements/controls
    • Setting up webcam/screen sharing
    • Utilizing objects in the VR scene
    • Room settings
  • User kick function and administrative tools
  • Discord moderation settings to add/remove user roles
  • Setup and thoroughly test personal audio and video equipment
  • Join rehearsals for the speakers and moderators
  • Find an easy way to manage the rooms and to quickly update scenes
  • Be aware of the Code of Conduct
  • Use the CoC as a supporting guide for taking decision in the moderation/kick/bans of participants

Useful links

Glossary

Mozilla Hubs = Online platform for VR virtual spaces
Spoke = Online 3D scene editor on the Mozilla Hubs platform
Room = Virtual room, virtual space or channel
Scene = Customizable appearance of a virtual world inside a room, these can be edited in Spoke
Avatar = graphical 3D representation of the user or the user’s alter ego or character
Spawn Point = Point in the VR space, where people enter the location with their avatar
FPV = First person view, the user sees from the “eyes of the avatar”
Moderator = User that has more controls over the rooms, like kick people and change settings
Streamer = User that uses a broadcasting tool like OBS to stream the event to the YouTube account
Hubs Cloud = Self hosted Mozilla Hubs instance
Discord = Text and Voice chat application