Alexander Meijers
Solutions Architect / Mixed Reality Evangelist
Create an immersive experience with
Office 365 data and Mixed Reality
using HoloLens
#MWCP18
#MWCP18
ARCHITECTE DE SOLUTIONS
ÉVANGÉLISTE DE RÉALITÉ MIXTE
ÉQUIPE DE RÉALITÉ MIXTE @ ETTU
MVP DE DÉVELOPPEMENT MICROSOFT
WINDOWS POUR LA RÉALITÉ MIXTE
FONDATEUR DU MIXED REALITY USER GROUP
ORGANISATEURS DU GLOBAL AI/MR BOOTCAMP, SP&C, MIXED REALITY TALK @ VR ET FUTURETECH
EMAIL: A.MEIJERS@ETTU.NL / ALEXANDER@APPZINSIDE.COM
TWITTER: @AMEIJERS
BLOG: HTTP://WWW.APPZINSIDE.COM
À PROPOS DE MOI
#MWCP18
DIFFERENT REALITIES
Merging of real and virtu
al worlds to produce new
environments and visuali
zations where physical a
nd digital objects co-exist
and interact in real time.
An overlay of synthetic c
ontent on the real world t
hat is anchored to and int
eracts with the real world
MIXED REALITY
Direct or indirect view of a
physical, real-world enviro
nment whose elements ar
e augmented by computer
-generated sensory input
such as sound, video, gra
phics or GPS data
An overlay of content on t
he real world where that c
ontent is not anchored to
or part of it
AUGMENTED REALITY
Generation of realistic ima
ges, sounds and other sen
sations that replicate a real
environment or create an i
maginary setting
An immersive experience c
reated entirely from compu
ter-generated Content. Als
o similar to 360 degree vid
eo
VIRTUAL REALITY
#MWCP18
XR (X Reality)
VR
Virtual Reality
MR
Mixed Reality
AR
Augmented Reality
MIXED REALITY & HOLOLENS
#MWCP18
Controls
Sound Spatial understanding
HoloLens as device
IMMERSIVE HOLOLENS EXPERIENCE
#MWCP18
COLLABORATION USING MIXED REALITY
Capabilities
Intelligent Cloud
Employees
Skype
Cognitive
Services
Cortana
Collaborative Services
Azure
StorageLogic App
Simulation & Visualization
Services
CRM Online
Experience
Application
Service
Azure
Active Directory
Intune
Teams
Store for
BusinessAzure Compute
Remote assistanceSimulation training CollaborationData visualization
Mixed Reality Experiences
Cloud
WHAT ARE WE GOING TO BUILD?
#MWCP18
BUILDING A MIXED REALITY APP FOR HOLOLENS
GETTING PEOPLE AND RELATED PEOPLE DATA FROM OFFICE 365
VISUALIZE THE PEOPLE AND THEIR RELATIONS IN 3D
WATCH THE MODEL AND INTERACT!
HOW ARE WE GOING TO BUILD IT?
TOOLS FOR BUILDING MR
#MWCP18
TOOLS FOR BUILDING MR
#MWCP18
APPLICATION LIFECYCLE
 Create Unity Project
 Configure HoloLens settings
 Create scene
Visual Studio
Unity HoloLens
 Configure build settings
 Build and generate Visual Studio
project
 Open project with Visual Studio
 Pair with HoloLens
 Build & deploy Visual Studio project
 Start Application
 Test & debug
 Monitor
