Why Did Mozilla Hubs Fail to Spread? How Will XRCLOUD Change Things?

Luke Metaverse worker (Belivvr CEO/CTO)
BELIVVR(EN)
Published in
6 min readMay 24, 2024

Hello, this is ForestStory. Or should I say Luke the BELIVVR? I’m still figuring out my pen name since I need to manage both Korean and English postings.

When announcing the termination of the Mozilla Hubs service and the disbandment of the team, we mentioned that we had pursued an open-source project proposal from the Korean government (National IT Industry Promotion Agency) but failed. That proposal included plans for improving the existing weaknesses of Mozilla Hubs.

I decided to reveal the weaknesses of the Mozilla Hubs project and the direction of XRCLOUD before the complete shutdown of the Mozilla Hubs service on May 31st. This way, we can gather opinions from developers worldwide who have worked on Mozilla Hubs.

The following content is a summary of discussions with our former internal team members and not just my own thoughts.

1. Weaknesses of the Mozilla Hubs Project

Hipster Language Elixir
  • Integration Issues in the 2D/3D Frontend and Backend Source Structure: The Hubs code is most notable for its 3D based on A-frame, but it also includes 2D code. Unlike recent modern projects, the backend is not separated, resulting in reduced code flexibility and difficulty in recruiting developers.
  • Simultaneous User Limitation: The admin service of Hubs had a user limit of 40 people, but field tests showed a limit of 25 due to WebRTC issues on Android and bandwidth overflow problems on the WebRTC server that mediates all users’ voices and action events.
  • Limitations of the Spoke Editor and Blender-Based Creation Tools: The web editor Spoke is the main feature of Hubs and has contributed significantly to its spread through educational programs. However, poor management of the Spoke project led to many bugs, and it lacks high-level service capabilities like game engines. There is an ongoing project to replace Spoke with a plugin for the open-source graphics tool Blender, but this sacrifices ease of use for lightweight users and web content managers. Additionally, the separation of source between the editor and the player leads to quality and functionality differences during creation and play.
  • Difficulty of Entry Due to the Use of Phoenix-Based Reticulum Technology: All events in Hubs are managed through a separate web server developed for Hubs called Reticulum, a derivative of the Phoenix web server project using the non-mainstream languages Elixir and Erlang. This poses a significant barrier for developers participating in the open-source project, hindering project understanding within Believer as well.
  • Inability to Implement Games Due to Lack of Turing Completeness: Many metaverse projects started with games and were compared to them, causing hurdles in spreading due to inferior comparative advantages during the metaverse boom.
  • Subpar Graphic Quality: WebXR projects are often criticized for their weaker shader engines and effects compared to powerful game engines.

2. Current Status and Future Plans of XRCLOUD by Issue

2.1 Integration Issues in the 2D/3D Frontend and Backend Source Structure:

Completed:

  • Developed a wrapping API project called XRCLOUD, and separated projects using XRCLOUD into Nest.js backend and Next.js frontend to increase flexibility and elevate functionality to the level of a basic CMS like WordPress. All projects are virtualized with Docker and managed under a separate project called Hubs All In One, making development and deployment easy for novice developers familiar with frameworks.
  • Developed an iframe web browsing area in the 2D layer to exchange data with the 3D area, significantly enhancing interoperability between existing web platforms and 3D metaverse spaces, although it currently doesn’t work in XR environments.
  • Outsourced project development to partners with the Nest.js and Next.js backend and frontend code organized and provided to them.

Future Plans:

  • Organize backend and frontend code.
  • Integrate 3D assets in 2D web browsing areas for XR experiences, with potential success reported by partner developers placing iframes within 3D spaces.
  • Open-source or integrate the service layer source into the XRCLOUD dashboard, potentially raising service levels to WYSIWYG for more beginner developers or users, though not currently a direction pursued due to resource limitations.
XRCLOUD CMS Admin, made by BELIVVR

2.2 Simultaneous User Limitation:

Completed:

  • Solved bandwidth issues by restricting all users from broadcasting voice, allowing for increased simultaneous users, verified by the completion of the hubs-bot project for easier testing, tested with up to 110 users as of April 2024.

Future Plans:

  • Conduct field tests with 65 users at partner content company Time Education next week, with plans for a bot test with 1,000 users to save costs.
  • Separate and scale WebRTC server layers as a fundamental solution.

2.3 Limitations of the Spoke Editor and Blender-Based Creation Tools:

Hubs vs Viverse

Completed:

  • Improved Spoke editor functions for more accessible user access and business focus.
  • Assessed the primary issue as the bifurcation of editor and player code, suggesting the necessity of enabling creation within Hubs player like a sandbox game.
  • Guided users to place various objects, including 3D glb files, within spaces and introduced a pinning feature for room hosts.

Future Plans:

  • Simplify the pinning UX (expected low difficulty).
  • Enhance UX for placing and moving 3D objects within spaces, with plans to implement this via a 2D side view, potentially benchmarking Unity’s WebGL space service Viverse.
  • Develop a merge function for 3D objects to reduce overlapping area waste compared to Voxel creations, expected medium-high difficulty and lower business priority.

2.4 Difficulty of Entry Due to the Use of Phoenix-Based Reticulum Technology:

Completed:

  • None, only identified issues.

Future Plans:

  • Replace Reticulum with a more popular project (expected high difficulty).

2.5 Inability to Implement Games Due to Lack of Turing Completeness:

Completed:

  • None.

Future Plans:

  • Continue efforts to achieve Turing completeness through the BGs project, which will proceed autonomously after the service ends.
  • Integrate BGs project monitoring and source into XRCLOUD.

2.6 Subpar Graphic Quality:

Completed:

  • None.

Future Plans:

  • None, monitor developments for a while. The problem is expected to be resolved by advances in web platform technology and the integration of graphics technology with hardware through projects like WebGPU and Wasm.

3. Tasks for XRCLOUD

3.1 Stabilizing Multi-Tenancy Structure and Preparing Subscription Payment Systems:

  • XRCLOUD needs a multi-tenancy structure to efficiently manage and isolate 3rd party resources as a SaaS service, essential for subscription or usage-based billing.
  • Current team disbandment emphasizes the importance of business viability due to exhausted funds.

Completed:

  • Divided a single Hubs ID into multiple XRCLOUD IDs and isolated different user resources.

Future Plans:

  • Stabilize the multi-tenancy structure and prepare subscription payment systems.
  • Quickly commercialize once the source is fully understood and problems are resolved to scale up the business.

3.2 Establishing AI-Linked Service Structure with XRCLOUD:

  • Combining metaverse and AI is a major interest area, with various projects actively promoting this integration. AI characters learning and interacting in the metaverse space is a crucial aspect.

3.3 Responding to Next-Generation XR Devices like VisionPro:

  • Future-proofing for next-generation devices is necessary. VisionPro currently operates in mobile mode. While hoping other developers address this, it may become a personal project to ensure XRCLOUD’s future.

We hope our analysis and disclosure will aid the improvement of Mozilla Hubs’ open-source direction and invite feedback from those interested in web-based metaverse projects like Mozilla Hubs and XRCLOUD.

Thank you.

--

--