SlideShare a Scribd company logo
Extend visualization of Microsoft Graph data to
HoloLens applications
Alexander Meijers | 16.10 | room 5
AMSTERDAM | MAY 8-9, 2018
ABOUT ME
• HoloLens Evangelist / Solutions Architect @ ETTU
• Mixed Reality Team
• Microsoft Windows Development MVP for Mixed Reality
• Founder of the Mixed Reality User Group and one of
the organizers of Global AI Bootcamp
Email: a.meijers@ettu.nl / alexander@appzinside.com
Twitter: @ameijers
Blog: http://www.appzinside.com
Slides are under Creative Common License
AGENDA
• What are we going to build?
• Mixed Reality & HoloLens
• Microsoft Graph
• Mathematical visualization
• Connecting the dots
What are we going to
build?
WHAT ARE WE GOING TO BUILD?
• Building a HoloLens application
• Getting people and related people data from Office 365
• Visualize the people and their relations in 3D
• Watch the model and interact!
Mixed Reality &
HoloLens
REALITIES EXPLAINED
Merging of real and
virtual worlds to produce
new environments and
visualizations where
physical and digital
objects co-exist and
interact in real time.
An overlay of synthetic
content on the real world
that is anchored to and
interacts with the real
world
MIXED REALITY
Direct or indirect view of a
physical, real-world
environment whose
elements
are augmented by
computer-generated
sensory input such as
sound, video, graphics
or GPS data
An overlay of content on
the real world where that
content is not anchored to
or part of it
AUGMENTED REALITY
Generation of realistic
images, sounds and other
sensations that replicate a
real environment or create
an imaginary setting
An immersive experience
created entirely from
computer-generated
Content. Also similar to
360 degree video
VIRTUAL REALITY
MICROSOFT HOLOLENS
SPECIFICATIONS
• Windows 10 device based
on 32 bit architecture
• 64GB flash
• 2GB memory
• 1GB Holographic Processor Unity (HPU)
• First of its kind
• Device is more powerful than a laptop
• No overheating due to warm air flows to the sides
• 2-3 hours active and 2 weeks standby
• Weight 579g
SENSORS, OPTICS
AND SPEAKERS
INPUT CONTROLS
SOUND
SPATIAL PERCEPTION
AND UNDERSTANDING
Immersive HoloLens
experience
Microsoft Graph
MICROSOFT GRAPH API
• Connect to Office 365
• Graph Explorer
• Allows you to use the API on
your tenant
• Administrator consent is
neccessary
App
registration
Authenticate Do API calls
Handle
returned
data
• Lots of documentation
• API delivers v1 and beta
interfaces
• https://developer.microsoft.c
om/en-us/graph
APP REGISTRATION
• Registration of an app is done in the following portal
• https://apps.dev.microsoft.com
• In the future through the Azure Portal
• For registration a personal or organizational account can be used
• When organizational account is used, apps are registrated and
managable from their tenant
• Use an organizational account when building an app for your
organization
• Select one or more platforms
SCOPES & CONSENT
• Define which scopes
• You don’t need to define them when
you registrate your app
• You specify when you authenticate
from your app
• All applications are currently multi-tenant
• Targeting specific audiences will be
available later
• Currently using specific URLs
AZURE AD AND MSAL
• Azure Active Directory (Azure AD) v2.0 endpoint
• Support OAuth 2.0 and OpenID Connect 1.0
• Converged authentication
• Azure AD v2.0 works with client libraries
• Allows native client applications to get access tokens for calling resources
like Microsoft Graph, Outlook Mail, Calendar, Contacts
• Microsoft Authentication Library (MSAL)
• MSAL supports this endpoint
• Allows to use organizational Office 365 (Azure AD) accounts or Personal
Microsoft accounts
• Not a replacement for ADAL
• MSAL.NET (in preview)
• Platforms: .NET (Framework) Client, Windows Store, Xamarin iOS and Android
• Microsoft.Identity.Client nuget package
GUIDED SETUP
• Helps you to registrate 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
PEOPLE AND THEIR RELATIONS
HTTPS CALLS versus MICROSOFT.GRAPH
• Microsoft Graph Client Library allows you to call Office 365, Azure AD and other
Microsoft services through a single unified developer experience
• https://github.com/microsoftgraph/msgraph-sdk-dotnet
Getting related
people for me
Getting related
people for a specific
user
Returns
HTTP Calls 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.Re
quest().GetAsync();
persons.AddRange(people
);
List<Person> persons =
new List<Person>();
var people = await
graphClient.Users[id].Peopl
e.Request().GetAsync();
persons.AddRange(people
);
Returns C# objects
Accessing data via Graph
Explorer in Office 365
Mathematical
Visualization
FORCE DETECT GRAPH
• A number of algorithms which allows you to draw data and their underlaying
relationships in a two- or three-dimensional way
FORCE DETECT GRAPH
• 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
Show FDG model in Unity
using random nodes and
edges
Connecting the dots
CHALLENGES
• Setup a project in Unity for building a HoloLens application
• Arrange prefabs for nodes and edges
• Assets like materials, shaders and more
• Use a separate DLL to access Microsoft Graph
• Asynchronously calls
• More separation of data retrieval and data handling
• Incorporate DLL into Unity
• Incorporate depending DLLs
• Integrate Force Detect Graph code in Unity
• Add code to access DLL and
use FDG to handle data
CHALLENGES
• Add code to access DLL
• Authentication against Microsoft Graph using MSAL
• Execute of API calls to get data
• Use of #if !UNITY_EDITOR to prevent compiler issues in Unity
• Add code to generate GameObjects based on returned data
• Use of Force Detect Graph code to create model
• Use of a queue to get around the issue
that Unity objects cannot be created in
a separate non-Unity thread
• Adding Mixed Reality parts
• Gaze cursor for selection
• Gestures for handling interaction
• Interaction for selecting
person and relations
HoloLens application
accessing the Microsoft Graph
and using FDG to display data
Thank you!
email: a.meijers@ettu.nl | alexander@appzinside.com | twitter: ameijers
AMSTERDAM | MAY 8-9, 2018

