Blending Realities: Building An Open Web Wide World

This page contains a video recording of the presentation made during the breakout session, along with a transcript. Video captions and transcript were automatically generated and may not properly translate the speaker's speech. Please use GitHub to suggest corrections.

Table of contents

  1. Video
  2. Transcript

See also:

Video

Transcript

rocman: I'm going to show you
… the web wide world, how it can work, like web developing, when using our development tool to help.
… Scan the code and it will run in the app in the phone.
… And the logs will print on the
… laptop.
… And you can change the code, that will
… finally reflect in the
… phone.
… What we've just done here is change the floor into green.

rocman: So creating a world is just:

rocman: scan the QR code and open it in the phone,
… just like web developing.
… And you can use the inspector to inspect the virtual world.
… You can see some concept
… site and program
… in the virtual world, which is, we will introduce later.
… And here the source test.
… And now let's dive into the world construction section. We are focusing on 2 main goals, autonomy for business and seamless integration for users. On the business side, each entity has the freedom to develop, deploy and maintain their systems independently.
… This decentralization ensures flexibility and scalability without affecting others.
… On the user side, it's all about a smooth experience.
… Single sign on, consistent navigation, and unified sessions across different sites. Users feel like they are interacting with one cohesive system, even if multiple independent businesses are involved behind the scenes.
… The challenges we face include managing versions, integrating a cross-site contracts, ensuring assets follow common standards, like glTF and
… MaterialX,
… and handling multi user interaction smoothly. We are also working to ensure that runtime standard and permissions are well defined and interoperable.
… This approach allows a modular, flexible web environment, that can grow and evolve while keeping a unified user experience.
… This slide introduces the basic concepts of the web wide world.
… Each world module consists of a collection of sites and services,
… accessible by users from various platforms.
… The modular structure allows for scalable, flexible environments where new services and functionalities can be easily integrated.
… Each world module represents a technological investment by an
… organization within it. There are multiple sites,
… like this coffee shop,
… which users can visit to experience specific services.
… Here we have the office building site,
… Sites act as service integrators, connecting users to different functionalities, such as information systems,
… virtual offices, and other tools relevant to the environment.
… Users engage with these sites through integrated programs. For example, at coffee shop, users can interact with a casual NPC to
… place orders, enabled by program number one, which
… simulate real-world interactions.
… The ads system displayed here is an example of program number 2. It
… integrates advertising functionalities, allowing digital screens in the environment to promote products similar to real world billboards.
… Here we see a summary of the previous examples.
… Each of them, whether it's a site like the coffee shop, or office building, or program, like the casual NPC, or ads System, is a world module.
… These modules combine various functionalities to create cohesive virtual experience.
… Ultimately the world module structure allows
… for flexible development by adding new modules. Whether it's a site or program, you can expand the virtual world seamlessly.
… This module approach
… allows for easy integration and updates, ensuring an engaging and dynamic dynamic experience for users. Inside of a world module you will find various elements that define the user experience. These include world object model elements, such as a
… character, the UI for purchasing, or the textures of objects. Additionally, there are asset files that
… handle things like NPC models, scene models and interactive scripts. These components work together to build the runtime environment, ensuring all functionalities within the world module operates smoothly.
… In this diagram we explore how multiple independent sites, like coffee shops,
… office buildings, and business quarters, can be integrated through contacts. On the left the sites are shown flattened, meaning they exist separately, without any hierarchy or relationship. On the right, we introduce a more structured system
… where these sites can connect through contacts.
… This approach allows different locations to manage their operations in sync, creating a larger cohesive environment.
… For example, contracts can
… define how spaces like hotels and business districts interact.
… We even plan for unreachable areas
… where maintenance isn't needed to save cost.
… Here comes an example. We focus on 2 specific sites, a coffee shop and an office building.
… Both are now connected through a contact,
… allowing shared operations and resources.
… The images demonstrate a virtual environment when these sites coexist.
… The coffee shop offers a service space for users, while the office building provide a business hub.
… By linking these sites, we create a more integrated user experience within the virtual world. This system can be scaled to
… incoporate with other types of space,
… such as office buildings or business quarters,
… through similar contacts.
… In this diagram we show how URIs are used to define the scope of elements and assets within a virtual world.

rocman: The URI, such as world: //some.domain/path/to/some.site/ points to an origin, which is the scope

