Microsoft have finally revealed more information about the HoloLens and has published documentation on their developers site that outlines the API and developer experience we can expect when the “Development Edition” arrives on the 30th of March.
Held with the documentation are some pieces of information that are certainly going to impact how/what we develop with the “Development Edition”, it will remain to be seen how many of these restrictions get removed as we move through discovery/development into the production version (assuming we ever get that far, anyone remember Google Glass).
Microsoft have always been very good at providing a good (sometimes great) set of developer tools and in recent years that has included emulators for many of its OS’s (Windows and Windows Phone). It looks like Microsoft will continue with this trend for HoloLens and will include a HoloLens emulator which will allow you to run and debug applications without the need to deploy the application to the hardware.
60 Frames Per Second
Anybody who has built (or tried to build) a game will have come across the need to maintain a steady frames per second to prevent jumpiness, swim and drift. It looks like we are going to need to put those same skill into action again as Microsoft are recommending keeping the frame rate about 60 frames per second with 1 frame latency to minimize discomfort for the user.
Its appears that the HoloLens resolution (1268×720 per eye) will be lower than both the Oculus Rift and the HTC Vive (2160×1020 per eye). Microsoft however want us to focus on the “holographic density” or how bright and beautiful the hologram is. How this works out remains to be seen, however it is worth remembering that with augmented reality the hologram will only take a small portion of the screen and the hardware can reserve its power to rendering the hologram whereas the Vive and Rift needs to render every pixel.
Holograms will only appear a certain distance away from the user, if you move to close or far the hologram will disappear. This was the case when I was lucky enough to try the HoloLens at build last year. According to Microsoft, the optimal distance away from the hologram will be 2 meters, moving a hologram to close or too far away will lead to eye strain and discomfort as the eyes try to focus. The two displays are designed to fully overlap at the 2m distance and so positioning the hologram at this position will provide the best experience. Looking through the documentation it appears that developers can set the z access to be greater or closer than 2m using the API.
While the Rift is tethered to a PC to drive the experience, HoloLens is a standalone computer. HoloLens developers are therefore going to have to concern themselves with the available storage and memory consumption. Microsoft have put a memory limit of < 900MB on all applications, if you exceed 900MB HoloLens will terminate the application.
HoloLens is passively cooled (no fans) therefore the foreground application will also be shut down if HoloLens exceeds its thermal capabilities. HoloLens thermals are dependent on the ambient temperature, power consumption of the experience and the time the experience is in use. So if you application is pushing the HoloLens hardware for an extended period of time it is going to be shut down.
Battery life is 2-3 hours of active use which is about what I expected for such a device.
You will be able to take a picture or record up to 3 min of video from the front facing camera (including the holograms), Microsoft has dubbed this mixed-reality capture. During this time the refresh rate will drop to 30 Hz, pictures and video will be recorded in a resolution of 1408X792.
So is there anything here that concerns me in terms of the specification or limitations outlined above? From the documentation nothing appears to be a significant limitation (also remember that this is a developers edition), however until we get our hands on the hardware and augment the world around us we won’t know for sure.