More Related Content

What's hot

Getting started with ms graph api
Getting started with ms graph apiGetting started with ms graph api
Getting started with ms graph api
Jasjit Chopra
 
Whats Possible with Mimeo Connect
Whats Possible with Mimeo ConnectWhats Possible with Mimeo Connect
Whats Possible with Mimeo Connect
Kin Lane
 
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Forge - DevCon 2017, Darmstadt Germany - Introduction and RoadmapForge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Autodesk
 
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph APIExtend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Suhail Jamaldeen
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
NCCOMMS
 
Microsoft SharePoint Cloud presentation
Microsoft SharePoint Cloud presentationMicrosoft SharePoint Cloud presentation
Microsoft SharePoint Cloud presentation
C/D/H Technology Consultants
 
Microsoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's nextMicrosoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's next
BIWUG
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM data
Autodesk
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
David Schneider
 
Serverless architecture in Python with Azure Functions, Benjamin Talmard
Serverless architecture in Python with Azure Functions, Benjamin TalmardServerless architecture in Python with Azure Functions, Benjamin Talmard
Serverless architecture in Python with Azure Functions, Benjamin Talmard
Pôle Systematic Paris-Region
 
Machine Learning with ML.Net
Machine Learning with ML.NetMachine Learning with ML.Net
Machine Learning with ML.Net
Suhail Jamaldeen
 
O365Engage17 - Microsoft graph the swiss army knife
O365Engage17 - Microsoft graph   the swiss army knifeO365Engage17 - Microsoft graph   the swiss army knife
O365Engage17 - Microsoft graph the swiss army knife
NCCOMMS
 
Open Data Kit
Open Data KitOpen Data Kit
Open Data Kit
MORSEL India
 
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Autodesk
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
Sameera Rukshan
 
