Hololens

Hololens


 Hololens Device

Introduction

Mixed Reality is the merging of real and virtual worlds to produce new environments and visualizations where physical and digital objects co-exist and interact in real time. Mixed reality brings people, places, and objects from your physical and digital worlds together. This blended environment becomes your canvas, where you can create and enjoy a wide range of experiences. It is a spectrum that span Augmented Reality to Virtual Reality and anything in between.
Augmented reality headsets are wearable mobile computers that "augment" real word objects with computer-generated ones. Microsoft HoloLens is the first self-contained, holographic computer, enabling you to engage with your digital content and interact with holograms in the world around you to create a hybrid reality.
This hybrid or mixed reality merge between the real and the virtual, causing the physical and the digital to co-exist and to interact in real time. With the HoloLens, you can bring your ideas to life in 3D, interact with Holograms, collaborate with others, and do all this hands free, wherever you want, and with your head up.

hololens POC

Hololens Demos

  • How can I have a HoloLens demo? There are many videos online that provide HoloLens demos. You can check the following for a summary of HoloLens use cases.

  • Where can I get a live HoloLens demo? Where can I test the HoloLens? Microsoft is giving people a chance to check out its HoloLens headset and its augmented reality tech for free in a tour of Microsoft Store locations. If you are in Montreal, Canada contact us here for a hololens demo, or participate in our monthly community events for the HoloLens Community in Montreal.

Hololens Development

  • What are other available tools that I can use to develop for Microsoft HoloLens?
    There is no separate SDK for Windows Mixed Reality development; you'll use Visual Studio with the Windows 10 SDK (version 1511 or later). If you don’t have the HoloLens or mixed reality device, you can install the HoloLens emulator to build mixed reality apps without a HoloLens.
  • You can start developing for the HoloLens immediately through buildwagon platform, all you need is a basic knowledge of JavaScript and a web browser.
    For more information about all the available options for Hololens development, check this article hololens development

Hololens Kit

  • What is the Microsoft HoloLens?
    Microsoft HoloLens is made up of specialized components that together enable holographic computing. The optical system that works in lock-step with advanced sensors. The HPU that makes light work of processing a large amount of data per second. All those components and more enable you to move freely and interact with holograms. The headband is designed like a performance car with great weight distribution for a comfortable fit. Weight is distributed around the crown of your head, saving your ears or nose from undue pressure. The adjustment wheel in the headband ensures a comfortable fit for a wide range of adult head sizes. Containing more computing power than the average laptop, Microsoft HoloLens is passively cooled without fans. With no wires, external cameras, or phone or PC connection required, you can move freely and self-contained.

  • What's in the box:
    • Microsoft HoloLens includes
    • Clicker
    • Carrying case
    • Microfiber cloth
    • Charger
    • Micro-USB 2.0 cable
    Resources:
    • Windows Dev Center
    • Development Documentation
    • Design Guidance
    • Tools

    Source code :
    Access the diverse and growing number of repos the HoloLens engineering team is making available to you. You can find source code from the Holographic Academy, in addition to projects such as the Galaxy Explorer Project, and more.
    • Holographic Academy
    • Galaxy Explorer
    • HoloToolkit / MRTK
    • ...
    In addition to the above we have our guide if you are using the buildwagon platform to develop hololens application, and the latest on what happened to the HoloLens .




