8th Wall Blog

Solving XR’s biggest development challenges: Why we built the 8th Wall Cloud Editor

8th Wall equips developers with powerful tools to create extraordinary reality content

nicholas-butko
Dec 12, 2019 . 7 min read . Announcements
Solving XR’s biggest development challenges: Why we built the 8th Wall Cloud Editor

8th Wall equips developers with powerful tools to create extraordinary reality content. With 8th Wall Web, we expanded the reach of AR technologies and lowered the friction for end users. We spent the last year helping content owners create their reality and find their audience. Developers stepped up and created so many web experiences that people really love, with half of users spending more than two minutes engaging with each WebAR experience.


We listened to our developers about all the unique experiences they envisioned, and we learned that they each were slowed down by similar hurdles that were unrelated to the concepts they wanted to deliver. These hurdles are common to all web development, but are felt more acutely by XR developers: remote device development and debugging; collaborating across teams, companies and locales; scaling small projects to big ones. To meet these needs, we built 8th Wall’s Cloud Editor, an XR-first web developer suite focused on devices, collaboration, and future scaling to make it easier for developers to focus on the XR apps they want to build.

We started with the recognition that if we give developers a tool that is unrestricted and has as few limitations as possible, then they will take it farther than they ever expected. In the end, we built a cloud-based code editor that is an unopinionated, professional-grade tool for rockstar developers that is also approachable for novices. It is unlike any other tool for XR development, and it is by far the most powerful. I’m very proud of the engineers on the 8th Wall team. This might sound a little biased, but the Cloud Editor is so good that after a few months of using it internally, we find it frustrating to use anything else to create immersive web content!

Device First

Immersive tech is physical: mobile AR ties interactions to your phone’s movement through space; VR and AR headsets move with your own physical body. It’s difficult to replicate immersive interfaces on a laptop.

Most modern web APIs require JavaScript to be served over https before you can access them. Browsers typically make an exception for localhost to facilitate desktop development, but testing code on a phone or headset is harder. SSL certificates and access restricted local network configurations are a constant headache for device-only development. A lot of our documentation and support inquiries at 8th Wall are about setting up local development environments, when developers wish they could just dive into AR!

Image for post
Connect multiple devices to the Cloud Editor to instantly preview your code changes.


The 8th Wall Cloud Editor improves device-only development by giving developers a secure, hosted development sandbox. From the moment a project begins, work-in-progress is hosted securely and served with https, unlocking the power of all web APIs. Access to development code is controlled by secure tokens gated by login access. QR codes give rapid entry to secure device testing, and fast server-side builds with on-device hot-reloading power fast iteration, debugging and tuning.

Debugging web pages on mobile devices frustrates even seasoned developers with its moderate to severe complexity. In the best case, developers need to navigate to special developer tools after physically tethering a device to a computer. Testing room scale XR experiences requires untethering, which multiplies the recurring debug session startup cost. Worse, some browser consoles will lose all their logs as soon as an error occurs! Web views in third party apps can be a particularly difficult case, with no debugging visibility at all.

Image for post
Fix bugs quicker by viewing device logs and inspecting state from multiple connected devices.


The 8th Wall Cloud Editor adds tooling to development builds, streaming browser logs directly to the developer’s editor, regardless of browser, device or view type. Developers can inspect and interact with the state of their app on their mobile device directly from their desktop editor. There is no need to tether or open special tools.

Collaboration First

Our customers’ XR projects are highly collaborative. A single project can involve content owners, developers, designers and artists across multiple brands, studios and agencies. As a new medium, XR brings new challenges in interaction design, rendering, and app performance that put increased value on collaboration. Many XR project deadlines are tied to real world events with fixed dates, and timely execution is critical.

Image for post
Invite unlimited team members to collaborate through workflows optimized for rapid contribution.


8th Wall’s Cloud Editor facilitates global collaboration with teams of unlimited size. Collaboration is powered by 8th Wall’s custom source control system, g8. We built g8 internally to increase our engineering team’s productivity by optimizing workflows that support rapid contribution. For the Cloud Editor we compiled the same custom source control system directly into the browser, backed by offline editing, multithreading, and push notifications to notify you when teammates land code, so that you can sync early and minimize the chance of merge conflicts. With g8, a 3D artist at a studio can easily add artwork that a developer at an agency can incorporate, and multiple developers can trouble-shoot or coordinate across multiple time zones to push projects forward faster.

Where collaboration speeds up XR projects, unneeded coordination can slow them down. An agency might build and deliver an app only to find they still need extensive coordination with a brand’s web infrastructure team to host the app on the brand’s website. XR projects require complex cloud infrastructure deployments for syndicating large assets, models, textures, videos or holograms to the edges of the internet with CDNs, and careful configuration of CORS, origin restrictions, caching policies and invalidations. It can be challenging for infrastructure teams to prioritize the work in time to support a time sensitive activation.

Image for post
Test new changes on a private staging site, then publish instantly.


8th Wall’s Cloud Editor empowers creative teams to directly manage hosting, publishing and maintaining XR activations in the same way they manage videos, blogs or social media content. The build system handles asset distribution to CDN and atomicity with app distribution. The publishing system is built to instantly deliver updates while maximizing end user cache performance. Campaign management tools help manage the full lifecycle of a campaign: publish indefinitely or for a fixed schedule. If desired, connected domains allow a lightweight IT integration to alias a brand’s sub-domain to content published with 8th Wall.

Publishing posts, blogs, and videos to the web is easy, but publishing web pages to a company’s website can involve lots of organizational approvers for both initial launch and critical bug fixes. This can lead to delays in launches or bugs that persist long after they’re fixed. The 8th Wall Cloud Editor lets you stage changes on a passcode-protected site so you can still get approval and sign off from relevant stakeholders without involving the whole organization. When you’re comfortable, you can instantly publish changes, whether to launch, fix bugs or add new features.

Future First

XR is a new frontier, so we designed the Cloud Editor to power a limitless future. Many web development examples (including our own) are organized and distributed more like web pages than web apps: they are loose collections of related files that are served separately and assembled by the browser. Projects that start in this way become difficult to maintain, grow, and evolve over weeks and months of development. It often seems excessive to structure a small example project as a web app to start, but the larger projects grow, the harder it is to refactor them later.

Image for post
Cloud Editor projects are designed to be easy to maintain and grow.


The 8th Wall Cloud Editor gives developers the power of web apps with the simplicity of web pages. Every project starts with an arsenal of built-in capabilities: build system, type checking, modern language extensions (jsx, scss), asset management, transpilation, optimization, and minification. The remaining application code that developers need to manage are even smaller than a standalone web page. Paradoxically, this added capability makes getting started simpler while enabling projects to grow much faster and farther.

Every 8th Wall Cloud Editor project is a single page app with optional client side routing. We designed the Cloud Editor to get the benefits of single page apps while avoiding their costs. Atomic versioning and a single developer JavaScript bundle means users always have a coherent and up to date view of an app including its assets. We avoid monolithic JavaScript bundles by sourcing external dependencies from CDN for better caching. Our asset pipeline allows for builds to be fast while making asset downloads optimally cacheable.

Image for post
8th Wall’s Cloud Editor supports many rendering and application frameworks.


The 8th Wall Cloud Editor provides a framework for applications, not an application framework. Developers can leverage common application frameworks like React and Vue, or bring their own. Developers can choose their own renderer (AFrame, three.js, babylon.js), and even customize keybindings. We provide syntax highlighting, error checking, auto-completion to make it easy to write more code.

With the 8th Wall Cloud Editor, coding is not required, but it is optional and encouraged. A few months after we launched 8th Wall Web, we introduced AR Cameras as an easy interface for quickly publishing customizable 3D model viewers. We found that the interface-based development approach was too limiting for creators, they quickly wanted to play outside the boundaries of any sandbox we created.

With Cloud Editor you can make small projects, or big projects, or continue to add features to small projects until they get big. With no code, you can start from a template project, import your own 3D model and publish globally. With low code, you can edit AFrame HTML and tweak CSS style and create a unique app unlike any other. With more code, you can create custom JavaScript libraries, components, and shaders, add client side rendering and routing, or even add your own analytics and tooling to push the boundaries of what’s possible in XR. It’s your domain, it’s your web app.

To Reality and Beyond

With the Cloud Editor, the 8th Wall team set out to make it easier and faster to create richer and deeper XR content to reach more people. We focused on the specific needs we saw from XR developers, with the goal of creating tools that are powerful and empowering. I’m very proud of the engineering team that stepped up to the challenge. The result is a tool that I love to use because it is easy and solves real problems. I can’t wait to see what gets built with 8th Wall next.


We are hiring for engineering and other roles. If you love what we do and want to help us build powerful tools to create extraordinary reality content, check out our jobs page. 💼

* * *

Nicholas Butko is the Director of Engineering at 8th Wall. When he’s not reading stories to his kids, he’s leading the development of innovative technologies that empower creators to make extraordinary reality content.

nicholas-butko

Written by Nicholas Butko

VP of Engineering, 8th Wall

Explore More Topics