Introduction to odk
Introduction to odkIntroduction to odk
Introduction to odk
Supharerk Thawillarp
 
Microsoft Graph with ASP.NET MVC
Microsoft Graph with ASP.NET MVCMicrosoft Graph with ASP.NET MVC
Microsoft Graph with ASP.NET MVC
BIWUG
 
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
Modern Workplace Conference Paris
 
Integration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power PlatformIntegration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power Platform
Rémy van Duijkeren
 

What's hot (19)

Getting started with ms graph api
Getting started with ms graph apiGetting started with ms graph api
Getting started with ms graph api
 
Whats Possible with Mimeo Connect
Whats Possible with Mimeo ConnectWhats Possible with Mimeo Connect
Whats Possible with Mimeo Connect
 
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Forge - DevCon 2017, Darmstadt Germany - Introduction and RoadmapForge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
Forge - DevCon 2017, Darmstadt Germany - Introduction and Roadmap
 
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph APIExtend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph API
 
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
O365Con18 - Reach for the Cloud Build Solutions with the Power of Microsoft G...
 
Microsoft SharePoint Cloud presentation
Microsoft SharePoint Cloud presentationMicrosoft SharePoint Cloud presentation
Microsoft SharePoint Cloud presentation
 
Microsoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's nextMicrosoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's next
 
Forge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM dataForge - DevCon 2016: Free your BIM data
Forge - DevCon 2016: Free your BIM data
 
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engineSPS Zurich 2018 - Azure Logic Apps: the new workflow engine
SPS Zurich 2018 - Azure Logic Apps: the new workflow engine
 
Serverless architecture in Python with Azure Functions, Benjamin Talmard
Serverless architecture in Python with Azure Functions, Benjamin TalmardServerless architecture in Python with Azure Functions, Benjamin Talmard
Serverless architecture in Python with Azure Functions, Benjamin Talmard
 
Machine Learning with ML.Net
Machine Learning with ML.NetMachine Learning with ML.Net
Machine Learning with ML.Net
 
O365Engage17 - Microsoft graph the swiss army knife
O365Engage17 - Microsoft graph   the swiss army knifeO365Engage17 - Microsoft graph   the swiss army knife
O365Engage17 - Microsoft graph the swiss army knife
 
Open Data Kit
Open Data KitOpen Data Kit
Open Data Kit
 
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Introduction to odk
Introduction to odkIntroduction to odk
Introduction to odk
 
Microsoft Graph with ASP.NET MVC
Microsoft Graph with ASP.NET MVCMicrosoft Graph with ASP.NET MVC
Microsoft Graph with ASP.NET MVC
 
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
2018-10-17 J1 3B - Let's build an adoption centre in Office 365 - Joanne Klein
 
Integration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power PlatformIntegration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power Platform
 

Similar to Code motion - Extend visualization of microsoft graph data to hololens applications

#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
Vincent Biret
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
Vincent Biret
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
Vincent Biret
 
How to use Microsoft Graph in your applications
How to use Microsoft Graph in your applicationsHow to use Microsoft Graph in your applications
How to use Microsoft Graph in your applications
Mohamed Ashiq Faleel
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?
Nicolas Georgeault
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
Marco Parenzan
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
Alexander Meijers
 
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
NCCOMMS
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
David Schneider
 
SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...
SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...
SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...
Sébastien Levert
 
LUIS and Bots
LUIS and BotsLUIS and Bots
LUIS and Bots
Daniel Toomey
 
Windows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudWindows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the Cloud
Chris Dufour
 
With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?
Dan Sullivan, Ph.D.
 
O365 & SP Connect 2018: Innovate - Connecting bleeding edge technologies
O365 & SP Connect 2018: Innovate - Connecting bleeding edge technologiesO365 & SP Connect 2018: Innovate - Connecting bleeding edge technologies
O365 & SP Connect 2018: Innovate - Connecting bleeding edge technologies
Sjoukje Zaal
 