Hololens Specs, tech details, resolution, and features

  • What are the HoloLens technical specifications?
    Device specifications for HoloLens 1 are below:
    hololens 2
    Optics
    • See-through holographic lenses (waveguides)
    • 2 HD 16:9 light engines
    • Field of View (FOV) 30°×17.5° degrees
    • Automatic pupillary distance calibration
    • Holographic Resolution: 2.3M total light points
    • Holographic Density: >2.5k radiants (light points per radian)

    Sensors:
    • 1 IMU
    • 4 environment understanding cameras
    • 1 depth camera
    • 1 2MP photo / HD video camera
    • Mixed reality capture
    • 4 microphones
    • 1 ambient light sensor

    Human Understanding
    • Spatial sound
    • Gaze tracking
    • Gesture input
    • Voice support

    Input / Output / Connectivity
    • Built-in speakers
    • Audio 3.5mm jack
    • Volume up/down
    • Brightness up/down
    • Power button
    • Battery status LEDs
    • Wi-Fi 802.11ac
    • Micro USB 2.0
    • Bluetooth 4.1 LE

    Power
    • Battery Life
    • 2-3 hours of active use
    • Up to 2 weeks of standby time
    • Fully functional when charging
    • Passively cooled (no fans)

    Processors
    • Intel 32 bit architecture with TPM 2.0 support
    • Custom-built Microsoft Holographic Processing Unit (HPU 1.0)

    Weight
    • 579g

    Memory
    • 64GB Flash
    • 2GB RAM

  • Device specifications for HoloLens 2 are below:
    hololens 2
    • Optics : See-through holographic lenses (waveguides)
    • Resolution: 2k (1440x936) 3:2 aspect ratio light engines
    • Field of View (FOV) 43°×29° degrees
    • Holographic density: >2.5k radiants (light points per radian)
    • Eye-based rendering: Display optimization for 3D eye position
    • Sensors: Head tracking (4 visible light cameras), Eye tracking (2 IR cameras), Azure Kinect sensor (depth 1MP Time of Flight depth sensor), accelerometer, gyroscope, magnetometer
    • Camera: 8MP stills, 1080p30 video
    • Audio Microphone array: 5 channels
    • Built-in speakers with spatial audio
    • Hand tracking: Two-handed fully articulated model, direct manipulation
    • Eye tracking: Real-time tracking
    • Voice: Command and control on-device, Natural Language with internet connectivity
    • 6DoF tracking: World-scale positional tracking
    • Spatial mapping: Real-time environment mesh
    • Mixed reality capture: Mixed hologram and physical environment photos and videos
    • Processor (CPU): Qualcomm Snapdragon 850 Compute Platform
    • Graphic Card (GPU): Qualcomm Adreno 630 integrated in the CPU - OpenGL ES 3.2, OpenCL 2.0, DirectX 12
    • HPU: 2nd generation custom-built holographic processing unit (HPU 2.0)
    • Memory: 4-GB LPDDR4x DRAM
    • Storage: 64GB UFS 2.1
    • WiFi: 802.11ac 2x2
    • Bluetooth: 5.0
    • USB: USB Type-C
    • Battery Life: 2-3 hours of active use
    • Cooling: Passiely cooled (no fans)
    • Charging: USB-PD for fast charging
    • Weight: 566 grams
    • Visor Basic Impact Certification: ANSI Z87.1-2015; CSA Z94.3-07, EU EN 166, AS/NZS 1337.1
    • Ingress Protection Rating: IP50 (dust protected)
    • Operating Temperature: +10°C (+50°F) to +27°C (+81°F)
    • Operating Humidity: 8% to 90% RH (Relative Humidity)

    The Hololens still comes in one single size, and it fits over glasses.
    In term of enhacements:
    • Hololens 2 has a wider field of view
    • Hololens 2 has a much better hand tracking
    • Hololens 2 has a more balanced weight, so it is more comfortable
    • Hololens 2 has a better and newer Holographic Processing Unit (HPU)
    • Hololens 2 has is powered by an ARM processor

  • What are the HoloLens system requirements and the developer tools that I need to install?
    It depends if you are using Visual Studio and Unity platforms to develop for the HoloLens you will need Windows 10 PC to be able to run Visual Studio, in addition to the following installation checklist:
    • Visual Studio 2017
    • HoloLens Emulator and Holographic Templates
    • Unity
    • Vuforia (a plus)
    Otherwise, you can cut through the hassle and use our cloudbase “buildwagon” platform. In that case, you only need to be connected to the internet and enjoy your development journey. The platform contains an online editor and an emulator embedded as part of its interface. It also provides you with basic training tutorials to guide you through the development process. Visit the platform official webpage.

  • What is the HoloLens display resolution?
    The HoloLens 1 display resolution is: 720p (1268x720)
    The HoloLens 2 display resolution is: 2K (1440x936)

  • What is the HoloLens Holographic Processing Unit (HPU)?
    The HoloLens HPU 1.0 custom-designed TSMC-fabricated 28nm coprocessor. It is used to make light work of processing a large amount of data per second, specifically for sensor's data processing. It has about 65 million logic gates, 8MB of SRAM, and a layer of 1GB of low-power DDR3 RAM.


