How to create Spatial Apps? PS- It's not that difficult

By
Puneet Badrinath
April 19, 2024
4 min read

Virtual Reality 101 - Let’s create a spatial app

I’m shifting gears to talk about creating spatial apps for the next few posts, away from consuming spatial apps and user challenges. Over the last few posts, I’ve talked about user challenges from wearing a VR headset to launching an app and interacting in the virtual world. This is a good point to segue on how these apps are created.

Creating a spatial app? Does this make you clueless with a strong feeling of gross incompetence? This is normal and expected. Today’s tools require that you own a GPU machine (that gets obsolete every 6-24 months) or have GPUs on cloud, learn programming, learn to make or purchase 3D models, rig up a scene every single time, make changes, compile, build, view, and repeat this cycle for each device, each OS and for different device form factors. Of Course this takes a lot of time, effort, and experience to get right. Folks who do this for a living are professionals working for triple AAA game titles, blockbuster Hollywood movies, and cutting edge design simulations. These jobs are critical for the world economy and there will continue to be demand for the foreseeable future.

In our best estimate, this is no more than 0.05% of humanity. And the rest of us are kept outside of the spatial app ecosystem because of this high barrier to entry. Especially if we want to do simple things like give 3D experiences for our customers, teachers creating educational material, doctors using 3D for communications training, etc. These should not require an additional 3- or 4-year full-time university degree to enter the haloed club of creators.

Ideally, we need every person to create their own spatial apps/worlds, but considering most of them will not want to, at least a bigger chunk of humanity (more than 0.05%) should have access to creating spatial apps without picking up specialized skills with the skills and tools they have already acquired.

Enter no-code + browser

  • No-code - it’s drag-and-drop, no programming skills, and easy-to-use.
  • Browser - runs on everyday computers, no installation, and get started immediately.

Notice I talk about no-code and browser, not specifically the input mechanisms (keyboard/mouse, touchscreen, or hands do not matter). These are independent of the device form factor, operating system, and the hardware configuration. For the sake of simplicity, I will use laptops as reference - it’s easy to understand and we are used to laptops for close to two decades.\

To create a spatial app, like any other app, you need the following:

1. Content

- since spatial apps are known for 3D content, let’s stick with that. 3D models are just like images with various formats with an extra dimension. Here are some types:some text

  • 3D meshes/3D models - there are many open source and proprietary formats, each of them have their own benefits, Some of the more prominent ones are FBX (Autodesk open source), OBJ, GLTF and USDZ (supports Apple ecosystem only) for their scalability and thin footprint. These are common formats that all tools import from or export to. Think of them as PNG, JPG, BMP, etc. equivalent to the world of images.
  • CAD outputs - These are 3D models, but specific for high-precision engineering drawings ranging from hexagon bolts, microchips, commercial buildings, aircrafts, etc. They have additional information like part numbers, vendor and availability information, type of materials used, etc. There are a handful of companies who’ve cornered a majority of these sectors and they invariably export lighter versions of these files for quick access.
  • Point clouds - like the name suggests, it’s a cloud of points really close together to make a 3D shape. These are useful when you don’t need the interiors of any asset/location and what’s visible to the human eye is good enough.
  • 360 photospheres (not panoramas) - standard JPGs but covers the entire viewable space. Refer example for clarity.
  • The remaining standard stuff - text, videos, images, and any data inputs added into the 3D world.

2. A Tool

- you have these pieces of content, but you don’t know how to stitch them together. Think Canva or PowerPoint as examples, a great place to stitch different types of content to create a cohesive narrative. There are many tools that do this job, and we pick something that suits our purpose. Some text

  • Programming-driven - game engines are classic examples here, complex 3D asset behavioral logic is programmed to achieve strong narratives. Primarily used for games and movies, little usage outside of these sectors.
  • No-code - for non-programmers who want to create 3D environments quickly without technical learning curves.
  • Compatible - distributes across platforms for quick and easy access.
  • Intuitive - another term for looks slick and something we can actually use rather than being confusing.

3. A way to publish and access at scale

- the access to spatial apps can be through native apps (Android/iOS), executable files (for Windows fans), or browsers. Depending on the audience and distribution, picking the right channel helps distribution quickly.

Our recommendation is to just use Fabrik to create your spatial app and give use feedback on your experience.