Microsoft Graph
Microsoft GraphMicrosoft Graph
Microsoft Graph
Becky Bertram
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
Usama Wahab Khan Cloud, Data and AI
 
SPS Vancouver 2018 - What is CDM and CDS
SPS Vancouver 2018 - What is CDM and CDSSPS Vancouver 2018 - What is CDM and CDS
SPS Vancouver 2018 - What is CDM and CDS
Nicolas Georgeault
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and Azure
Pedro Azevedo
 
HCL Rtist: Stateful, Event-driven, Real-time applications Tool
HCL Rtist: Stateful, Event-driven, Real-time applications ToolHCL Rtist: Stateful, Event-driven, Real-time applications Tool
HCL Rtist: Stateful, Event-driven, Real-time applications Tool
HCLSoftware
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 

Similar to Code motion - Extend visualization of microsoft graph data to hololens applications (20)

#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
 
How to use Microsoft Graph in your applications
How to use Microsoft Graph in your applicationsHow to use Microsoft Graph in your applications
How to use Microsoft Graph in your applications
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Develop business apps cross-platform development using visual studio with x...
Develop business apps   cross-platform development using visual studio with x...Develop business apps   cross-platform development using visual studio with x...
Develop business apps cross-platform development using visual studio with x...
 
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...
SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...
SharePoint Saturday Cape Town - Introduction to AngularJS with the Microsoft ...
 
LUIS and Bots
LUIS and BotsLUIS and Bots
LUIS and Bots
 
Windows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the CloudWindows Azure Active Directory: Identity Management in the Cloud
Windows Azure Active Directory: Identity Management in the Cloud
 
With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?
 
O365 & SP Connect 2018: Innovate - Connecting bleeding edge technologies
O365 & SP Connect 2018: Innovate - Connecting bleeding edge technologiesO365 & SP Connect 2018: Innovate - Connecting bleeding edge technologies
O365 & SP Connect 2018: Innovate - Connecting bleeding edge technologies
 
Microsoft Graph
Microsoft GraphMicrosoft Graph
Microsoft Graph
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
 
SPS Vancouver 2018 - What is CDM and CDS
SPS Vancouver 2018 - What is CDM and CDSSPS Vancouver 2018 - What is CDM and CDS
SPS Vancouver 2018 - What is CDM and CDS
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and Azure
 
HCL Rtist: Stateful, Event-driven, Real-time applications Tool
HCL Rtist: Stateful, Event-driven, Real-time applications ToolHCL Rtist: Stateful, Event-driven, Real-time applications Tool
HCL Rtist: Stateful, Event-driven, Real-time applications Tool
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 

More from Alexander Meijers

Microsoft ignite tour - Create an immersive experience with office 365 data ...
Microsoft ignite tour  - Create an immersive experience with office 365 data ...Microsoft ignite tour  - Create an immersive experience with office 365 data ...
Microsoft ignite tour - Create an immersive experience with office 365 data ...
Alexander Meijers
 
Microsoft ignite tour empower your workers using remote assist - theater se...
Microsoft ignite tour   empower your workers using remote assist - theater se...Microsoft ignite tour   empower your workers using remote assist - theater se...
Microsoft ignite tour empower your workers using remote assist - theater se...
Alexander Meijers
 
O365 and SharePoint Connect - Create an immersive experience with office 365...
O365 and SharePoint Connect  - Create an immersive experience with office 365...O365 and SharePoint Connect  - Create an immersive experience with office 365...
O365 and SharePoint Connect - Create an immersive experience with office 365...
Alexander Meijers
 
Modern workplace conference create an immersive experience with office 365 ...
Modern workplace conference   create an immersive experience with office 365 ...Modern workplace conference   create an immersive experience with office 365 ...
Modern workplace conference create an immersive experience with office 365 ...
Alexander Meijers
 
