A's open metaverse devlog

@Avirtualfuture

Metaverse Portals PART 1 : Are portals an anti pattern?

Intro

This article is the first in a series of posts centered around Portals in the context of the metaverse. It will also feature ideas I'm exprimenting with that I want to share. This series will include views from people in the industry and open metaverse efforts.

Portals are a central element to the idea of a Metaverse. Given an infinite virtual space, we need ways to traverse and compose parts of the whole. In this first post in a series, I want to explore the differences between implementations of portals and the issues and opportunities they can present. First of all, let's talk about two kinds of Portals that already exist.

Plain portals

Plain portals are the most common type, usually, a static picture or simply some door or portal-looking asset that once clicked unloads the current scene and loads the linked scene. It's the least interesting kind but the simplest to implement. Seems to be enough, as it is in the current paradigm of web browsers. There's a very low cost to opening a random link unless you are on a phone with limited data. This is not the case in a metaverse-like application, the context switch (for the computer and the user) is by far larger.

JanusVR and Portal(game) portals

Portals that open a semi-permanent window to another space are more interesting than a mere link. In the case of the game Portal, the player can spawn two portals that show the connected space through each other. In the case of JanusVR, the room builder could define rectangles in a room that could load other rooms merging both spaces. Users could freely walk between the connected spaces. It could be a door or a large opening. It meets the expectations of the word portal. In the case of JanusVR users can open more than one portal at a time to merge several worlds at once. If linked worlds have reciprocal portals then it would work as if both spaces merged.

"Links codify a relationship between two pieces of data, and they form a path that we follow. In the virtual world, we can represent this literally, and actually walk seamlessly through a portal from one virtual space into another, even if those worlds might be hosted on different servers. Portals both divide and connect - by allowing us to link different spaces together, they give us a tool to organize things both logically and spatially. By enabling links to external virtual worlds, we can use these portals to build large networks of interconnected virtual spaces, where each space curator retains full control over their own creations."

