Building UWP 2D Apps for Microsoft HoloLens at Build 2016

Why build 2D apps for HoloLens? It’s a 3D device. HoloLens has lots of capabilities for 2D. You app is not trapped, you can put your apps where it matters to you. Cooking apps in the kitchen, Productivity apps in the office. Devices have postures: hunches over the computer. HoloLens spans all of these postures and many more. Lots of possibilities for hands free gestures and focus on the task at hand. So much better at multitasking with the physiscal and digital world. It’s incredibly easy to bring your apps to HoloLens.

UWP is a common platform that all modern devices are built on. Write your apps once and ship it to millions of devices.

Many apps come with your HoloLens, just go to the Store and download the apps. Like OneDrive, stream Xbox to your HoloLens.

Interacting with 2D apps on HoloLens are not confined to a screen. You interact with gaze, gesture and voice.

Gestures:

  • Bloom gestures, to open Start menu
  • Move your head and it moves the cursor, called gaze
  • Airtap to select what is underneath the gaze

3 tools for 2D apps on HoloLens: scroll, drag and zoom.

Design considerations:

  • Support gaze and gesture input mapped as touch events, your existing touch UI works without any changes.

 
No HoloLens needed. Use the HoloLens emulator to test your app. You need Visual Studio, Windows 10 SDK and HoloLens emulator. Unity not needed for 2D UWP apps. The emulator lets you interact with a virtual machine running the same OS but no head and hand tracking, no gestures. Uses mouse and keyboard input to simulate this input. No support for printing and sharing.

Holo1

Usability and legibility. How big texts and buttons need to be? How do I ensure that UI elements are appropriately sized? Scaling algorithm in Windows makes content bigger or smaller for best viewing experience, also for HoloLens. 120″ typical HoloLens viewing distance. Use responsive layout, e.g. Mail app. Existing guidelines at design.windows.com still apply.

Holo2

Color and theme. Holographic display is an additive light display. It creates holograms like it exists in your world. It can’t project pure black because black is the absence of light. Black background and dark UI in bright spaces is challenging. Dark areas are more see-through.

For text input you get a soft keyboard, a holographic keyboard for HoloLens, interact with gaze and gesture, dictation. HoloLens is a Windows 10 device and you can pair a Bluetooth keyboard with it. If taking pictures is a core feature in your app, consider changing it for HoloLens, e.g. use voice keyword to take the picture. USB peripherals not supported.

Adapting app behavior for HoloLens. Write an app once and ship it for tons of devices. What if app must behave differently for one device? Microsoft don’t wants you to fork your codebase and adapt it. Dynamically adapting behavior if feature sets of different Windows platforms, versions and business decisions. Mobile and desktop APIs not present on HoloLens.

Detect what features are present at runtime and adapt behavior accordingly. Checking Windows Device Family name strongly discouraged. Could be used because of business decisions or platform-specific bugs. Detection of platform name is possible but highly discouraged, hard to maintain and fragile because the names could change.

Voice input. You can speak to your HoloLens. “Select” keyword works just like airtap. Vocie APIs exposed to recognize phrases and sentences available with Windows.Media.SpeechRecognizer. HoloLens has no native file picker, it relies on apps that have a file picker.

Some other differences: only one app can run at a time. Previous app becomes suspended and a screenshot is taken. Notifications, toasts, live tiles not functional yet. Give feedback of features that you want sooner than later.

Windows Store on HoloLens. The apps running on HoloLens is the same like on desktop or Windows Phone. You decide if your app is available on HoloLens Store. Same submission process, new Holographic checkbox unchecked by default on Windows 10 device families page.

App manifest to specify details on how your app runs and supported device families. Any conflicts are resolved via version number.

Holo3

2D UWP apps are amazing on HoloLens because they go beyond the screen and are comfortable in any posture. Building 2D apps for HoloLens is free and easy. Don’t fork, adapt by dynamically detecting features.

Q & A

  • Background music works
  • No file explorer
  • Store files in the app
  • Resolution is fixed
  • No alternative gestures for accessibility
  • With Windows themes Dark and Light HoloLens will always return Light theme
Advertisements