Code europe holobasics - develop your mixed reality hololens app with unity...
Code europe   holobasics - develop your mixed reality hololens app with unity...Code europe   holobasics - develop your mixed reality hololens app with unity...
Code europe holobasics - develop your mixed reality hololens app with unity...
Alexander Meijers
 
Code europe holoadvanced - building more advanced mixed reality apps for ho...
Code europe   holoadvanced - building more advanced mixed reality apps for ho...Code europe   holoadvanced - building more advanced mixed reality apps for ho...
Code europe holoadvanced - building more advanced mixed reality apps for ho...
Alexander Meijers
 
Azure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAzure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combination
Alexander Meijers
 
It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...
Alexander Meijers
 
SharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and CloudSharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and Cloud
Alexander Meijers
 
HoloLens inspiration session
HoloLens inspiration sessionHoloLens inspiration session
HoloLens inspiration session
Alexander Meijers
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...
Alexander Meijers
 
Build business applications with HoloLens and Cloud
Build business applications with HoloLens and CloudBuild business applications with HoloLens and Cloud
Build business applications with HoloLens and Cloud
Alexander Meijers
 
Achmea technight - HoloLens development
Achmea technight  - HoloLens developmentAchmea technight  - HoloLens development
Achmea technight - HoloLens development
Alexander Meijers
 
Spsbe2016 extend your office 365 environement to cross-platform apps
Spsbe2016   extend your office 365 environement to cross-platform appsSpsbe2016   extend your office 365 environement to cross-platform apps
Spsbe2016 extend your office 365 environement to cross-platform apps
Alexander Meijers
 
Implementation of azure active directory authentication with cross platform d...
Implementation of azure active directory authentication with cross platform d...Implementation of azure active directory authentication with cross platform d...
Implementation of azure active directory authentication with cross platform d...
Alexander Meijers
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
Alexander Meijers
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
Alexander Meijers
 
SharePoint 2013 for internet websites
SharePoint 2013 for internet websitesSharePoint 2013 for internet websites
SharePoint 2013 for internet websites
Alexander Meijers
 
Build you own yammer app
Build you own yammer appBuild you own yammer app
Build you own yammer app
Alexander Meijers
 
Sp24 design a share point 2013 architecture – the basics
Sp24   design a share point 2013 architecture – the basicsSp24   design a share point 2013 architecture – the basics
Sp24 design a share point 2013 architecture – the basics
Alexander Meijers
 

More from Alexander Meijers (20)

Microsoft ignite tour - Create an immersive experience with office 365 data ...
Microsoft ignite tour  - Create an immersive experience with office 365 data ...Microsoft ignite tour  - Create an immersive experience with office 365 data ...
Microsoft ignite tour - Create an immersive experience with office 365 data ...
 
Microsoft ignite tour empower your workers using remote assist - theater se...
Microsoft ignite tour   empower your workers using remote assist - theater se...Microsoft ignite tour   empower your workers using remote assist - theater se...
Microsoft ignite tour empower your workers using remote assist - theater se...
 
O365 and SharePoint Connect - Create an immersive experience with office 365...
O365 and SharePoint Connect  - Create an immersive experience with office 365...O365 and SharePoint Connect  - Create an immersive experience with office 365...
O365 and SharePoint Connect - Create an immersive experience with office 365...
 
Modern workplace conference create an immersive experience with office 365 ...
Modern workplace conference   create an immersive experience with office 365 ...Modern workplace conference   create an immersive experience with office 365 ...
Modern workplace conference create an immersive experience with office 365 ...
 
Code europe holobasics - develop your mixed reality hololens app with unity...
Code europe   holobasics - develop your mixed reality hololens app with unity...Code europe   holobasics - develop your mixed reality hololens app with unity...
Code europe holobasics - develop your mixed reality hololens app with unity...
 
Code europe holoadvanced - building more advanced mixed reality apps for ho...
Code europe   holoadvanced - building more advanced mixed reality apps for ho...Code europe   holoadvanced - building more advanced mixed reality apps for ho...
Code europe holoadvanced - building more advanced mixed reality apps for ho...
 