James Baicoianu (https://twitter.com/bai0 Developer of JanusWeb

This is a tool James developed to visualize the graph of links in 3D space called Augmented Perception.

Augmented Perception was an attempt to map the relationships that were formed by people organically linking different virtual spaces together. From the Janus lobby, we had portals linking out to dozens of user-created virtual worlds, which in turn linked to tens or hundreds of other worlds. By crawling all of those portals, we were able to build a 3d representation of over 8000 interconnected worlds and see which sites were linking to each other.

James Baicoianu (https://twitter.com/bai0 Developer of JanusWeb

With portals, people can make their graphs as they need to.

A disadvantage of these kinds of portals is that they need extra resources to load and render more than one world at a time. But this isn't such an issue if the composition mechanisms are in place as I'll explain later in this article.

Connecting different systems

Jin's research in connecting linking as many systems as possible as a continuous graph can be seen here https://hackmd.io/@XR/crosslink and here https://hackmd.io/@XR/crosslink2

Iframe with networked a-frame site that also works as a portal

Linking different systems together poses new challenges for portal design, as naive plain portals are the lowest common denominator.

As we try to figure out how to move information around and compose systems the role of portals is going to become more evident. In my previous article about Metaverse Transitivity, I elaborate on the idea of how a system can get the capabilities of another directly or indirectly. Portals are another mechanism that give the transitivity graph a user interface.

Portals can become an anti-pattern for the metaverse

Let's discuss some issues with portals:

Leap of faith

The first kind of portal discussed is a leap of faith. Lifting the way links work in browsers as-is has evident issues. The name or URL of the link target makes no guarantees of what's on the other side. It might be a waste of time or undesired content. Loading times in metaverse applications can be way higher than what loading a website entails. It can lead people to outright avoid unknown portals after repeated bad experiences with this mechanism. It can also hamper discussions with people the user is not that familiar with that are otherwise in good faith. Trust is a scarce resource and systems should be designed to economize it. System designers can ameliorate this by rendering previews but this might not be enough because it doesn't convey enough information to reduce the leap of faith effect, and also the world maker can trick the system to render a good preview of an otherwise undesirable destination. User reviews and bounce rates might be useful bits of information for people using portals.

Some comments from Ash Connell - https://twitter.com/ashconnell CEO of Hyperfy

One issue with our portals is that you can accidentally walk through one and we should have an interaction to initiate the jump to prevent that.

An issue with link-like portals is that automatic jumps can be jarring, almost like an obstacle. User action seems very important in practice.

I don’t believe portals need to show you the URL or destination either. It’s superfluous. People click things that go places on the web all the time without seeing the URL.

I already explained my views on this however I can see this perspective making sense from the point of view of a web developer used to WebXR experiences being lightweight, with low costs for portal use. The moment the costs for a jump rise, or the jump is between different platforms, this situation changes.

Leaving people behind

Jumping into a portal with the first kind of portal puts a high cost on exploring new spaces. Viewing new places not only presents the cost of the loading time and potential disappointment but also interrupts conversations and leaves people behind. As an example, some platforms like AltspaceVR implemented a mechanism that waits for all users to be ready to go through a portal. Leaving a breadcrumb trail from users that left through a portal is another interesting possibility (if users want to leave the breadcrumbs that is). There's also the issue of different connectivity capabilities between users, by the time the slowest participant finishes loading the rest of the users might've left through another portal already. Performance is another concern, a "heavy" world might crash or generate discomfort for some users.

Loading limbo

The typical experience of a VRChat user exploring is the long loading times stuck in the loading screen limbo. This can make many people reticent about jumping through portals. Loading new rooms in the background is what would happen in a browser for example when we open a link in a new tab. This combination of a leap of faith and long loading times and loading screen limbo creates a lot of friction for jumping around the metaverse. Web-based platforms come from web developers in general so short loading times are the norm. The cultural difference between VRChat world makers that might come from a game development or 3D modeling background and website makers leaks through this difference. But this "portal cost" also raises the bar for world creators that have to justify the leap. Both asynchronous loading and multitasking would be natural paths to improve this situation. Multitasking between several rooms like we do in chat applications, and being able to move information between each.

There's no best

There are tradeoffs to be made specially when it comes to VR performance and compatibility. I invite you to think about the pros and cons rather than some sort of linear evolution of portals, with link-like portals being an undeveloped version. It's an engineering and design decision in the end. My intention with this series is to question the idea of the portal and how the implementation details shape the metaverse.

Composition

This leads us to the topic of composition in metaverse systems and how little of it there is. Without world-merging portals, we have the issue of world builders having to think about all that might be needed in each world. If anything different is available in another world then everything has to be unloaded and a jump to the new world has to be done. We are used to composition in most of what we do with computers but it doesn't feel special. Pasting a picture on a chatroom, using a plugin to export a specific format, linking Photoshop to some 3D editor, browser plugins that talk to services, etc. The clipboard is such an obvious form of composition that we don't even think about it. If there's a text we assume that we can copy it. In the case of metaverse-like systems, we might have assets that we'd like to use in another world, scripts, games, and many other things. With the first kind of portal, this is harder to achieve, whereas with the second kind it might feel like walking into a closet to pick up some shoes and going back. Maybe even go in with a friend to pick the shoes without interrupting the conversation. Without duplication and composition then the cost and scope of making worlds decreases, creators only have to make the composable elements if they want. Like a toy box or a catalog. Portals have an important role in what kinds of things are built.

Parametric portals

An interesting idea I have been experimenting with for some time is "parametric portals". Dynamic worlds can be configured by the link used in the portal. This can be achieved by the world creator or with some user interface or script that changes the parameters of the destination.

Examples

There's a lot to say about portals and what they can mean for the metaverse, and this last idea is worth exploring in more detail. Many more systems and ideas about portals to examine. For now, this is PART 1 of the Portals series.

For subsequent parts, I'll try to include more opinions from people in the industry.

Related links:

Leave your comments in this tweet.

If you are working on something related send me a DM on twitter.

Support my efforts by sending something to this address

ETH(mainnet) 0x3Dc4F022614314C260a5D2EaC5D1DFAAe37f81c1

(Web3 experiments welcome)