Alexander Meijers

Immersive Office 365

Bringing Mixed Reality and HoloLens into the Digital Workplace

1st ed.
Alexander Meijers
RIJSWIJK, The Netherlands
ISBN 978-1-4842-5844-6e-ISBN 978-1-4842-5845-3
© Alexander Meijers 2020
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.

Innovation allows us to explore and uncover new ways of doing things. Using the latest technologies like emerging experiences and Microsoft products and services will bridge the gap between mixed reality and Office 365, allowing the future office workspace to innovate.

Introduction

Welcome! You have taken the first step in challenging yourself to combine mixed reality and the Office 365 platform together to create solutions for the office workplace of today. This applies to the developer who wants to expand their knowledge of the Office 365 platform into the world of mixed reality by creating immersive experiences and three-dimensional visualizations using the Microsoft HoloLens 2. This likewise applies to mixed reality developers who are looking for opportunities to extend their repertoire toward serving the everyday business needs of workers in corporate office environments.

Whether you know Office 365 and want to move toward mixed reality, or whether you know the Microsoft HoloLens 2 and want to build functionality around Office 365 data, this book helps you to step up and accomplish your goal of bridging between mixed reality and Office 365.

Imagine being able to sit at your desk and surround yourself with a three-dimensional chart showing your work relationships as mined from your Outlook contact list. Maybe you want to visualize the relationships between users based on their interactions. Or perhaps you want to use mixed reality as an extended platform to maintain your environment by adding users to sites in your SharePoint environment. Reading this book helps you to extend your digital workplace into three-dimensional space. It describes in several chapters the tools and techniques needed to load, save and visualize data from Office 365 on a Microsoft HoloLens 2 device.

Chapter 1 : Immersive Experiences

One of the major new ways of interacting with the world around you is using immersive experiences. We explain how immersive experiences can contribute to the modern workplace. We also explain the differences between virtual reality, augmented reality, and mixed reality—specifically, when to use what. All these realities are slowly merging into a new reality called XR. And as we expect in the future, it depends on the person, the situation, and the sort of information you want which type of device is going to be used. One of the most influential mixed reality devices for the last few years has been the Microsoft HoloLens. We go more into detail about the capabilities of the Microsoft HoloLens 2. We finish with some real-life examples how mixed reality can contribute to the modern workplace. We have several use cases defined, which together can create an immersive experience for an end user. The use cases are all part of each other and will be used as a common thread throughout the other parts of the book.

Chapter 2 : Controlling Data

This part of the book explains where we get the data from and how we control it. Control means reading from and writing to Office 365 as the modern workplace. Office 365 is the modern digital workplace for workers at a lot of organizations. We explain Office 365 globally and go deeper into the different forms of insights available. A major part of controlling data is knowing which data you can control. This is defined by the authorization levels and roles that users have. We explain thoroughly how this works. The unified graph is a single point of entrance to control data and content from Office 365 and all related systems. It allows you to read data from and read data to. The chapter discusses the benefits of using the unified graph, and the different APIs and tools like the Graph Explorer. To use the APIs, you need to authenticate and get control from your application. We explain how to integrate this in your applications. There are many APIs available for controlling data. We go into the API calls available for insights about social intelligence, users, and their relations to content and insights.

Chapter 3 : Environment and Configuration

An important part of developing applications for Microsoft HoloLens is your environment, the tools and how they are configured. In this chapter we go into each of them in detail. We need to use tools like Unity and Visual Studio. We explain the tools, benefits, and how they work together to help you build your app. We discuss how to test and try out your application using the HoloLens emulator and a Microsoft HoloLens 2 device.

Chapter 4 : Unity

We help you get started with building and developing HoloLens apps using Unity. This chapter describes the interface of Unity, the different elements of the environment and how you build and deploy an app for Microsoft HoloLens 2. All the important parts are described, how they work, and how you can benefit from them. In your Microsoft HoloLens project, you will be using different elements from Unity. Each of them is explained, how they work and how they act within your application. When you have created an application, you need to build it and deploy it to an emulator or a device. This chapter describes how you do that, which configurations are needed, and what different options you have. It finishes with you running your first app using an emulator or an actual device. It walks you through the different steps to create a first “Hello World!” app using different elements, objects, and scripting.

Chapter 5 : Unity Advanced

Now that we have learned to master Unity to develop an application for HoloLens, we get to the more advanced scenarios. In this part we go into threading and the use of dynamic-link libraries (DLLs). One of the most important things to understand with Unity is the fact that the platform is single threaded. For the modern workplace, we need to call different APIs, which could take some time to return their data. Therefor we need to have some means of multithreading to prevent hanging of the application. Unity offers different ways of implementing such techniques. Each of them is explained thoroughly and their disadvantages and advantages are described. You can use external DLLs in your application. This chapter explains how to integrate those DLLs and how to run the application inside Unity using placeholders or precompiler directives. We also explain what the downsides and benefits are of using DLLs.

Chapter 6 : HoloLens

In this part we go into more detail of HoloLens-specific elements during development using Unity and Visual Studio. This incorporates tools and available packages, how to interact, the application lifecycle, and debugging. To make your life easier when developing applications for HoloLens, there are several different toolkits, tools, and packages that you can use. We also explain how the Windows Device Portal can help you develop applications. Interacting with the real world using a HoloLens device creates a true immersive experience for an end user. HoloLens offers spatial understanding, implementation of different gestures, gaze, and the use of voice.