Azure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAzure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combination
 
It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...
 
SharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and CloudSharePoint Unite - Build business applications with HoloLens and Cloud
SharePoint Unite - Build business applications with HoloLens and Cloud
 
HoloLens inspiration session
HoloLens inspiration sessionHoloLens inspiration session
HoloLens inspiration session
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...
 
Build business applications with HoloLens and Cloud
Build business applications with HoloLens and CloudBuild business applications with HoloLens and Cloud
Build business applications with HoloLens and Cloud
 
Achmea technight - HoloLens development
Achmea technight  - HoloLens developmentAchmea technight  - HoloLens development
Achmea technight - HoloLens development
 
Spsbe2016 extend your office 365 environement to cross-platform apps
Spsbe2016   extend your office 365 environement to cross-platform appsSpsbe2016   extend your office 365 environement to cross-platform apps
Spsbe2016 extend your office 365 environement to cross-platform apps
 
Implementation of azure active directory authentication with cross platform d...
Implementation of azure active directory authentication with cross platform d...Implementation of azure active directory authentication with cross platform d...
Implementation of azure active directory authentication with cross platform d...
 
Build your own yammer app @ Collab365
Build your own yammer app @ Collab365Build your own yammer app @ Collab365
Build your own yammer app @ Collab365
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
SharePoint 2013 for internet websites
SharePoint 2013 for internet websitesSharePoint 2013 for internet websites
SharePoint 2013 for internet websites
 
Build you own yammer app
Build you own yammer appBuild you own yammer app
Build you own yammer app
 
Sp24 design a share point 2013 architecture – the basics
Sp24   design a share point 2013 architecture – the basicsSp24   design a share point 2013 architecture – the basics
Sp24 design a share point 2013 architecture – the basics
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 