Unity
#MWCP18
UNITY EDITOR EXPLAINED IN A (VERY) SHORT WAY
Main
Camera
Directional
Light
Game
Objects
Assets
Components
Script
Scene
DEMONSTRATION OF UNITY
MICROSOFT GRAPH
#MWCP18
MICROSOFT GRAPH
#MWCP18
API DELIVERS V1 AND BETA INTERFACES
GRAPH EXPLORER
THERE IS A TON OF DOCUMENTATION
FIND EVERYTHING AT HTTPS://DEVELOPER.MICROSOFT.COM/EN-US/GRAPH
MICROSOFT GRAPH API
#MWCP18
USE THE GRAPH API
Register your
App
Authenticate Do API calls
Handle
returned data
#MWCP18
REGISTRATION OF AN APP IS DONE IN THE FOLLOWING PORTAL
HTTPS://APPS.DEV.MICROSOFT.COM
HTTPS://PORTAL.AZURE.COM (RECOMMENDED)
USE A PERSONAL OR
ORGANIZATIONAL ACCOUNT FOR REGISTRATION
USE ORGANIZATIONAL ACCOUNT WHEN BUILDING APP
FOR YOUR ORGANIZATION
SELECT ONE OR MORE PLATFORMS
REGISTER YOUR APP
#MWCP18
HELPS YOU TO REGISTER THE APP
GENERATES CODE FOR YOU TO AUTHENTICATE
AGAINST FOR EXAMPLE THE MICROSOFT GRAPH
AUTHENTICATION USES MICROSOFT
AUTHENTICATION LIBRARY (MSAL)
REFERENCES THE MICROSOFT.IDENTITY.CLIENT
NUGET PACKAGE
GUIDED SETUP
PEOPLE AND THEIR RELATIONS
GET PEOPLE AND RELATIONS
IN OFFICE 365 VIA GRAPH EXPLORER
#MWCP18
MICROSOFT.GRAPH.CLIENT
Get related people for me Get related people for a
specific user
Return
format
HTTP Call https://graph.microsoft.com/v1.0/
me/People
https://graph.microsoft.com/v1.0/Users
/{GUID of user id}/People
Json
payload
Microsoft.Graph
interface
List<Person> persons =
new List<Person>();
var people = await graphClient.Me.
People.Request().GetAsync();
persons.AddRange(people);
List<Person> persons =
new List<Person>();
var people = await graphClient.
Users[id].People.Request().GetAsync();
persons.AddRange(people);
Returns C#
objects
Developers Are Lazy, And That's (Usually) A Good thing!
MATHEMATICAL VISUALIZATION
#MWCP18
A NUMBER OF ALGORITHMS WHICH ALLOWS YOU TO DRAW DATA AND THEIR
UNDERLAYING RELATIONSHIPS IN A TWO- OR THREE-DIMENSIONAL WAY
FORCE DETECT GRAPH
#MWCP18
DATA IS POSITIONED BY NODES AND RELATIONS ARE POSITIONED BY EDGES
ALGORITHM ASSIGN FORCES BETWEEN NODES AND BETWEEN EDGES
EDGES ARE MOSTLY THE SAME LENGTH AND
DO HAVE THE LEAST NUMBER OF CROSSINGS
ADDING NEW NODES AND EDGES WILL REPOSITION THE MODEL
WOONG GYU LA – DEVELOPER FROM CANADA
WROTE A 2D/3D FORCE DIRECTED GRAPH ALGORITHM IN C#
HTTPS://GITHUB.COM/JUHGIYO/EPFORCEDIRECTEDGRAPH.CS
FORCE DETECT GRAPH
SHOW FDG MODEL IN UNITY USING
RANDOM NODES AND EDGES
EVERYTHING COMING TOGETHER
#MWCP18
STEPS & CHALLENGES
Setup a project in Unity
for building a Mixed
Reality experience
Create UWP DLL to
access Microsoft Graph
Integrate Force Detect
Graph code
Add controller code to
access DLL and
use FDG to
handle the data
Use GameObjects and
Components to create
experience
Implement Gaze and
Gestures for interaction
FINAL RESULT IN A MIXED REALITY
DEVICE
TAKEAWAYS
#MWCP18
MICROSOFT GRAPH API ALLOWS YOU TO ACCES ALMOST ANY TYPE OF DATA
FROM OFFICE 365 THROUGH AN UNIFIED SYSTEM.
THE MICROSOFT.GRAPH INTERFACE ALLOWS YOU TO EASILY AUTHENTICATE AND
RETRIEVE DATA
USE MATHEMATICAL ALGORITHMS TO VISUALIZE YOUR DATA IN SPECIFIC WAYS
HOLOLENS DEVICE IS A GREAT DEVICE WHICH CAN EXTEND YOUR BUSINESS
PROCESS INTO THE 3D WORLD TO VISUALIZE DATA
TAKEAWAYS
MERCI BEAUCOUP!
THANK YOU! #MWCP18
MODERN WORKPLACE CONFERENCE PARIS
DU 16 AU 18 OCTOBRE 2018
#MWCP18

