Designing holograms has been a fun and unique challenge for our team. Because we are learning about how to make great apps right alongside you, we don't have any hard and fast "rules". We've started writing down some things we found useful to share with each other and now you. As you discover design considerations you like while building apps, please jump into the forums, share with us and we'll update the docs here with your learning.
We have made it a habit to render holograms for both eyes. Rendering a heads-up display in one eye only can make an interface hard to understand, as well as causing uneasiness to the user's eye and brain.
Always think about design for your user's unique point of view as they move about the world.
The user is the camera and they control the movement. Let them drive. Don't shake the camera, it can make them feel uncomfortable. Avoid abrupt movement. If you need to bring content to or from the user, move it slowly and smoothly toward them for maximum comfort. Users are sensitive to acceleration (both angular and translational). Do not accelerate or turn the user's camera.
Users will react to large menus coming at them.
In 2D development, frequently accessed content and settings may be placed in the corners to make them easily accessible. However, in holographic apps, the corners of the holographic frame may be uncomfortable for the user to access. In this case, the center of the holographic frame is the prime location for content.
The user may need to be guided to help locate important events or objects outside the frame. You can use arrows, light trails, character head movement, thought bubbles, pointers, spatial sound, and voice prompts to help guide the user to important content in your app.
It is recommended to not lock content to the screen for the user's comfort. If you need to keep content in view, place it in the world and make the content "tag-along" like the Start Menu in the HoloLens Shell. Content that gets pulled along with the user's holographic frame will feel more natural in the environment.
Holograms feel real when they fit within the frame since they don't get cut off. Users will move in order to see the bounds of a hologram within the frame.
Simplify your UI to fit within the frame and keep your focus on the main action.
Using mixed reality capture, users can capture a photo or video of their experience at any time. Consider experiences in your app where you may want to encourage snapshots or videos.
Use spatial mapping to place objects on surfaces. This helps anchor objects in the user's world and takes advantage of real world depth cues. Holograms floating in space or moving with the user will not feel as real. When possible, place items for comfort.
Respect real world depth ordering. Occluding your holograms based on other holograms and real world objects helps convince the user that these holograms are actually in their space.
Visualize surfaces when placing or moving holograms (use a simple projected grid). This will help the user know where they can best place their holograms, and shows the user if the spot they are trying to place the hologram hasn't been mapped yet. You can "billboard items" toward the user if they end up at too much of an angle.
Place holograms in the optimal zone - between 1.25m and 5m. Two meters is the most optimal, and the experience will degrade the closer you get from one meter. At distances nearer than one meter, holograms that regularly move in depth are more likely to be problematic than stationary holograms. Consider ways of gracefully clipping or fading out your content when it gets too close so as not to jar the user into an unexpected experience.