Code motion - Extend visualization of microsoft graph data to hololens applications

  • 1. Extend visualization of Microsoft Graph data to HoloLens applications Alexander Meijers | 16.10 | room 5 AMSTERDAM | MAY 8-9, 2018
  • 2. ABOUT ME • HoloLens Evangelist / Solutions Architect @ ETTU • Mixed Reality Team • Microsoft Windows Development MVP for Mixed Reality • Founder of the Mixed Reality User Group and one of the organizers of Global AI Bootcamp Email: a.meijers@ettu.nl / alexander@appzinside.com Twitter: @ameijers Blog: http://www.appzinside.com Slides are under Creative Common License
  • 3. AGENDA • What are we going to build? • Mixed Reality & HoloLens • Microsoft Graph • Mathematical visualization • Connecting the dots
  • 4. What are we going to build?
  • 5. WHAT ARE WE GOING TO BUILD? • Building a HoloLens application • Getting people and related people data from Office 365 • Visualize the people and their relations in 3D • Watch the model and interact!
  • 7. REALITIES EXPLAINED Merging of real and virtual worlds to produce new environments and visualizations where physical and digital objects co-exist and interact in real time. An overlay of synthetic content on the real world that is anchored to and interacts with the real world MIXED REALITY Direct or indirect view of a physical, real-world environment whose elements are augmented by computer-generated sensory input such as sound, video, graphics or GPS data An overlay of content on the real world where that content is not anchored to or part of it AUGMENTED REALITY Generation of realistic images, sounds and other sensations that replicate a real environment or create an imaginary setting An immersive experience created entirely from computer-generated Content. Also similar to 360 degree video VIRTUAL REALITY
  • 8. MICROSOFT HOLOLENS SPECIFICATIONS • Windows 10 device based on 32 bit architecture • 64GB flash • 2GB memory • 1GB Holographic Processor Unity (HPU) • First of its kind • Device is more powerful than a laptop • No overheating due to warm air flows to the sides • 2-3 hours active and 2 weeks standby • Weight 579g
  • 11. SOUND
  • 15. MICROSOFT GRAPH API • Connect to Office 365 • Graph Explorer • Allows you to use the API on your tenant • Administrator consent is neccessary App registration Authenticate Do API calls Handle returned data • Lots of documentation • API delivers v1 and beta interfaces • https://developer.microsoft.c om/en-us/graph
  • 16. APP REGISTRATION • Registration of an app is done in the following portal • https://apps.dev.microsoft.com • In the future through the Azure Portal • For registration a personal or organizational account can be used • When organizational account is used, apps are registrated and managable from their tenant • Use an organizational account when building an app for your organization • Select one or more platforms
  • 17. SCOPES & CONSENT • Define which scopes • You don’t need to define them when you registrate your app • You specify when you authenticate from your app • All applications are currently multi-tenant • Targeting specific audiences will be available later • Currently using specific URLs
  • 18. AZURE AD AND MSAL • Azure Active Directory (Azure AD) v2.0 endpoint • Support OAuth 2.0 and OpenID Connect 1.0 • Converged authentication • Azure AD v2.0 works with client libraries • Allows native client applications to get access tokens for calling resources like Microsoft Graph, Outlook Mail, Calendar, Contacts • Microsoft Authentication Library (MSAL) • MSAL supports this endpoint • Allows to use organizational Office 365 (Azure AD) accounts or Personal Microsoft accounts • Not a replacement for ADAL • MSAL.NET (in preview) • Platforms: .NET (Framework) Client, Windows Store, Xamarin iOS and Android • Microsoft.Identity.Client nuget package
  • 19. GUIDED SETUP • Helps you to registrate 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
  • 20. PEOPLE AND THEIR RELATIONS
  • 21. HTTPS CALLS versus MICROSOFT.GRAPH • Microsoft Graph Client Library allows you to call Office 365, Azure AD and other Microsoft services through a single unified developer experience • https://github.com/microsoftgraph/msgraph-sdk-dotnet Getting related people for me Getting related people for a specific user Returns HTTP Calls 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.Re quest().GetAsync(); persons.AddRange(people ); List<Person> persons = new List<Person>(); var people = await graphClient.Users[id].Peopl e.Request().GetAsync(); persons.AddRange(people ); Returns C# objects
  • 22. Accessing data via Graph Explorer in Office 365
  • 24. FORCE DETECT GRAPH • A number of algorithms which allows you to draw data and their underlaying relationships in a two- or three-dimensional way
  • 25. FORCE DETECT GRAPH • 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
  • 26. Show FDG model in Unity using random nodes and edges
  • 28. CHALLENGES • Setup a project in Unity for building a HoloLens application • Arrange prefabs for nodes and edges • Assets like materials, shaders and more • Use a separate DLL to access Microsoft Graph • Asynchronously calls • More separation of data retrieval and data handling • Incorporate DLL into Unity • Incorporate depending DLLs • Integrate Force Detect Graph code in Unity • Add code to access DLL and use FDG to handle data
  • 29. CHALLENGES • Add code to access DLL • Authentication against Microsoft Graph using MSAL • Execute of API calls to get data • Use of #if !UNITY_EDITOR to prevent compiler issues in Unity • Add code to generate GameObjects based on returned data • Use of Force Detect Graph code to create model • Use of a queue to get around the issue that Unity objects cannot be created in a separate non-Unity thread • Adding Mixed Reality parts • Gaze cursor for selection • Gestures for handling interaction • Interaction for selecting person and relations
  • 30. HoloLens application accessing the Microsoft Graph and using FDG to display data
  • 31. Thank you! email: a.meijers@ettu.nl | alexander@appzinside.com | twitter: ameijers AMSTERDAM | MAY 8-9, 2018

Editor's Notes

  1. Always look from a .NET point of view
  2. 16.15
  3. 16.25
  4. https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-libraries https://www.kompozure.com/blog/azure-ad-v2-and-msal-from-developers-point-of-view/
  5. 16.35
  6. 16.40