Hololens price, cost, release date, and where to buy

  • HoloLens, hololens, holo lens, hololense, halo lens, hololenxs, or hollow lens?
    The official name is HoloLens.

  • HoloLens release date?
    The first version of the hololens was released on the 30th of March 2016, the version 2 of the HoloLens has been released. HoloLens 2 started shipping in November 2019. As per Microsoft representatives, the market will be seeded with a small number of Hololens 2 devices to gather feedback. It is expected that the device will remain constrained for several months before general availability.

  • Where can I buy a HoloLens
    You can buy a HoloLens directly from Microsoft store Currently the HoloLens 2 can only pre-ordered from the following countries: United States, United Kingdom, Germany, Ireland, France, New Zealand, And Australia.

  • HoloLens Price/Cost
    • HoloLens 1 Developer Edition: $3000 USD currently out of stock.
    • HoloLens 1 Commercial Edition: $5000 USD currently out of stock.
    • HoloLens 2 Developer Edition: $3500 USD or $99 per month Should start shipping soon.
    • HoloLens 2 Commercial Edition: $3500 USD Started shipping on the 7th of November 2019 .

  • HoloLens developer vs Commercial
    The commercial edition and the developer edition has exactly the same hardware and some OS features. The commercial edition has device commercial use rights, whereas the developers edition does not have this right so it is only allowed to be used for development and not for commercial use.


Developing and Programming for the HoloLens

  • What are the necessary skills required to develop for the HoloLens?

    In order to develop for the HoloLens, you need to be a software developer with coding expertise. Having prior knowledge in 3D programming is also considered a plus.


  • How does the development for HoloLens differ from other devices development?

    Simply, the 3D element. When you develop for the HoloLens, your aim is to create a mixed reality experience. Thus, you must position “3D objects” in your physical surrounding space and allow them to move smoothly. Representing objects in 3D is crucial for such experience. In this regard, knowledge of 3D programing is an important aspect of this process.


  • What kind of language should be used to develop for the Microsoft HoloLens?

    Building on the above, and to be more specific, you should know the base of developing in one of the following development languages: C#, C++, or JavaScript. Knowing to represent objects in 3D would yield a better user experience and allow objects to move naturally in the surrounding space. We have launched “buildwagon”, a platform which allows the development for the HoloLens using JavaScript language check our guide here.


  • Where can I find a tutorial that guides me to develop for the HoloLens?

    There are many tutorials to guide your through developing for the HoloLens, for an introduction on the different ways of developing for the HoloLens you an check HoloLens Development, the following are some of the guide to get you started in hololens programming:

    • Microsoft provides an overview of HoloLens development through DirectX using C++ or C#. Check this link for details.
    • Microsoft offers a collection of online tutorials that teaches development for mixed reality using the gaming platform “Unity”. This online academy is a useful reference if you want to take this path. It is accessible using this link
    • We have launched a comprehensive series of tutorials to guide users to develop for the HoloLens on the “buildwagon” platform. This platform requires the knowledge of JavaScript language and involves an efficient and effective process with a smooth learning curve. You can check it here.


Hololens API

  • Which windows operating system supports holographic SDK?

    Windows 10 SDK works best on the Windows 10 operating system. This SDK is also supported on Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2. Note that not all tools are supported on older operating systems. Visual Studio 2015 also has hardware requirements.
    The Microsoft HoloLens emulator is based on Hyper-V and uses RemoteFx for hardware accelerated graphics. To use the emulator, make sure your PC meets some hardware requirements, For more details check this reference.
    If you are using buildwagon hololens emulator, it is online based and only require a browser to access it. You can check it here:buildwagon hololens emulator


  • What is the windows holographic API and what does it support?
    Mixed reality experiences are enabled by new Windows features for environmental understanding. These enable developers to place a hologram in the real world, and allow users to move through digital worlds by literally walking about. These are the fundamental building blocks for mixed reality development:
    • Input: gaze, gestures, voice, gamepad, and motion comptrollers
    • Perception and spatial features: world coordinates, spatial sound, and spatial mapping.
    Immersive and holographic apps need tools designed to take advantage of the Windows Mixed Reality APIs. Developers interested in building their own engine can use DirectX and other Windows APIs.


Hololens Emulator

  • How can I have access to Microsoft HoloLens applications?
    You can install new applications from the Windows Store. As a Windows 10 device, HoloLens supports many existing UWP applications from the app store, as well as new apps built specifically for HoloLens.
    Here is the process to do so. From the Windows Store:
    • Perform a bloom gesture to open the Start Menu.
    • Select the Store app and then tap to place this tile into your world.
    • Once the Store app opens, use the search bar to look for any desired application..
    • Select Get or Install on the application's page (a purchase may be required)..

  • What is the best process to develop my own HoloLens application?

    A complete guide on how different ways for HoloLens development is available here .
    If you are searching for an easy and convenient way to develop hololens applications, “buildwagon” would be a suitable solution, especially if you are web developer. The platform allows you to develop online hololens application using a JS library to help you out with the process. The platform also contains the “app Packager feature” to enable you create your own hololens application package and install it on the HoloLens. The created application will contain your own brand name, include your own icon set, and could surely be published to the window store for public or commercial sale.



