"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

In consideration of the larger social experience I think a key elements that is missing from this relates to early mmo designs which has carried forward. This includes active groups and guilds. Active group being the small group you are joining to see an event or activity with, whereas a guild is a larger internet ‘family’ some of which you are close to or some by assosciation that you have unique channels to talk across.

Groups I consider to be essential including have a channel to talk directly with your group without others hearing, as well as guilds being optional. I bring this up in here as I think it applies to how groups should connect when joining including if there is not enough room and one member of the group joins a new more empty room does it provide a prompt for the other group mates to join. Or when you group up is there an option to join your friends in a ‘room’ that has capacity.