What are Augmented Reality Behaviors?

Behaviors are how content displays its presence, how it moves, how it reacts to user workflows, user movement, and the physical world environment, and how it interprets multi-modal input systems for best precision, legibility, and comfort.

In other mediums such as mobile, television, PCs, books, etc., the user controls the behavior of the content. If users want to consume content, they position themselves in front of it; if they need to focus their attention on something else, they look away. Augmented Reality (AR) doesn’t have the luxury of this user-directed focus. As AR designers, we have to interpret user intent based on use cases, empathy, testing, and a high amount of intuition. AR is in service to the physical world, and digital content should follow that same understanding and behave appropriately. Digital content should be present when the user needs it, and out of the way when content is not needed or wanted.

Responsibility:

UX Design Lead

Results:

With over 200 behavior combinations, creating a simple and understandable matrix was essential. I summarized and defined five behavior archetypes, 18 sub-behaviors, three distance fields, and two height fields that could be applied across every conceivable use case. This system was codified, illustrated for easy consumption, and then shared internally with development teams and externally with the XR field through our published AR Principles.

Goals for AR behaviors

Respect the workflow

Behaviors should enhance a user’s ability to accomplish their goal without blocking them from their current task.

Behaviors should inform and allow for easy access, but not cause unneeded or repetitive steps. Keep users in their “Flow”. 

Respect the environment

Users are aware of and often utilize their real-world environment for work and play.

Content and information are an enhancement to the real-world environment, but are not in charge.

Every pixel drawn on-screen is a pixel that covers up the real world. Be disciplined in using UI real estate.

Augmented Reality is not lonely

There are often other people in a user’s environment.

Behaviors should align with social norms; they should not force users into interaction patterns that lead to awkward social situations.

Behavior Archetypes

Head-Relative

Head-Relative

Body-Relative

Input-Attached


USER-CENTRIC

World-Relative

Object-Attached


WORLD-CENTRIC

User-Centric vs
World-Centric Behaviors

User-centric behaviors are used for controls that need to travel with the user as they move (e.g., app menus, tools, system communications, privacy indicators).

World-centric behaviors are used for content that is contextual to a world position, an object, and content that is best consumed from a stationary position. (e.g., long-form copy, 3D models, avatars, videos, web browsers, real-world tasks).

Head-Relative

Head-relative content follows movement and positioning based on the user’s head position and remains at a consistent height and distance from the head. Use head-relative behavior with caution, as it may obstruct the environment and cause discomfort.

Characteristics

  • Follows movement and positioning based on the user’s head position

  • Persistent distance from the head

  • High-cognitive load

Used for

  • Task-spaced application menus set low in the FOV

  • Interrupting workflows

  • Easy input & interaction

  • Full user focus

  • High attention

  • Not reliant on world coordinates

  • System UI (renders on top of all other content)

Body-Relative

Body-relative content follows movement and positioning based on the user’s body position. Content spawns directly in front of the user, but when the user looks to the right, for instance, the content stays in place and does not block the user’s view. If the user wishes to reacquire the content, they can look back to the left or recenter the content using a Controller button or a gesture. The content remains a certain distance from the user, and it may follow them as they move across a room. It is always easily accessible, but it does not demand attention when real-world interaction or attention may be more important.

Characteristics

  • Follows movement and positioning based on user’s body position

  • Variable distance

  • Variable rotation around user

  • Low cognitive load

Used for

  • Work-spaced UI that needs to remain with the user

  • Enhancement to workflow

  • Suggested user focus

  • Passive attention

  • Not reliant on world coordinates

Input-Attached

Input-attached content maintains persistent x, y, z coordinates from an input system such as the user’s hand or a controller.

Characteristics

  • Attached to an input system, such as a user’s hand or a controller

  • Persistent XYZ coordinates based on the input system

Used for

  • Controller tooltips

  • Gesture controls and feedback

  • Attaching menus or status to persistent objects

  • Enhancement to workflow

  • Passive attention

World-Relative

World-relative, or world-centric, content is attached to environments or real-world objects and relies on spatial anchors.

Characteristics

  • Attached to physical world position

  • Respects all digital content and collision/occlusion

Used for

  • Work-spaced UI associated with the physical world

  • Enhancement to workflow

  • Suggested user focus

  • Passive attention

  • Reliant on spatial anchors

Object-Attached

Object-attached content is attached to a real-world object using spatial anchors (if the object is not going to move), or object anchors (if an object does move).

Characteristics

  • Attached to an object in the environment

  • Persistent XYZ coordinates from the object

  • May attain yaw, pitch or roll characteristics of object

  • If objects are moveable, requires object anchors

Used for

  • Object-associated content

  • Object feedback

  • QR Code feedback

  • Attaching menus or status to persistent objects

  • Enhancement to workflow

  • Passive attention

Sub-behaviors are added to archetypes to provide more customization and adaptation for unique optical see-through use cases.

Interaction Zones

Users need to be able to navigate UI and interact with content from near and far distances using either hand tracking (gestures) or a controller.

Near Field characteristics

  • Direct activity zone (distance)

  • Attached to user position with persistent XYZ coordinates for easy access

  • No yaw, pitch or roll

  • Requires hand tracking (not to be used with a controller)

Near Field uses

  • Enhancement to workflows that pertain to the user or application

  • Easy input & interaction

Far Field characteristics

  • Indirect activity zone (distance)

  • Utilizes either head-relative or body-relative behaviors

  • For hand tracking and/or controller inputs

Far Field uses

  • Multi-modal or controller-only input flows

  • Object manipulation

Fine Tuning for Movement

Mitigating Micro-Movement

It’s important to keep content stable while users make micro-movements. Think of it like this: if you are trying to read a subway sign, the sign is stable and doesn’t move, even when you are bobbing your head side-to-side to catch glimpses of it as crowds of people cross in front of you. It is highly legible as long as you can see it from the right distance and angle.

Distance and height buffers stabilize content using thresholds that mitigate issues with head bobbing and interaction movement. Allow users to move in and out of content (depth buffer) at a distance of 10 cm - 20 cm without UI moving in depth. Allow users to move up and down by 5 cm - 10 cm (height buffer) without the UI moving in height.

Angle buffers stabilize content via angle thresholds to mitigate fidgeting and leaning. Allow users to shift from side to side without content billboarding (angle buffer) at angles ranging from 6° to 10°.

Embracing Macro-Movement

Macro-movement is purposeful user movement, such as transitioning from sitting to standing, turning the head to view content outside the FOV, or walking around a room or table. Content should adjust to these new user positions to remain legible and interactive. 

Embracing macro-movement is accomplished through breaking through the buffer limiters and sub-behaviors. For example, when a user moves toward content beyond a 10cm depth buffer, the content could use a variable distance buffer to move farther from the user, or scale down using the dynamic scaling sub-behavior. Or another example is when a user moves from a sitting position to a standing position. When the height buffer is broken as the user moves up more than 10cm, the height-adjusted sub-behavior is utilized to realign content to the user's new height position. 

During content transitions between positions, the recommendation is that content use a “lazy follow” pattern so it remains legible during the transition.

Best Practices