We stand with Ukraine
Go Wombat logo

Server Architecture Powering Spatial Computing Experiences

Article by

Updated on December 1, 2023

Read — 7 minutes

What constitutes the backend of an application?

Most business applications need a backend: the part of the app that users don't see but that makes it work. It plays three roles:

  • Storage Room: It stores all the data the app needs, like user profiles, posts, and messages.
  • Decision-Maker: It applies the app's rules. For example, when you log in, it checks that you are who you say you are.
  • Messenger: It helps the app talk to the internet and other services, like sending your pictures to your friends or getting the latest news.

A backend also protects your intellectual property: your most valuable algorithm (an AI model, for example) can run on a server that users cannot access directly.

Not every app needs one. A calculator or an offline single-player game works without an internet connection.

How are 3D/AR Apps different?

A 3D or AR app backend does everything a traditional backend does, plus a few extra jobs. It may need to handle spatial data, real-time interactions and delivery of virtual objects. It manages user permissions across AR headsets and mobile devices, has to scale for multiplayer sessions and may collect analytics on how users interact in space.

Features specific to Spatial Computing Experiences

Persistence in the cloud

Many apps store user data in the cloud. A 3D or AR backend also stores spatial data: the coordinates and orientation of virtual objects, the user's position, the positions of other users in a shared AR session, and where virtual assets sit in the 3D scene.

Dynamic content loading

3D and AR apps often download 3D models, textures and other assets from the server. Take a marketplace that lets users see how a product would look in real life: the catalogue changes often, and asking users to update the app every time a product is added or removed is poor UX.

3D models, with the materials and textures needed to render them, are heavy files. The backend has to store and serve them so that they load quickly and render smoothly.

Users synchronisation

When several users share the same AR scene, each of them has to see the same virtual objects and the other users' actions in real time, so the backend has to push updates to every participant. For example, the AR game Pokémon GO lets players catch Pokémon placed in the real world. All nearby players must see the same raid bosses and Gym states at the same moment, so the server has to keep that shared state consistent across everyone in the area. With many users receiving real-time updates, backend performance is critical.

Device adaptation

Apps often target several platforms: iOS and Android phones, AR headsets and VR devices. The backend has to support all of them and keep the experience consistent.

Hardware capabilities differ between platforms, so the backend has to optimise data transfer for each device to deliver the best quality it can run smoothly.

Each platform usually has its own software development kit (SDK) and APIs, with different data structures and approaches, and the backend has to integrate with them. Platforms may also have different requirements for 3D models and assets, so the backend has to deliver the right version of each asset to each platform.

Multiplayer sessions across platforms are harder still: the backend has to sync real-time updates between users on different devices and adapt the data to each platform on the fly.

Go Wombat builds backends for 3D and AR apps as part of its spatial computing development services.

Schedule a consultation to discuss the backend for your 3D or AR app.

Related articles

How can we help you ?

How can we help youHow can we help youHow can we help you