$30 off During Our Annual Pro Sale. View Details »

So I tried to port my app to Android XR 🕶️

So I tried to port my app to Android XR 🕶️

XR technology is back on Android! After playing a long time ago with the Cardboard VR SDK or Daydream (RIP), I wanted to experiment with the brand new XR SDKs for Android.

This session will unveil the successes and failures I encountered while porting an existing application to Android XR with Compose XR during an internal hackathon. We'll go through the most important APIs, the best design practices, what you must know before jumping into the code or the common pitfalls.

Was it a success? Let's find out all together!

Avatar for Julien Salvi

Julien Salvi

December 14, 2025
Tweet

More Decks by Julien Salvi

Other Decks in Programming

Transcript

  1. 1 The Power of Conversation aircall.io So I tried to

    port my app to Android XR 🕶 Julien Salvi - Android GDE | Android @ Aircall droidcon London 2025 󰏅 @jusalvi.bsky.social
  2. 2 The Power of Conversation aircall.io Bonjour ! Julien Salvi

    Android @ Android GDE “Android dev in shorts!” @jusalvi.bsky.social
  3. 3 The Power of Conversation aircall.io 🕶 OK what’s XR?

    🎨 Design for XR 🐾 First steps with Android XR 😎 My app to Android XR! Summary
  4. 5 The Power of Conversation aircall.io “ ” VR in

    one hand, AR in the other, shake… you now have XR
  5. 6 The Power of Conversation aircall.io OK! What’s XR? VR

    on one end Be immersive Beyond reality App to next level Be social
  6. 7 The Power of Conversation aircall.io OK! What’s XR? AR

    on the other end Enhanced reality Yourself & more Digital meets physical See what I see
  7. 8 The Power of Conversation aircall.io OK! What’s XR? A

    definition • XR (Extended Reality) is the umbrella term for immersive technology that covers AR (Augmented Reality), VR (Virtual Reality) and MR (Mixed Reality). • XR core principles: ◦ Reliable spatial perception & registration ◦ Low‑latency, resource‑efficient rendering ◦ Human‑centered interaction & resilient UX
  8. 11 The Power of Conversation aircall.io A journey to XR

    2015 2016 2017 2018 2019 Cardboard 1.0.0 GoogleVR 1.0.0 Cardboard SDK 1.0.0 (NDK, Unity) Daydream 1.0.0 Daydream discontinued 2014 2020 2021 ARCore 1.0.0 GoogleVR 1.200.0 archived
  9. 12 The Power of Conversation aircall.io A journey to XR

    2022 2023 2024 2025 2026 Glass Enterprise discontinued Android XR SDKs 1.0.0-alpha08 Galaxy XR released 2021 Android XR announced
  10. 15 The Power of Conversation aircall.io Design for XR From

    2D to 3D • Android XR lets apps occupy an infinite spatial canvas using spatial panels, immersive spatial environments, and interactive 3D models • Treat XR as a new platform: don't just port phone UI — identify moments that benefit from spatialization (hands-on 3D exploration, persistent dashboards…)
  11. 16 The Power of Conversation aircall.io Design for XR Spatial

    UI rules • Placement & comfort: spawn panel center ~1.75 m from user, vertical center about 5° below eye level, and keep important content inside the central ~41° of FOV to reduce head movement • Scaling & units: design using distance-aware units (dmm/dp) so UI remains readable at different distances; panels auto-scale with distance • Elevation & orbiters: use spatial elevation and orbiters sparingly (avoid many orbiters or overlapping elevation) — they add hierarchy but can overwhelm
  12. 17 The Power of Conversation aircall.io Design for XR Practical

    patterns • Patterns to adopt: spatial panels for content, spatial environments for immersion, 3D models for manipulable content • Follow Material & large-screen guidance: reuse Material components adapted for XR — speeds development and keeps consistency. • Motion & performance: keep motion purposeful (help orientation or state change), avoid constant background motion; test on emulator and real headsets
  13. 19 The Power of Conversation aircall.io First steps with Android

    XR Enter the matrix • Project setup Let’s create a quick project with Android Studio to show the basic features of Android XR. • The base components We’ll see the base components from Android XR and how to use them in an XR application alongside which API to use. • Live Demo Let’s then run the sample in the brand new Android XR emulator to see our app in action.
  14. 20 The Power of Conversation aircall.io First steps with Android

    XR Base components • Subspace Create a 3D area that the app can render spatial content into. • Panel Represent a 2D plane in 3D space in which an application can fill content. • Orbiter Floating elements that are typically used to control the content within spatial panels.
  15. 22 The Power of Conversation aircall.io Our Call application •

    Hackathon idea A few month back I decided to test the Android XR Compose library to check if it was possible to port our app during the day. • State of the app 90% Compose but we are still using many Activities in the app and the app does not don’t have design for large screen. • So how did it go? Knowing the current state was it a success? A failure? A bit of both? Let’s find out 🤓 My app to XR
  16. 26 The Power of Conversation aircall.io Key takeaways Android XR

    • Build new immersive experiences and workspaces • New design paradigm, think 3D • Age of maturity? • Bringing the best of VR and AR to a single environment • Enough to go mainstream? Porting your app to XR • Already being large screen friendly is a big plus • Quick first iteration with Compose • Favor single activity architecture • Component isolation for better integration • Big advantage for full Compose apps
  17. 27 The Power of Conversation aircall.io Android XR https://www.android.com/xr/ Design

    for XR https://developer.android.com/design/ui/xr/guides/get-started Android XR with Compose https://developer.android.com/develop/xr/jetpack-xr-sdk/develop-ui Develop for Android XR https://www.youtube.com/watch?v=goJDzfwQFkk Android XR Codelabs https://developer.android.com/codelabs/xr-fundamentals-part-1#0 Resources
  18. 28 The Power of Conversation aircall.io Thanks! Enter the matrix

    with Android XR 😎 Julien Salvi - Android GDE | Android @ Aircall droidcon London 2025 󰏅 @jusalvi.bsky.social