Unity

  • What is Unity?
    Unity is a closed-source, cross-platform game development application. The Unity Editor is a creative hub for artists, designers, developers and other team members. Available on Windows and Mac, it includes 2D and 3D scene design tools, instant play mode for editing and iteration, and a powerful animation system. You create your game by manipulating objects in 3D and attaching various components to them. Scripts are written in C# (recommended) and attached to 3D objects as components. That said, once you’ve created a game with Unity, deployment is a cinch. Microsoft and Unity have been working closely to provide Unity developers the tools to create Mixed Reality (MR) applications for HoloLens.

  • Can I develop for the HoloLens without using Unity?
    You have many alternatives to develop for the HoloLens without the use of Unity. Check the following guide: HoloLens Development for detailed information or check the following is a summary:
    • Generally speaking, you can develop using C++/DirectX and secure a faster performance, but at the expense of development time. C++/DirectX will have the least layers/frameworks which results in a better performance.
    • Alternatively, developers can now use UrhoSharp (a Game Engine) to develop Holographic experiences for the HoloLens. UrhoSharp is a cross-platform high-level 3D and 2D engine for Xamarin and .NET that can be used to create animated 3D and 2D scenes for your applications using geometries, materials, lights and cameras. Xamarin allows developers to write cross-platform apps, providing native experiences for Android, iOS and Windows in C#, with either Visual Studio or Xamarin Studio. Developers reuse their existing C# code, and share significant code across device platforms.
    • Finally, the most recent and maybe most convenient method to develop for the HoloLens is buildwagon. buildwagon is JavaScript online based platform that provides a collection of components intended to abstract and accelerate the development of HoloLens applications. The platform is cloud based and comes with an online editor, and emulator (no installation required). Accordingly, the development and online testing process is more efficient and you only need a knowledge of JavaScript to start developing.

  • Why is Unity perceived as a complicated software for HoloLens development?
    Unity happens to be the platform of choice for HoloLens development because Microsoft partnered with them. Technically Unity isn't necessary for HoloLens development—it just is the preferred method if you are a game developer. However, Unity brings with it the overhead of the game engine. Simply put, Unity initial audience is game developers and not front-end developers. DirectX development for example, allows better performance due to less overhead of the Unity game engine but at the cost of development time. If you are already a game developer Unity will be the best choice for you, if you are a C++ developer then DirectX development will be better choice, otherwise use buildwagon the HoloLens online development platform.


Holograms

  • What is a hologram?
    Holograms are 3D images produced by the interference of light beams that reflect off a real, physical object and can be seen with the naked eye.

  • What is the relation between the HoloLens and “Holograms”?
    The HoloLens is able to project virtual images on top of the real world. During demos, Microsoft repeatedly called the images "holograms." But they're not. A hologram is defined as : A special kind of picture that is produced by a laser and that looks three-dimensional. In other words, a 3D image that exists in real space. Alex Kipman, chief inventor of HoloLens, explains the trick: “To create Project HoloLens’ images, light particles bounce around millions of times in the so-called light engine of the device. Then the photons enter the goggles’ two lenses, where they ricochet between layers of blue, green and red glass before they reach the back of your eye. “When you get the light to be at the exact angle, that's where all the magic comes in.” For more information regarding this process, check this.


Hololens Tutorials, Academy, Wiki, Forum, Hands On

  • Where can I find a convenient hands-on tutorial for the HoloLens?
    You can find convenient tutorials for the HoloLens on Microsoft’s Academy that is designed to guide designers to produce holographic applications, and walk you through a complete project that introduces core Windows Holographic features including: gaze, gesture, voice, spatial sound and spatial mapping using the HoloLens emulator.
    “buildwagon” is another source where you can find HoloLens hands-on tutorial that guides users to develop HoloLens application in JavaScript based on libraries that make HoloLens development in JavaScript easy.

  • Where can I find support forums regarding HoloLens development?
    Windows Mixed Reality Developer Forum is the to-go forum offered by Microsoft for support regarding HoloLens development. Another alternative is stackoverflow .


