"Graceful Scaling" for rooms at capacity

I’d like to think about how we consider what happens with rooms in Hubs that expand beyond what is currently supported by the. There are different ways that we could approach this at a high level that come to mind for me, but this is certainly not meant to be an enumeration or endorsement of anything particular at this stage:

  • “Observer Mode” - Some sort of mode that is an extension of the current lobby experience, perhaps with some additional features built-in, that makes for a comfortable viewing experience by someone who does not require or desire a full avatar. This could be an effective approach for large audiences with a single set of performers/speakers who are pre-identified but works less effectively for groups where 20+ attendees are expected to have equal speaking time.

  • “Roomless Mode” - A mode where some elements of the scene could be removed to reduce overall render load of the environment. This could be an abstract model approach that focuses on some combination of content that the user prioritizes, lightly embodied avatars (“floating orb” approach) or an audio-first experience with some completely other modality of interaction.

  • “Duplication Mode” - A mode that silently creates mirrors of a room and separates large audiences into capacity-appropriate rooms. Similar to how Fortnite recently broadcast the Marshmello concert and FrontRow

I don’t have a concrete proposal for this yet, but want to start thinking about what it looks like for a room in Hubs to have a good experience for users once a room hits “capacity”. Here are some open questions about this:

  • How is capacity defined?
  • Is this something a room owner sets, or something we attempt to automatically detect on behalf of a client that may otherwise perform poorly?
  • What degree of asymmetry in an experience is desirable in different use cases? Are there places that make more sense to draw this line than others (e.g. Should VR users be more highly prioritized as embodied avatars?)
  • What might the mechanics of inviting people to rooms as an ‘audience member’ look like compared to the current flow? Is there a difference in invitation approach?
  • Are there benefits to having this built into the client as opposed to recommending a “golden path” for live-streaming on other platforms, and an improved tool set for integrating chat into those streams?
  • Is there a need for a ‘promotional’ flow for moving someone from a more passive participant into an active one if a design is chosen that separates them?

Related: Room moderation