Chapter 7 : HoloLens Development

In this part we go into more detail of HoloLens development using Unity and Visual Studio. This incorporates the application lifecycle and debugging. One of the most important things to understand when developing HoloLens applications is the application lifecycle. While you can only create scenery (holograms and other) in Unity, you have the ability of coding from Unity after you build you solution. So what happens when you start using things that are not supported in Unity? Or you need to change your assets? What can you do to prevent this or make sure it doesn’t bother you? That is what the chapter is all about. Creating applications for HoloLens will not always go as smoothly as you want. We explain how you can debug your application, even when it is running on a Microsoft HoloLens device. We also explain why it is important to watch, for example, your memory usage and the number of framerates of the application. All these things will influence the stability of your app and the battery of the device.

Chapter 8 : Visualization

The power of mixed reality allows us to create 3D immersive experiences. This is something that requires a different way of visualizing data, content, and relations. The way you are going to perform actions like adding a user to a specific site depends on this. This part goes into details of data representation, how social networks can be shown, and what kinds of models are available. This chapter contains a global story about how data can be presented in a 3D model to create a true immersive experience for end users. When we talk about immersive experiences with the modern digital workplace, it all comes to the point of correct visualization of data, content, and relationships. One major one is how social networks are presented. Since a social network comes very close to the Office 365 environment, we explain how this works. Depending on the type of data, you will need some way of displaying data in a 3D world. We will discuss some straightforward models for displaying standard structures of the Office 365 environment and some more intelligent models like the force-directed graph, which gives us the ability to visualize data and relationships.

Chapter 9 : Building a Social App

This part explains in steps how to build a social app. This social app will incorporate several functionalities, as partly described in the different scenarios in the beginning of the book. We start with the architecture of the application we are going to build. We identify the different building blocks and how they interact with each other. This will allow the reader to understand how to build more complex applications using Unity and Visual Studio. The next step is building in the use of an external DLL that will do asynchronous web requests to the unified graph API to read data from and write data to Office 365.

Chapter 10 : Model Implementation

This chapter goes into detail explaining the implementation of the different models in the application. It is a follow-up to the previous part that is all about the models. We explain how to implement different models, transform data, and load it into the model. Several different ways of data presentation and visualization are discussed.

Chapter 11 : Interact with the Model

Finally, we implement the interactions with the application based on Microsoft HoloLens 2. We go into more detail on how to create your own global hand menu, use the AppBar as a context menu, and interact with near and far gestures to control and move the 3D objects between different models. The result will be a fully functional application on your Microsoft HoloLens 2 device.

Acknowledgments

I want to thank first my family for supporting me during writing my first book ever. They have given me the time and space to start writing on such a new subject. Thank you, my love Tessa, and my children Evy, Quinn, Owen, and Colin for being so patient with me.

I’m privileged, honored, and humbled to be a Windows Developer MVP for Mixed Reality. Being an MVP has brought me an incredible group of good friends in the community and at Microsoft; each of them has been a source of inspiration. Without their knowledge and support, I wouldn’t be able to write a book like this.

Table of Contents
Index 303
About the Author
Alexander Meijers
../images/486566_1_En_BookFrontmatter_Figb_HTML.jpg

is a professional who inspires, motivates and support others and help them to innovate. His goal is to help organizations achieve more by creating, improving and working smarter. This with the aim of shortening business processes and improving the environment for employees. As a Global XR Tech lead and Microsoft Windows MVP for Mixed Reality, working for Avanade, he understands business issues and translate them into logical solutions using technology. Additionally, he supports companies in applying emerging experiences during their journey in digital transition. He works with technologies such as Virtual, Augmented and Mixed Reality in combination with cloud services like the Mixed Reality services and Azure Digital Twins from the Microsoft Azure platform, Office 365 and Dynamics 365. His primary focus is in manufacturing, utilities and engineering & construction sector. However, he certainly does not stay away from other sectors. He engages in speaking, blogging, and is an organizer of local and global events such as the Mixed Reality User Group in the Netherlands and globally the Global XR Talks and Global XR Bootcamp both part of the GlobalXR.Community.

 
About the Technical Reviewer
Jimmy Engstrom
../images/486566_1_En_BookFrontmatter_Figc_HTML.jpg
wrote his first line of code when he was 7 years old, and since that day it has been his greatest passion. It is a passion that has made him the developer he is today and has taken him around the world, spreading his knowledge. It has given him awards such as a place in the top ten best developers in Sweden, seven Microsoft MVP awards in Windows development, not to mention becoming Geek of the year. When he is not out spreading his knowledge, he is working as a web developer, trying out the latest tech, or reading up on the latest framework. Jimmy also runs his own company called Azm Dev with his wife, where they focus on “future tech” such as Blazor and holographic computing, but also teaching UX and presentation skills. He is the cohost of a podcast called Coding After Work and also a Twitch channel with the same name.

A big thank you to my wife, Jessica, who has been picking up my slack while reviewing this book.

Love you!

 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.218.230