Windows Device Portal is a web-based tool which was first introduced by Microsoft in the year 2016. The main purpose of the tool is to facilitate application management, performance management and advanced remote troubleshooting for Windows devices. Device portal is a lightweight web server built into the Windows Device which can be enabled in the developer mode. On a HoloLens, developer mode can be enabled from the settings application (Settings->Update->For Developers->Developer Mode).
Connecting the Device
Once the developer mode on the device is enabled, the following steps must be performed to connect to the device portal.
- Connect the device to the same Wi-Fi network as the computer used to access the portal. Wi-Fi settings on the HoloLens can be reached through the settings application (Settings > Network & Internet > Wi-Fi).
- Note the IP address assigned to the HoloLens. This can be found in the ‘Advance Options’ screen under the Wi-Fi settings (Settings > Network & Internet > Wi-Fi > Advanced Options).
- On the web browser of your computer, navigate to “https://<HoloLens IP Address>”
- As you don’t have a valid certificate installed, you will be prompted with a warning. Proceed to the website by ignoring the warning.
- For the first connection, you will be prompted with a credential reset screen. Your HoloLens should now blackout with only a number displayed in the centre of your viewport. Note this number and enter this in the textbox highlighter below
- You should also enter a ‘username’ and ‘password’ for the portal to access the device in future.
- Click ‘Pair’ button
- You will now be prompted with a form to enter the username and password. Fill this form and click on the ‘Login’ button.
- Successful login will take you to the home screen of the Windows Device Portal
The portal has a main menu (towards the left of the screen) and a header menu (which also serves as a status bar). Following diagram elaborates on the controls available in the header menu
The main menu is divided into three sections
- Views – Groups the Home page, 3D view and the Mixed Reality Capture page which can be used to record the device perspective.
- Performance – Groups the tools which are primarily used for troubleshooting applications installed on the device or the device itself (hardware and software)
- System – functionalities to retrieve and control the device behaviour ranging from the managing the applications installed on the device to control the network settings.
A detailed description of the functionalities available under each menu item can be found on the following link:
Tips and tricks
Windows device portal is an elaborate tool and some of its functions are tailor-made for advanced troubleshooting. Following are few features of interest to get started with the development.
- Device name – Device name can be access from the home screen under the view category. It is helpful in the long run to meaningfully name your HoloLens for easier identification over a network. You can change this from the Device Portal.
- Sleep setting – HoloLens has a very limited battery life which ranges from 2 to 6 hours based on the applications we are running on it. This makes the sleep settings important. You can control the sleep setting from home screen of the Device Portal. Keep in mind that during development, you may usually leave the device plugged in (using UBS cable to your laptop/desktop). To avoid the pain of starting the device repeatedly, it is recommended to configure the ‘sleep time when plugged’ into a larger number.
- Mixed reality capture – This feature is very handy to capture the device perspective for application demonstrations. You can capture the vide through the PV (Picture/Video) camera, the audio from the microphones, audio from the app and the holograms projected by the app on a collated media stream. The captured media content is saved on the device and can be downloaded to your machine from the portal. However, the camera channel cannot be shared between two applications. So, if you have an application using the camera of the device your recording will not work by default.
- Capturing ETW trace – Performance tracking feature under the performance category is very handy for collecting ETW traces for a specific period. The portal enables you to start and stop the trace monitoring. The ETL events captured during this period is logged into a file which can be downloaded for further analysis.
- Application management – Device portal provides a set of features to manage the applications installed on the HoloLens. These features include deploying, starting and stopping applications. This feature is very useful when you want to remotely initiate an application launch for a user during a demo.
- Virtual Keyboard – HoloLens is not engineered to efficiently capture inputs from the keyboard. Pointing at a virtual keyboard using HoloLens and making an ‘airtap’ for every key press can be very stressful. Device portal gives you an alternate way to input text into your application from the ‘virtual input’ screen.
Windows Device Portal APIs
Windows Device Portal is built on top of a collection of public REST APIs. The API collection consists of a set of core APIs common to all Windows devices and specialised sets of APIs for specific devices such as HoloLens and Xbox. The HoloLens Device Portal APIs are bundled under the following controllers
- App deployment – Deploying applications on HoloLens
- Dump collection – Managing crash dumps from installed applications
- ETW – Managing ETW events
- Holographic OS – Managing the OS level ETW events and states of the OS services
- Holographic Perception – Manage the perception client
- Holographic Thermal – Retrieve thermal states
- Perception Simulation Control – Manage perception simulation
- Perception Simulation Playback – Manage perception playback
- Perception Simulation Recording – Manage perception recording
- Mixed Reality Capture – Manage A/V capture
- Networking – Retrieve information about IP configuration
- OS Information – Retrieve information about the machine
- Performance data – Retrieve performance data of a process
- Power – Retrieve power state
- Remote Control – Remotely shutdown or restart the device
- Task Manager – Start/Stop an installed application
- Wi-Fi Management – Manage Wi-Fi connections
The following link captures the documentation for HoloLens Device Portal APIs.
The library behind this tool is an open source project hosted on GitHub. Following is a link to the source repository