Modern workplace conference create an immersive experience with office 365 data and mixed reality using holo lens

  • 1.
    Alexander Meijers Solutions Architect/ Mixed Reality Evangelist Create an immersive experience with Office 365 data and Mixed Reality using HoloLens #MWCP18
  • 2.
    #MWCP18 ARCHITECTE DE SOLUTIONS ÉVANGÉLISTEDE RÉALITÉ MIXTE ÉQUIPE DE RÉALITÉ MIXTE @ ETTU MVP DE DÉVELOPPEMENT MICROSOFT WINDOWS POUR LA RÉALITÉ MIXTE FONDATEUR DU MIXED REALITY USER GROUP ORGANISATEURS DU GLOBAL AI/MR BOOTCAMP, SP&C, MIXED REALITY TALK @ VR ET FUTURETECH EMAIL: A.MEIJERS@ETTU.NL / ALEXANDER@APPZINSIDE.COM TWITTER: @AMEIJERS BLOG: HTTP://WWW.APPZINSIDE.COM À PROPOS DE MOI
  • 3.
    #MWCP18 DIFFERENT REALITIES Merging ofreal and virtu al worlds to produce new environments and visuali zations where physical a nd digital objects co-exist and interact in real time. An overlay of synthetic c ontent on the real world t hat is anchored to and int eracts with the real world MIXED REALITY Direct or indirect view of a physical, real-world enviro nment whose elements ar e augmented by computer -generated sensory input such as sound, video, gra phics or GPS data An overlay of content on t he real world where that c ontent is not anchored to or part of it AUGMENTED REALITY Generation of realistic ima ges, sounds and other sen sations that replicate a real environment or create an i maginary setting An immersive experience c reated entirely from compu ter-generated Content. Als o similar to 360 degree vid eo VIRTUAL REALITY
  • 4.
    #MWCP18 XR (X Reality) VR VirtualReality MR Mixed Reality AR Augmented Reality
  • 5.
  • 6.
  • 7.
  • 8.
    #MWCP18 COLLABORATION USING MIXEDREALITY Capabilities Intelligent Cloud Employees Skype Cognitive Services Cortana Collaborative Services Azure StorageLogic App Simulation & Visualization Services CRM Online Experience Application Service Azure Active Directory Intune Teams Store for BusinessAzure Compute Remote assistanceSimulation training CollaborationData visualization Mixed Reality Experiences Cloud
  • 9.
    WHAT ARE WEGOING TO BUILD?
  • 10.
    #MWCP18 BUILDING A MIXEDREALITY APP FOR HOLOLENS GETTING PEOPLE AND RELATED PEOPLE DATA FROM OFFICE 365 VISUALIZE THE PEOPLE AND THEIR RELATIONS IN 3D WATCH THE MODEL AND INTERACT! HOW ARE WE GOING TO BUILD IT?
  • 11.
  • 12.
  • 13.
    #MWCP18 APPLICATION LIFECYCLE  CreateUnity Project  Configure HoloLens settings  Create scene Visual Studio Unity HoloLens  Configure build settings  Build and generate Visual Studio project  Open project with Visual Studio  Pair with HoloLens  Build & deploy Visual Studio project  Start Application  Test & debug  Monitor Unity
  • 14.
    #MWCP18 UNITY EDITOR EXPLAINEDIN A (VERY) SHORT WAY Main Camera Directional Light Game Objects Assets Components Script Scene
  • 15.
  • 16.
  • 17.
  • 18.
    #MWCP18 API DELIVERS V1AND BETA INTERFACES GRAPH EXPLORER THERE IS A TON OF DOCUMENTATION FIND EVERYTHING AT HTTPS://DEVELOPER.MICROSOFT.COM/EN-US/GRAPH MICROSOFT GRAPH API
  • 19.
    #MWCP18 USE THE GRAPHAPI Register your App Authenticate Do API calls Handle returned data
  • 20.
    #MWCP18 REGISTRATION OF ANAPP IS DONE IN THE FOLLOWING PORTAL HTTPS://APPS.DEV.MICROSOFT.COM HTTPS://PORTAL.AZURE.COM (RECOMMENDED) USE A PERSONAL OR ORGANIZATIONAL ACCOUNT FOR REGISTRATION USE ORGANIZATIONAL ACCOUNT WHEN BUILDING APP FOR YOUR ORGANIZATION SELECT ONE OR MORE PLATFORMS REGISTER YOUR APP
  • 21.
    #MWCP18 HELPS YOU TOREGISTER THE APP GENERATES CODE FOR YOU TO AUTHENTICATE AGAINST FOR EXAMPLE THE MICROSOFT GRAPH AUTHENTICATION USES MICROSOFT AUTHENTICATION LIBRARY (MSAL) REFERENCES THE MICROSOFT.IDENTITY.CLIENT NUGET PACKAGE GUIDED SETUP
  • 22.
  • 23.
    GET PEOPLE ANDRELATIONS IN OFFICE 365 VIA GRAPH EXPLORER
  • 24.
    #MWCP18 MICROSOFT.GRAPH.CLIENT Get related peoplefor me Get related people for a specific user Return format HTTP Call https://graph.microsoft.com/v1.0/ me/People https://graph.microsoft.com/v1.0/Users /{GUID of user id}/People Json payload Microsoft.Graph interface List<Person> persons = new List<Person>(); var people = await graphClient.Me. People.Request().GetAsync(); persons.AddRange(people); List<Person> persons = new List<Person>(); var people = await graphClient. Users[id].People.Request().GetAsync(); persons.AddRange(people); Returns C# objects Developers Are Lazy, And That's (Usually) A Good thing!
  • 25.
  • 26.
    #MWCP18 A NUMBER OFALGORITHMS WHICH ALLOWS YOU TO DRAW DATA AND THEIR UNDERLAYING RELATIONSHIPS IN A TWO- OR THREE-DIMENSIONAL WAY FORCE DETECT GRAPH
  • 27.
    #MWCP18 DATA IS POSITIONEDBY NODES AND RELATIONS ARE POSITIONED BY EDGES ALGORITHM ASSIGN FORCES BETWEEN NODES AND BETWEEN EDGES EDGES ARE MOSTLY THE SAME LENGTH AND DO HAVE THE LEAST NUMBER OF CROSSINGS ADDING NEW NODES AND EDGES WILL REPOSITION THE MODEL WOONG GYU LA – DEVELOPER FROM CANADA WROTE A 2D/3D FORCE DIRECTED GRAPH ALGORITHM IN C# HTTPS://GITHUB.COM/JUHGIYO/EPFORCEDIRECTEDGRAPH.CS FORCE DETECT GRAPH
  • 28.
    SHOW FDG MODELIN UNITY USING RANDOM NODES AND EDGES
  • 29.
  • 30.
    #MWCP18 STEPS & CHALLENGES Setupa project in Unity for building a Mixed Reality experience Create UWP DLL to access Microsoft Graph Integrate Force Detect Graph code Add controller code to access DLL and use FDG to handle the data Use GameObjects and Components to create experience Implement Gaze and Gestures for interaction
  • 31.
    FINAL RESULT INA MIXED REALITY DEVICE
  • 32.
  • 33.
    #MWCP18 MICROSOFT GRAPH APIALLOWS YOU TO ACCES ALMOST ANY TYPE OF DATA FROM OFFICE 365 THROUGH AN UNIFIED SYSTEM. THE MICROSOFT.GRAPH INTERFACE ALLOWS YOU TO EASILY AUTHENTICATE AND RETRIEVE DATA USE MATHEMATICAL ALGORITHMS TO VISUALIZE YOUR DATA IN SPECIFIC WAYS HOLOLENS DEVICE IS A GREAT DEVICE WHICH CAN EXTEND YOUR BUSINESS PROCESS INTO THE 3D WORLD TO VISUALIZE DATA TAKEAWAYS
  • 34.
  • 35.
    MODERN WORKPLACE CONFERENCEPARIS DU 16 AU 18 OCTOBRE 2018 #MWCP18

Editor's Notes

  • #5 https://en.wikipedia.org/wiki/X_Reality_(XR)
  • #9 Smart card , printer , role specific , App store
  • #10 Wouldn’t it be a great way to get more insight and depth of your content from Office 365? Using Microsoft Graph we are able to access data from Office 365. By using Mixed Reality devices we can transform that data into a 3D model and interact with it.
  • #19 Graph Explorer Allows you to use the API on your tenant Administrator consent is necessary
  • #21 Fact1: Registration will be In the future through the Azure Portal Fact2: When organizational account is used, apps are registered and can be managed from their tenant