I’d like to define the “Metaverse” in a way that many of us see it:
The Metaverse is a single, immersive, social virtual world, parallel to the real world.
This concept of the Metaverse has not been built yet.
The reason building it has eluded armies of techies is because it needs to be at the same time both “like the Web” and “not like the Web”. And that contradiction has stalled progress.
This article describes the “Meta-Web”, which gets that balance right by using triple-upgraded Web links - everywhere, for everything!
The many closed Metaverses
You may have had some exposure to one or more of these commercial 3D virtual worlds: Minecraft, Roblox; Fortnite; VRChat, Rec Room; Avakin, IMVU, ZEPETO; Second Life; Meta Quest and Horizon Worlds; Apple VisionOS.
It has been claimed by various writers that they collectively form “The Metaverse” - or that they are each “Metaverses” .
The Metaverse concept hit the news recently then fizzled again, but not before Facebook had changed their name to “Meta”… then went on to drop that ball.
Social 3D worlds have had at least two hype cycles within the last two decades. So, beware of how people use the word “Metaverse” in commercial contexts, as there are many interpretations. Here's a typical article in this space, that does come with a nice illustration (Substack doesn’t support links on images, sorry):
The fact that these are all closed, proprietary, multiple and disjoint means their chances of success in building a single global Metaverse are essentially zero.
A huge problem with the commercial virtual worlds listed above is that they ship all of your digital property, including “you”, to remote silo servers - where the terms and conditions state (somewhere) that they can do what they like with it all, including selling it and censoring it.
Internet, Web, Metaverse
I believe that the single open Metaverse is the future of the already single, open Internet and Web.
In fact, a successful Metaverse will simply be called “the internet”, just like the Web is today, because there will only be one, it will be open to everyone and it will achieve the ultimate goal of any technology: to be mundane and transparent in everyday life.
It will include everything we do digitally now, not just 3D gaming, but even chat and documents.
It can even be cast as an operating system, or at least as a platform (I’ll have more to say about that - about the “Meta-Web OS” - in future articles).
The tennis ball test
There have been many many attempts at building such a Metaverse, including ones that are open and those which make the bold claim to be the one, single technology we need (like the Web does).
But any realistic vision of the Metaverse should allow you to:
Be able to go from your home to anywhere in the virtual world hosted on anyone’s servers, carrying a tennis ball you own with you, and to be able to walk into a region there and still be able to bounce that ball on the ground; or to use it in a skittles game someone has set up.
Strange as it sounds, that is as yet unattainable in practice: there’s no (single, open) Metaverse candidate that allows you to perform this natural and obvious action!
So let’s look at solutions that are actually based on the single, open Web, to see why they have trouble passing the tennis ball test.
The Web? Not great for virtual worlds
Well, the Web isn’t actually a very good model for virtual worlds to start with.
Firstly, let’s ensure we’re clear on terminology: a “web browser” is something like Chrome running on your own device, that is also called a “client”. A “server”, also called a webserver or maybe a website, is a machine on the internet it connects to directly to fetch pages to “render”, that is, to draw on the screen.
The Web is based around a rather old model of servers shipping large documents to clients (browsers) when they demand them. In other words, it’s chunky, static and asymmetric.
The Metaverse is quite the opposite - it has lots of small, dynamic virtual world objects, including live avatars and other content that are generated by you on the client side. In other words, it’s seamless, self-animated and symmetric:
3D isn't really a natural fit to the 2D conventions and page model: a 3D scene is like a hole in a web page where everything works differently. In other words, the Web's document-based architecture with its large aggregate pages loading large chunks of hypermedia and scripting is at odds with the Metaverse's world-based one, with its distinct, smaller, live objects that you interact with and manipulate.
Me and my tennis ball, and your skittles game, form a seamless scene, not at all like a document.
The dynamic aspects of a virtual world aren't native to the Web's static fetch-a-URL model. If you point to something with a URL, the fetch of that item depends on reload - there is no automatic update when a linked item changes. This requires ad-hoc, non-standard “pipework”. To get anything interesting done on the Web, you always have to drop down from the simple model of “fetching pages” to Javascript programming and low-level plumbing back to servers, thus losing many of the benefits of the Web’s simple and powerful architecture.
There’s no Web way to capture my self-animated movements and the bounces of my tennis ball.
On the Web, a user's presence, identity and content are all second-class: they are hidden somewhere between the server and the browser with its cookies or local storage; they don’t have their own URLs! It’s an asymmetric set-up, with only server data considered first class, not browser data. In the Metaverse, people's avatars and the worlds they create will not only be first class, they'll be the vast majority of the content.
It’s not a symmetric place to grant me and my tennis ball, on a computer I own or trust, equality to all other content.
On a more trivial level, the fans spin up alarmingly while a page is open with 3D content, which a 2D page hardly ever does. Layering a Metaverse experience on top of a browser will inevitably use more resources, in a way it's not naturally architected for.
In summary, trying to implement the Metaverse over the Web is simply hijacking the browser and has little to do with the original Web's architecture.
Doing virtual worlds on the Web anyway
In spite of all that, there are still many projects that are building virtual worlds inside the current Web, including Mozilla Hubs.
The way they use the Web’s technology is to simply use lots of code (Javascript) to create 3D inside a Web page. It’s not that different to the other virtual worlds listed above except that you don’t have to download a special client, you just wait each time for the code to load into the page!
With this approach, you jump around between entire self-contained worlds - with their own huge code blobs and 3D components. So all the Web-based approaches are easy to get into at least: just go to the site or region URL.
They all follow the same basic model: places being a static or unchanging room, region or mini world, then avatars and usually property items scattered within. Mozilla Hubs has a way to import and share media property items and their URLs through drag'n'drop.
So, they’re certainly open and inherit the Web’s singular nature, but don’t carry that through because every site, and sometimes every region within a site, is isolated from every other. And thereby they are also not seamless of course: you can’t just walk from a room on one Hubs server to another, and certainly not from Hubs to another technology. Often just moving from region to region within one of the already isolated worlds is equally jarring.
All their animation aspects are handled by custom code and pipework, which is different for each attempt at “Metaverse-on-the-Web” - there’s special Hubs code for that, for example.
Of course, there’s no native Web-based way to own and re-use your avatar or “inventory” everywhere (because users and their own data were an afterthought on the asymmetric Web), so again, it’s custom-built per-site, and you have to trust that site with your stuff.
So, within Hubs, or any Web-based system I’ve encountered, you can’t just pick up an object like our tennis ball and take it to another room on another server to bounce it there.
Take the Web’s best bits
So the Web isn’t great as a basis for the single, open Metaverse we want.
But before discarding the Web, let’s at least see what makes it singular and open, in case we can keep that.
What the Web’s model offers us when building the single open Metaverse is:
anyone can set up a webserver; no-one owns the Web
or decide which webserver provider they trust with their digital property
all webservers can link together with their URLs
URLs can be used to refer to stuff on other sites
you can share stuff by their URLs
all webservers talk the same open language
so they can all run the same code if they want
so you also only need one browser to go anywhere
The Web is a global architecture of networked computers that is open and decentralised, allowing anyone to offer content that extends the single global fabric of webpages and images. The Web runs on multiple servers run by different people, linked together with URLs. URLs give us a handle on all of our tangible digital property on any server, and that property can be understood by anyone on sight.
The Web is sewn together with URLs, or links, so perhaps we can also sew our single, shared Metaverse together with links in the same way.
Now, with our would-be Metaverse links, any linked world object we encounter can be hosted anywhere in the world because a link tells us how to fetch it. At the end of any link is world data that’s in open, common formats that everyone uses, so when it arrives on our device the code can understand what it is and slot it into the scene with the appropriate render. This means everyone can run the same generic (hopefully open source!) code.
What if we take just these bits from the open Web and upgrade all the rest, to get a Web-like, open, single Metaverse technology - will that pass our tennis ball test?
The Metaverse Web upgrade: the Meta-Web
So based on just this core part of the Web’s architecture, we can now start again to build our new single, open Metaverse. We first need to upgrade all the other parts of the Web that were listed above that make it unsuitable for virtual worlds. Then it will succeed in our tennis ball scenario.
As described above, the Web is designed throughout to work for browsers to fetch big static documents from servers when the user decides. We need our new Metaverse Web to be:
seamless (lots of small virtual world objects of various types aggregated and linked up into full scenes)
self-animated (you see changes to an object as soon as they happen)
symmetric (the user’s avatar and all their locally-created content are primary, not an afterthought, so can also have their own links or URLs!)
Call it the “Meta-Web”, the Metaverse upgrade to the Web!
It will be open like the Web and form a single, global space like the Web.
Links that sew our Metaverse seamlessly together
We will just take these links and use them everywhere for everything! We’re going to use them to mash up all of our shared stuff in the Metaverse. These links can sew the entire Metaverse seamlessly together.
We will give literally everything in any scene a unique link: including your avatar and each clothing item you’re wearing, and that tennis ball; including each wall of every room and each picture on every wall, the skittle alley and each skittle. There's no distinction between the fabric of places, property or people.
Even if an object is on different servers, the links will still work and the scene can be assembled. There may be items in a room from all over the world, sewn together seamlessly, and the entire Metaverse will be a continuous space made up of all our own spaces linked together.
The things at the end of each link can be "leaf” level of detail, as well as “tree” or up to “forest” level. You can grab the link as a handle on anything you see at any level of detail (leaf to forest) for reuse in any other context. If two people are using the object via its link and the object is changed, it of course changes for both of them.
Everything that you see can have a unique link that can be used to refer to it and to find it on its host device:
If I have the link to a photo on your device that's on the other side of the world to me, and you give me permission to see it, I can pin that photo to my own gallery wall, for others to see there.
Even a single leaf on your tree has such a link, so can be pinned to any other tree owned by anyone, or pasted inside a virtual scrapbook.
Your skittle alley can link to your skittles, and to me and my tennis ball
There are many more examples in my previous article “Mashing it all up”.
Links can be used to seamlessly sew the entire Metaverse together, across the planet.
Links for behaviour and self-animation
Our links will point to dynamic, self-animated virtual world objects, including to and from each other’s live avatars. In fact, there will be a link from your avatar to the object you're looking at.
But this isn’t a link like the ones described above for structuring the world. It’s about one world object knowing about and watching another.
Now, when my avatar views yours, it can keep track of your behaviour through such a link. When I’m no longer looking at you, I can stop drawing in the avatar updates that were visible through it.
Thus links will be set up between world objects that aren't necessarily directly physically connected within the scene, but which are inter-dependent in some way.
Links aren’t just useful for structuring the Metaverse, but also for allowing one object to watch another that it links to. This can be applied across many types of object:
A door may link to a doormat to see if someone is standing on it (another link, to their avatar!) and to open automatically while they’re there.
A virtual light could have a link to a virtual light switch that’s controlling it.
A skittle links to the incoming ball so it knows exactly when it’s hit
Of course all of the above links determining behaviour or observation between objects work across the internet - including between my ball and your skittle alley.
Predictable and customisable behaviours
All objects can have such behaviours or internal self-animation. An object of a given type will behave in a predictable way. In other words, “if it looks the same it is the same and will behave the same”. If it looks like a ball, it behaves like one. (However, note that this behaviour of an object may be affected by any other objects it links to and any configuration properties you’ve set on it.)
Further, any object or object type can have its behaviour customised by simple spreadsheet-like rules. In a similar way to a spreadsheet formula, these rules can determine the latest state of a world object according to the states of objects around it that it links to.
Links that point symmetrically
So now our avatars and “inventory” (like our tennis ball) and all our creations can have their own first-class Metaverse links!
The actual hosting of our stuff can be either server side or client side: we can set it up that the client pushes it constantly as it changes to our trusted server, or we can run “peer-to-peer” and arrange for direct access between our clients. All that matters is that we expose our stuff with links somehow.
Now we can choose hosting for our contributions to the Metaverse that we trust or own, and can become equal publishers of content to everyone else.
We can all co-create a single open Metaverse that spans servers across the planet.
Conclusion
I started with the definition of the Metaverse as a “single, immersive, social virtual world, parallel to the real world”.
It has not been built yet in a way that can support even the most intuitively obvious scenario - the “tennis ball test” - on either closed systems or on Web technologies.
I showed how upgrading the Web’s design and rebuilding around that allows us to create a single, open Metaverse that passes this test.
I call this the “Meta-Web”.
Instead of a Web that’s “chunky, static and asymmetric”, we can build around a new “seamless, self-animated and symmetric” Meta-Web:
Meta-Web objects are seamlessly sewn together into a single Metaverse: all of our digital pieces, every world object, down to the finest detail.
Meta-Web objects are self-animated and mutually-dependent or observing, with behaviours and interactions with one another, including our avatars.
Meta-Web object links can point at and between all of our digital stuff - including our avatars, inventory and regions - symmetrically across trusted servers or ideally, directly between our clients.
This pervasive use of mashable, linked objects to build the Metaverse will both dramatically simplify the experience of using the Meta-Web and empower people to co-create unlimited, connected worlds within it.
This creates a Metaverse where you won’t even know you’ve walked from one server to another carrying your tennis ball, bouncing it where-ever you like.
Welcome to the Meta-Web!
I’m publishing articles on this site as I build the Meta-Web - or the Object Network as I also call it. So please do subscribe to keep up-to-date with progress!
Epilogue: The Web evolved by its creator: SOLID
The inventor of the World Wide Web, Tim Berners-Lee, has actually fixed some of the issues with his Web that were noted above, in a project called “SOLID”.
SOLID is focused on small data chunks, not big documents, that are hosted under the user’s control, rather than the user and their data being an afterthought, and has a notification system, so it’s more dynamic than constantly hitting refresh.
So that would actually be a better place to start if you really wanted to keep using the old Web technology for the Metaverse:
You’d have a universal Metaverse script loaded and saved into the browser, that can render SOLID’s data in 3D.
Then you need what in SOLID are called “Pods”, for each of us to store our own bits of world data.
And you’d use the notification system to share world updates, and run server-side scripts to animate world objects.
You’d build the shared world from all our personally-owned Pod data, sewn together with Web URLs.
No-one has talked about building the Metaverse over SOLID as far as I know. In fact, a merge of Mozilla Hubs and SOLID would be a very interesting project! (Technically, that would amount to replacing glTF, avatars, and all other scene elements with URLs to small Linked Data JSON objects across multiple Pods.)
Personally, I think it comes with far too much legacy baggage, and instead I’m researching all of the simple and powerful technologies that I’m discussing here, to start again with a clean slate.
Subscribe right here to keep up-to-date with this project: