Design Principles

SAP Fiori for visionOS / Design Principles

The Apple visionOS platform offers a standalone user experience for applications, similar to what you would find on an iPad or iPhone. Users expect to interact with apps that let them complete tasks while leveraging the unique spatial and interaction capabilities of the software and hardware.

Running on visionPro devices, the visionOS platform delivers spatial computing experiences that seamlessly blend virtual elements with the real world, as well as a fully simulated virtual reality (VR) environment. Users can control the degree of blending, except in the case of fully immersive applications, where the VR environment takes precedence.

User Interaction

The visionOS platform, combined with visionPro, introduces gaze (eye tracking) and spatial input (hand and finger tracking) as the primary methods of user interaction. Alongside Apple's UX guidelines, here are several key recommendations to keep in mind when designing your application UI:

Adaptive Design

Designing a 2D spatial application for visionOS often requires adaptive and responsive UI behaviors due to the flexible and smooth scaling of the UI surface on the x and y axes. Programmatically, you should limit the minimum and maximum length for each axis, keeping in mind the default behavior of visionOS views. Consider the content your application is showcasing, especially in the case of complex data grids, to determine the minimum dimensions. For more information, see Adaptive Layout.

Additional visionOS-specific guidance:

Application Window Management

In visionOS, applications can open multiple windows to display content and provide access to actions. However, managing multiple windows across various applications is already challenging for users, and adding more windows from a single application could complicate things further. It’s generally better to design 2D spatial applications as single-window applications, similar to designing for iPad. This not only simplifies development by reusing the same SwiftUI code base but also makes the application more user-friendly.

There are certain scenarios where a multi-window approach can be beneficial:

Design for Spatial UI

Creating UI design specifications for 2D spatial applications in visionOS with Figma is a great way to get a preview of the final look of the UI.

Here are a few recommendations to keep in mind due to the unique rendering of UI elements in visionOS: