Spatial Formats and Interaction
You should expect people to be ‘lazy’ and want to avoid moving most of the time. Generally in spatial computing the more calories people burn using your app the less they’ll use it. I’m not saying you shouldn’t build your VR boxing game. But you should minimize the required motion as much as possible, even if it’s a fundamental part of what your app is.
To that point, the purpose of your app should be reflected in its spatial arrangements and interaction pattern—form follows function.
For example, if you’re making a virtual piano app, you probably want to anchor it on a desk so people make contact with a physical surface when they touch a key.
There’s a saying like, ‘when you want to say something new, use a familiar language.’ If every aspect of your app is totally innovative it will likely be incomprehensible to users. So pick and choose your battles when it comes to innovation and make sure there’s a familiarity in the UI and experience.
Prototyping
I highly recommend paper and cardboard prototyping. Don’t start in Figma. Literally get some heavy weight paper or cardboard and make crude models of your interface. If you’re expecting users to directly touch your UI, pay attention to how much muscle strain in your shoulder the design creates. Use masking tape against a wall and sticky notes to mock up some UI. Then take a few steps back from it, pretend you’re in VR, and feel out how much head motion your layout requires.
Again I think everyone needs a Quest to try existing apps. And as prototyping tools they can be great, even before writing any code. There’s an app called ShapesXR that lets you sketch out ideas in space, create storyboards, and it supports real time collaboration with remote users. It can be a great tool during early development of spatial apps.
You also use the Quest to mockup ‘AR in VR’ by creating a scene with a realistic virtual living room, and having other objects appear as if they’re AR. It’s not as good as a full passthrough setup, but it’s better than nothing. And the virtual living room is helpful if you’re sharing the demo with people in other locations. If you have a bigger budget, Quest Pro will let you do full ‘passthrough AR’, just like Vision Pro, which can give you a head-start in your prototyping process before you can get your hands on Apple’s headset.
If you’re building with the budget of a larger company you might even want to consider a Varjo XR-3. It’s the current Rolls Royce of VR and the closest thing to the Vision Pro on the market with high quality passthrough, high res displays, hand tracking, world mapping, etc. But they’re $6,500 each and need a $2–3k PC to power them. If you’re a giant company with the budget and worried about getting access to a Vision Pro dev kit I would probably get at least one XR-3 setup.
Visual and Perceptual Comfort
When designing for spatial computing in general you need to consider the whole body of your user, their sensory systems, and how their brain integrates those senses.
For example, you might arrange an iPhone app to have a menu near the bottom of a screen for easy reach of a user’s thumb. Likewise in VR you might arrange the UI to be centrally located to a user’s natural line of sight, so that head and eye motion is minimized. Every design choice has both ergonomic and cognitive impacts. Fitts’ Law is useful, but there are so many other things to consider.
I highly recommend watching this WWDC talk in its entirety if you’re new to spatial design. It covers a lot of perceptual and cognitive design constraints that are unique to spatial computing. Your design choices will either create or reduce eye fatigue, discomfort, and motion sickness. If your app makes people sick or hurts their neck, it’ll outweigh anything good your app does.
Users tend to attribute these problems to headsets themselves, but it’s also the responsibility of each app to keep users comfortable.
UI Design
Honestly for UI design you should just copy as much of what Apple has already figured out and published as guidelines so your app blends in. They make it easy to create a good looking UI if you use their tools. But generally you want to be subtle with space and motion, don’t go wild just because you can. Don’t make icons or text 3D. Usually a 2.5D approach is best, where it’s basically a 2D UI with some depth to communicate hierarchy. Again, look around at what works on the Quest and the decisions Apple made. You don’t need to reinvent the wheel unless the point of your app is to experience novel kinds of interaction.
Web Design
Vision Pro is another device for responsive web design, but don’t think of it like another 2D screen. Like I said above, when you’re designing for spatial computing it’s valuable to make some paper prototypes, stick some stuff to a wall, back up, and understand how your design decisions will impact someone’s whole body. You have to unlearn habits from desktop and mobile design.
Also there’s cool opportunities to use WebXR, which allows websites to become fully immersive VR experiences. If your website is media rich or dealing with anything potentially 3D, you should do something with WebXR. There’s a few WWDC talks that cover this topic.
Games and Media
In my personal opinion, you’ll likely want to use Unity to build a game or complex immersive experience for Vision Pro instead of the Apple ecosystem tools. Technically you could build a game with SwiftUI and RealityKit and ARKit but it might be pretty painful.
However there are some reasons to use their tools instead of Unity. Maybe you’re an iOS dev and are super comfortable with Swift and Apple’s dev ecosystem, and you don’t want to learn Unity, and you don’t care if your experience works on any other headset. Or maybe you want to build something that’s extremely high performance and really push what’s possible on the device.
Designing Games and Experiences:
Everything in this article so far also applies to designing games and immersive experiences. And like I said, the combinatorial possibilities between spatial locations and input methods can be overwhelming. So brainstorm broadly at first, make paper prototypes, and try as much Quest content as you can.
If you’re coming from film making or 2D media, learn from game developers and how they guide a user’s attention through an interactive 3D space. A lot of that is applicable to spatial computing.
Remember, an experience could be 2D and appear in a floating window, like a PS4 game shown on a virtual TV or movie theater. Or anchored to a wall of a room, or horizontally on the surface of a table, or on the floor. The same goes for 3D experiences, which then can also become fully immersive like VR, or still grounded in the player’s real room. Or you can make weird 2.5D things with elements ‘leaking’ out of a 2D screen and into the rest of the room.
Each one of those contexts provides totally different opportunities for gameplay mechanics. You should take advantage of these new possibilities and not just VR-ify a game that already exists.
As for inputs, you can look at something and pinch, or reach out and touch it if it’s floating in space or anchored to a surface, you can use bluetooth game controllers, a keyboard and mouse, or your voice. All of these also provide unique opportunities for gameplay.
And you could incorporate other devices. I think there’s a lot of opportunity to design around the fact that there will be way more iPhones than Vision Pros.
So what would an experience be like with one player in the Vision Pro and another on their phone, either in the same room or anywhere in the world? Maybe the Vision Pro wearer is like Godzilla and they’re walking through a 3D city destroying it. The iPhone players might be looking at a map and deploying army troops to stop them, which then show up in the immersive city. There are a few existing VR games that are designed around this kind of asymmetry and have gameplay like this. Keep Talking and Nobody Explodes is a good example, where the VR user is trying to diffuse a bomb and the player not in VR is telling them what wire to cut based on instructions only they can see.
Existing PC Games
Apple announced a developer tool called Game Porting Toolkit for bringing high end PC games to the Mac. I’m not sure if they’ve explicitly said ported games could run on the Vision Pro yet or not. But with the virtual desktop feature you’ll be able to see your Mac as a giant virtual screen in the Vision Pro, connect a bluetooth video game controller, and go nuts. If you’re technically minded and don’t want to wait there’s some guides on getting existing games like Elden Ring running on your Mac today. But remember this is a dev tool and existing games haven’t been optimized.
Startups and Businesses
There’s obviously a ton of potential business use cases for Vision Pro and spatial computing in general. Everything from the Product Design section of this article heavily applies and I would read that first. Start with real problems that real people have and try to solve those. Resist the urge to imagine something fantastical people might eventually want in the far future.