How to build better apps using - Microsoft...2 cognitive biases: IKEA effect and not-invented-here...

36

Transcript of How to build better apps using - Microsoft...2 cognitive biases: IKEA effect and not-invented-here...

How to build better apps using Microsoft Graph

Mark Stafford

Program Manager, Microsoft Graph

Microsoft Graph is a free-to-use REST API for M365 and more.

Agenda

Introducing Contoso Airlines

▅ Small airline, 95% US domestic

▅ 4,500 flight crew

▅ 60 developers, mostly Web/mobile

▅ Mixed cloud platform

▅ M365 E5 subscribers

About Contoso Airlines

▅ Mobile/kiosk scheduling app for flight crew

▅ Serverless provisioning app for compliance and conformity

▅ Workflow app to handle last-minute flight crew changes

▅ Bot as an natural language interface for scheduling system

▅ Analytic app for analyzing effectiveness of flight crew allocation

Contoso Airlines’ app needs

1. Realistic needs

2. Architecturally differentiated

3. Different patterns for consuming Microsoft Graph

Why those apps?

Why build with Microsoft Graph?

2 cognitive biases every dev should know

• The origami experiment

• Overvaluation of things

you’ve worked on

1. The IKEA effect

• The idea experiment

• Tendency to reject other

ideas in favor of your own

2. Not-invented-here

1. Distract from your business 2. You own the risk

2 dangers of these biases

What business are you in?

2 examples of knowing your business

Real estate Media company

Focusing on others’ business costs you time

Re-researching

8%

Re-building

26%

Re-certifying

10%

Adding YOUR unique value

56%

Microsoft helps you focus on your business

Fundamentals

☑Secure

☑Compliant

☑Scalable and resilient

☑Global

☑Trusted

Graph domains

☑Productivity

☑Directory

☑Security

☑ Files

☑And more!

Microsoft scale, Microsoft guarantees

>1Bidentities secured

>70compliance certifications

>50Azure regions

95%of Fortune 500

companies

Productivity

Mail

Calendar

Teamwork

Tasks

Directory

Users

Groups

Devices

Policies

Sites & files

Files

Sites

Lists

Excel

…and more

Security

Reports

Cross-

device

…and still

more!

Graph domains

Beware the slippery slope

Graph is a unified endpoint

API 1 -

register app

API 1 -

authenticate

API 1 - read

docs

API 2 -

register app

API 2 -

authenticate

API 2 - read

docs

Add

YOUR

value

1

2

3

4

What to build with Microsoft Graph?

Portal/mobile appsAutomation/business

process apps

Bots/dialogue apps Analytical apps

4 app patterns

Portals, desktop, and mobile apps

▅ Typically HTML+JavaScript,

iOS, or Android

▅ Always has authenticated

user

▅ Content tends to be user-

oriented and scoped

▅ Consider offline usage

scenarios

Automation and business process apps

▅ Variety of languages and

hosting options (e.g.,

serverless)

▅ Almost never has

authenticated user

▅ Content can range over

users and domains

▅ Consider batching and

throttling implications

Bots and interactive dialogue apps

▅ Typically framework based

(e.g., Bot Framework)

▅ Usually has authenticated

user (but auth is challenging)

▅ Content tends to be user-

oriented and scoped

▅ Consider how to render

result(s) with limited real

estate or “headless” devices

Analytic apps

▅ Typically involves big data

processing tools

▅ Never has authenticated

user

▅ Content tends to be broad

but specific (minimize

footprint)

▅ Consider security, privacy,

and ToU implications

Portal Automation Bot Analytic

Auth

flow

Implicit/OBO Client

credentials

Device code Client

credentials

Has user Always Rarely Usually Never

Content User-oriented Varies User-oriented Scenario-

oriented

Consider Offline Throttling Limited size Security/

privacy

App pattern comparison

How to build with Microsoft Graph?

Step 1: Try Graph Explorer (https://aka.ms/ge)

Step 2: Browse the API reference

Step 3: Try a quickstart

Step 4: Register an app

Step 5: Download the SDK

Step 6: Build your app!

▅ 2 cognitive biases: IKEA effect and not-invented-here

▅ Know and focus on your business

▅ Microsoft checks all the right security and scalability boxes

▅ Microsoft Graph has many useful domains

▅ 4 app types: portal/mobile, automation, bot, analytics

▅ Graph Explorer is a zero-cost way to get started

Review