rocman: encompassing all elements and assets related to that site.
… Elements like characters, UI components, and textures, as well as assets like models or scripts, are organized within this scope.
… Each has its own URI, but they
… all share the same origin, ensuring
… consistent management and structure.
… The origin provides a clear boundary for tracking and organizing these resources effectively. On the right, the runtime scope shows the active elements, like
… a character or a purchase URI.
… While deployment scope focuses on asset live models and scripts. By
… associating everything with an origin through URIs, developers can maintain a well-defined structure across both runtime and deployment layers.
… In this section let's take a look at how sites manage their spatial rights. Each side can be divided into smaller cells,
… allowing the transfer of rights to the other sites.
… This approach supports
… operations like leasing or selling virtual space efficiently. The foundation of this process is the contract
… which ensures that
… these transfers are
… technically secure.
… There are 4 contract modes that govern how contracts are maintained. We'll talk about them in detail later. By breaking down a site into manageable size and regulating this through
… contracts, we enable a flexible and scalable framework for managing virtual space.
… And here it shows how we decouple a program and sites. A program can be
… a cross-site and reusable service.
… It can
… exist independently, so provide some independent running service like independent NPC, 3C, shared economy, communication networks. And it can provide some reusable multi-site solutions, like stage and event hosting, shared gameplay.
… And also it will be about contracts to make sure the
… connection between
… program and sites.
… The creation of element objects relies on a factory
… which is represented as an asset. To generate an element we first need to fetch the asset that represents the factory.
… This requires routing from the factory URI to the asset URL, allowing us to retrieve the asset over the network. Once we have the asset, it functions as the factory that can create the element object.
… This two step routine process ensures efficient asset management and deployment. After acquiring the factory asset,
… the routine proceeds by creating elements from the element URI.
… This process allows us to map the element's URI, to the factory's URI,
… ensuring proper linkage between different layers of access. Furthermore, decentralized routing
… ensures
… each origin maintains control over its resources with independent routers, handling the routing and asset management for their respective origins.
… During deployment the router of origin determines the routing for both elements, and assets,
… with step to deploy new versions while keeping the old files unchanged.
… The key challenge lies in coordinating the router switch and managing other origins and visiting user during this transition. We will discuss this
… in detail later.
… Each origin can independently manage and iterate its own content.
… World
… versions are periodically
… updated,
… for example every 10 min, allowing different oranges,
… allowing different origins to
… coordinate and ensure that their iteration
… align in the same world version. For example,
… in world version number 2, both origin A and origin B independently release iteration A2, and iteration B1. After coordination, both origins confirm that their iterations provide the expected content, which will make effect together
… under the shared world version. Each origin uses a service to retrieve the correct router for the specific world version. Allowing for seamless integration and deployment of updates.
… This approach
… ensures flexibility and independencies
… while maintaining a unified experience across different origins.
… And here shows the permission controls.
… We use some
… structure to define how
… programs or sites do
… share the permission to other world modules.
… In module development, ensuring the right of different modules is critical.
… We have explored 4 contract maintenance modes to secure this right.
… The first one is solely maintained by the grantor. The grantor controls the contract and the claim request is right.
… This approach is simple, but requires trust in the grantor. And the second one is
… jointly maintained by Grander and Claimer. Both parties must agree on the contract to be valid.
… Claimer can deploy encrypted contracts and Grantor verifies them, using shared keys. Either side can revoke the contract, if needed.
… And the 3rd one is maintained by a certified 3rd party.
… A trusted 3rd party manages the contract, enabling ensuring fairness between Claimer and Grantor.
… And the 4th one,
… maintained on decentralized system,
… something like NFT.
… Contracts are managed on a decentralized platform, ensuring transparency and preventing tampering without relying
… on central authority.
… Each mode offers different levels of control and security, so developers can choose the best fit for their projects based on specific needs.
… And here is about the multi user interaction. I will show you a demo case.
… Firstly, we divide the space into 3 parts.
… You can see the green part and the
… blue part.
… They are based on different servers, and users can migrate from one server to the other server.
… And everything looks seamlessly.
… With this technology, we can build a very huge world.
… And here's the structure. We use a a pub-sub service.
… Users
… update their state to the pub-sub server,
… and users can
… add some area to their so-called area of interest,
… and then get the state.
… At last, we'll try to answer a question left about the version management and multi-user
… interaction. World version will be logged when a user is visiting a site. For new users to the site, he or she will be served on servers with the latest world version, which means everything will be okay, and most users will come and get together.
… And for all users on the site. First of all, I think they will leave the site sometime later, and then
… when the system gets to know the current world version
… on the client is out of date,
… it will notice the users.
… And even later, if the user still stays, then they will be noticed to refresh and return to the site as a new user.
… And also we can see there are some auto-updating
… world version methods.
… There would be an opportunity to update the world version when a user is migrating from one site to another site.
… And sometimes it is okay to update the world version to the latest without any problem. If the assets stay unchanged.
… Okay? And here goes
… Harry.

Harry Wang @ Tencent: This is the last page of our presentation. We are calling for interest and your participation
… from the web tech community. So we think of the open wide web wide world as 4 levels. The core is the building blocks and the standard APIs. And then we
… can build the openly virtual world with these building blocks
… and integrate the business concept and collaboration, and based on that, we can
… build the web-based ecosystem together as we described. Thank you, I think that's all. We are open for questions.
… Thank you.