Lately Microsoft’s HoloLens has been given a lot of attention in both the press and in conversations between developers. It is a piece of hardware years in the making and Microsoft is putting a lot of bets on it to change the future of computing. To understand just how radical a shift in both programming paradigm as well as user interaction it is, let’s start by looking at traditional software and the evolution that has brought us to holographic computing.
Traditional Programming – Screen & Keyboard
The software of the past 30-40 years has been dominated by the user providing input with a keyboard and reading output on a screen. It is an accepted input/output model that even my parents understand and are comfortable with. The “double-click to run” way of starting up a software application is as natural an action as driving a car or making a phone call.
Although millions of people are comfortable with this and the majority of software developers know how to create a desktop application, there are some inherent problems and shortcomings with this programming paradigm. First off, you are dealing with two dimensional space and you are restricted to the screen real estate of whatever monitor you are using. Secondly, creating an immersive experience is very difficult, as the experience you create can only come from the screen and the sound.
Traditional desktop software is a bit like a car running on petrol. I love it and I will probably always use one to some extent, but that doesn’t mean there isn’t a better way to build a car.
Virtualising Reality Through Software
In the early 1990s a new thing called “Virtual Reality” came out. It was made out to be the next big thing in computing and phrases like “will life ever be the same” made us believe we were witnesses to something ground breaking. News reports like the one below made promises of “revolutionizing the way we life”, but those promise never really eventuated. The fact is that the early virtual reality applications were more aimed at gamers and the younger generation.
Fast forward to 2012 and the next thing within VR is announced: Oculus Rift. The invention of an 18-year old in his garage, Oculus has become almost synonymous with modern VR. There are many more varieties of VR hardware and they all focus on removing the actual reality from the user and replacing it with a virtual reality. This means creating a 100% computerized reality complete with audio and visual, which can be used in a large range of applications. There are forklift simulators designed to teach people how to drive a forklift, roller coaster rides, games and much more.
VR also limits the user’s mobility, as they are constrained by the hardware they are required to wear.
The main problem most people have found that have used modern VR, is the lack of balance points, or references to the real world, which can cause severe motion sickness (or cyber sickness) and make people either nauseous or simply fall over. It is one of the ongoing challenges for any VR equipment.
Bringing in the Real World - Augmented Reality
Because virtual reality brings with it a disconnect from reality, another complimentary technology grew up: augmented reality. It is “a live direct or indirect view of a physical, real-world environment whose elements are augmented (or supplemented) by computer-generated sensory input such as sound, video, graphics or GPS data”.
Just like virtual reality this technology enables a large variety of scenarios that were not possible before. By mixing the real world with computer generated objects and events, it is possible to add an unprecedented depth to how people perceive their surroundings through a device such as a smartphone.
The main differences from virtual reality is that no specialized equipment is needed. Users can use their smartphone, their camera or any other device that can project onto the immediate surroundings. This means there are a lot less barriers for users to enter the augmented world.
Using HoloLes in a Mixed Reality
Finally, we get to HoloLens and what Microsoft is attempting to do to revolutionise the way we do computing. Although closely related to augmented reality, HoloLens is much more than that. First of all, we are back to requiring highly specialized hardware, just like virtual reality, but where VR completely consumes your reality, HoloLens overlays holograms onto your reality. The best way to show it is to show you.
Microsoft has coined the term “Mixed Reality” to best describe the experience the HoloLens gives users. As opposed to augmented reality that requires a static, often square, surface object to “attach” onto, HoloLens will place a Hologram pretty much wherever you need it. And not only place it, but remember where you put it. That means you can place a hologram on the wall in one room, walk into the next room, and when you return to the first room your hologram is exactly where you put it. That is freaking awesome.
Making it real - Holographic Computing
We can’t talk about HoloLens without at least touching on how you as a developer can get to build apps for this amazing device. There aren’t many details yet on the development life cycle, but we do know some things. The 3D modelling of the holograms will be done in Unity 3D, and the interaction with the hologram and many other aspects of the experience will be done using the Holographic Development Kit (HDK). Microsoft has also confirmed that the apps on the device will be universal apps adhering to the Windows 10 development model and using the Core API of the Universal Windows Platform.
The current public prototype project (as voted on by the public) is an app to explore our own solar system. It is a way for Microsoft to give developers a detailed view of how an app is developed and some of the many decisions needed to make it real.
HoloLens developer kits are expected to ship by then end of March 2016 for a price of US$3,000. It is an application/invite process, as demand is likely to be very high.
I’ll leave you with this amazing robot fighting game and the user of wearable holograms. Holy crap this is awesome!