75
Developers are People Too! Ronnie Mitra @mitraman [email protected]

Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Embed Size (px)

Citation preview

Page 1: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developers are People Too!Ronnie Mitra@[email protected]

Page 2: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developers are People Too

User Experience

We continually have experiences as we use products in our day to day lives. Theese experiences can be both positive or negative and they shape the way we percieve the products that we that we use.

User Experience or UX based design invovles creating experiences that are positive for the user. We can apply this idea to the world of APIs and gain a positive outcome.

Of course in our world developers are our users, so we can be more specific and describe…

slide 12 of 142

Page 3: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developers are People Too

Developer Experience!

slide 13 of 142

Page 4: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developers are People Too

Ronnie Mitra

I work for Layer 7

- A CA technologies company

- I am an API Architect in Layer 7’s API Academy

- I was born in Toronto, Canada (remove this line)

I now live in London, England

slide 2 of 142

Page 5: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Just kidding.

Page 6: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Was that uncomfortable?Why?

Page 7: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Aesthetics

Page 8: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Interaction

Page 9: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Structure

Page 10: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

a poor experience overall

Page 11: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

regardless of the content

Page 12: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

An API Scenario….

Page 13: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

I want to add weather forecast data to my mobile app. An API

should help!

http://www.southparkstudios.co.uk/avatar

Page 14: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

I’m having trouble finding an API that does what I want.

http://www.southparkstudios.co.uk/avatar

Page 15: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

the registration process is a nightmare!

http://www.southparkstudios.co.uk/avatar

Page 16: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

What is XML-RPC? I don’t even have an XML parser!

http://www.southparkstudios.co.uk/avatar

Page 17: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

http://www.southparkstudios.co.uk/avatar

Why is everything in fahrenheit!?

Page 18: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

small annoyances add up to create a poor experience

Page 19: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

designing an API is easy effective API design is difficult

Page 20: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

effective == meeting our design and business goals

Page 21: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Priority:Lower Cost

Priority:Increased Adoption

Page 22: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

http://www.flickr.com/photos/nirufe/3469696707

My API

Style?XML? JSON?Representations?Resources?Security?Streaming?

Page 23: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

A user experience based approach can help

Page 24: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Functionality

Usability

Experience

Page 25: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Experience

Usability

Functionality

Page 26: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

What does the API do?Where is it located?

How reliable is the implementation?

Page 27: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

The stereotypical SOA approach

Functionality focusedEverything is a service

Service catalogMake people use it

Page 28: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Experience

Functionality

Usability

Page 29: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

How do I use the API?How easy is it for me to accomplish my own goals?

How much of my time do I need to commit?

Page 30: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

The API Revolution

Developer focusedDeployed in competitive markets

Page 31: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Don’t forget:Usefulness > Usability

Page 32: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Functionality

Usability

Experience

Page 33: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

How does using the API make me feel?

Page 34: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developer Experience (DX):

1. the sum of interactions between the developer and an API owner

Page 35: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developer Experience (DX):

1. the sum of interactions between the developer and an API owner

2. the emotive impact of API usage on the developer

Page 36: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Understanding API Interactions

Page 37: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

API

functionality

Page 38: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Portal

API

usability

Page 39: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

API

experience

Portal

Page 40: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Page 41: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

API

Page 42: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Page 43: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

API

Page 44: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

who are our users?

Page 45: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Josh

I blog, I tweet, I code and I swear.

Age: 25Occupation: Web/Mobile Developer

Technical Profile: 7 years experience, hackathon champion, JavaScript and objective-c expert. Hates XML.

http://www.southparkstudios.com/avatar

Page 46: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

why are we always building APIs for Josh?

Page 47: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Tony

I’m never leaving this company.

Age: 45Occupation: Enterprise Developer

Technical Profile: 27 years industry experience, skilled in Java, VB, COBOL. Knows the backend system better than you do.

Page 48: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

You can’t design for usability if you don’t know who is using your API

Page 49: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Human Computer Interaction

Page 50: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

source: Brad A. Myers. "A Brief History of Human Computer Interaction Technology." ACM interactions. Vol. 5, no. 2, March, 1998. pp. 44-54. 

Page 51: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Page 52: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7
Page 53: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Where is our Fitts’ Law?

Page 54: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Are we just feeling around in the dark?

Page 55: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

We have lots of usability and UX guidance

Page 56: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

We have API usability theory and guidance

Page 57: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Steven Clarke:Describing and Measuring API Usability with the

Cognitive Dimensions

Abstraction levelLearning style

Working frameworkWork-step unit

Progressive evaluationPremature commitment

PenetrabilityAPI elaboration

API viscosityConsistency

Role expressivenessDomain correspondence

Page 58: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Usability Aspects of a Web API (a work in progress)

Task : Invocation RatioStructure

NavigationDeveloper Stack Size

Time to First CallError Handling

Number of DecisionsLearnabilityVocabulary

Page 59: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Task:Invocation Ratio

How many calls does it take for the developer to accomplish their desired task?

Page 60: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Structure

How deep is the required data located?

What is the signal to noise ratio?

Page 61: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Navigation

How difficult is it to move from one result to another?

How difficult is it to locate a required datum?

Page 62: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developer Stack Size

how many new components are needed?

Page 63: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Time to First Call

How quickly can a new user make their first API call?

Page 64: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Errors

Where are they?

How difficult are they to fix?

What is the nature of the error? (unpredicted result, invalid input, out of sequence, etc…)

Page 65: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Vocabulary

How many new concepts, terms, labels or keywords must be learned before an API can be successfully invoked.

Page 66: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Experience Aspects of an API (a work in progress)

Engagement

Pleasure

Familiarity

Trust

Safety

Page 67: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Task : Invocation Ratio

Structure

Navigation

Developer Stack Size

Time to First Call

Error Handling

Number of Decisions

Learnability

Vocabulary

+

Engagement Pleasure

Familiarity

Trust

Safety

=

Page 68: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Design the API

Establish Business Goals

Identify Design Goals and System Constraints

Identify Target Users

Define Interactions

Page 69: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Prototype

Observe

Design

Design the API

Page 70: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

DX is not a feature

Page 71: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

understanding your audience is the key to understanding their experience

Page 72: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

design APIs for people not machines

Page 73: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

API Management

virtual cloudon-premise

Page 74: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Layer 7 Demonstration

Tomorrow10:50

Katrinebergssalen

Want to see our products in action?

Page 75: Developers are People Too! Building a DX-Based API Strategy Ronnie Mitra, Principal API Architect, Layer 7

Developers are People Too!Ronnie Mitra@[email protected]