Holographic Display

  • What is holographic display?
    A holographic display is a display that uses coherent light, such as that created by laser, to create a three-dimensional (3D) image in space.
    Holographic technology is essentially an image that is created from a reflection. The reflection allows the image to be produced in such a way that makes it look like it’s floating on air. In theory, people should be able to interact with this image that’s floating in space. If holographic technology sounds like something that you’ve seen in films, but never thought could be possible in real life.
    True holographic displays create images that conform to the six depth cues by which we recognize 3D views in the real world:
    • Perspective: Objects farther away appear smaller.
    • Occlusion: A closer object may obscure objects in the distance.
    • Stereoscopic vision: Two viewpoints get a different view of an image, as human eyes do.
    • Motion Parallax: Perspective changes as a viewpoint moves.
    • Convergence: Two points cross on viewing closer objects, as human eyes do.
    • Accommodation: Lenses change focus depending on an object’s distance within the image.

  • How does HoloLens Display work?
    The HoloLens display is basically a set of transparent screens placed just in front of the eyes. Each eyepiece or screen lets light through and shows digital content the way your monitor does. Each screen shows a slightly different image to create a stereoscopic illusion like the View Master toy does or 3D glasses do at 3D movies.
    At this level of granularity, we can say that HoloLens works by using a light-weight material that displays color images while at the same time letting light through the displays; It combines the light from digital images with the light from the real world passing through it. More elaborate technical description can be found here..


Hololens Software

  • What is the Microsoft HoloLens Software?
    Microsoft HoloLens, known under development as Project Baraboo, is a pair of mixed reality smart glasses developed and manufactured by Microsoft. HoloLens gained popularity for being one of the first computers running the Windows Mixed Reality platform under the Windows 10 operating system. Windows 10 is a personal computer operating system developed and released by Microsoft as part of the Windows NT family of operating systems. Windows 10 introduces what Microsoft described as "universal apps"; expanding on Metro-style apps, these apps can be designed to run across multiple Microsoft product families with nearly identical code—including PCs, tablets, smartphones, embedded systems, Xbox One, Surface Hub and Mixed Reality. Windows 10 operating system enables you to engage with your digital content and interact with holograms in the world around you. It supports HoloLens‑augmented reality eyewear and an associated platform for building apps that can render holograms through HoloLens.

  • What are other software that support HoloLens Development?
    There are various software that support HoloLens Development, including Visual Studio, UrhoSharp, Unity, and the most recent and maybe most convenient platform “buildwagon”. Refer to Question #20 above to get an elaborate response on the difference between them.


PC or MAC

  • How can I develop Holograms on PC or MAC?
    All the software and platforms mentioned above are functionable on both PC and MAC.
    You can have a Unity version for Mac, and recently Microsoft has officially released Visual Studio for Mac following an extended preview period for developers.
    The advantage of ‘buidlwagon’ in being cloud based is that it operates using online browser. You can use it on PC or MAC and yield the same experience without worrying about the software or hardware.


HoloLens Sample Code

  • How does a HoloLens sample code look like?
    HoloLens codes differ based on the language you are using. Below is a sample code from the “buildwagon” platform for a basic HoloLens application that displays a 3D red box that keeps on rotating.

    				
    var hololens = new HoloBuild.HoloCamera();
    var holoscene = new HoloBuild.HoloSpace();
    var holorenderer = new HoloBuild.HoloRenderer();
    
    var geometry = new HoloBuild.HoloBoxGeometry(0.1, 0.1, 0.1);
    var material = new HoloBuild.HoloMeshStandardMaterial({ color: 'red' });
    var holomesh = new HoloBuild.HoloMesh(geometry, material, true);
    holoscene.add(holomesh);
    
    function animation() {
    	window.requestAnimationFrame(animation);
    	holomesh.rotation.x += 0.01;
    	holomesh.rotation.y += 0.01;
    	holorenderer.render(holoscene, hololens);
    };
    animation();
    				
    			
    You can have a try yourself using the online HoloLens emulator.


Gestures on Hololens

  • What are the gestures supported by HoloLens?
    Getting around HoloLens is a bit different from using Windows on other devices. Instead of moving the cursor with a mouse, you use your gaze. And instead of clicking or tapping, you use hand gestures, your voice, or the HoloLens clicker. Some basic HoloLens gestures include the “Bloom”, “Gaze”, “Air tap”, and “Tap and hold”. Check this link for a full tutorial on the gestures mentioned above produced by Microsoft.

Holoportation

  • What is HoloPortation?
    Holoportation is a new type of 3D capture technology that allows high-quality 3D models of people to be reconstructed, compressed and transmitted anywhere in the world in real time. When combined with mixed reality displays such as HoloLens, this technology allows users to see, hear, and interact with remote participants in 3D as if they are actually present in the same physical space. Check buildwagon holoportation link for a more information about holoportation and our implmentation of the holoportation component.