02 api academy - path to success

47
The Path to Success Ronnie Mitra Director of Design API Academy [email protected] May 2015

Upload: charles-frederic

Post on 28-Jul-2015

1.871 views

Category:

Business


0 download

TRANSCRIPT

Page 1: 02   API Academy - path to success

The Path to Success

Ronnie MitraDirector of DesignAPI [email protected]

May 2015

Page 2: 02   API Academy - path to success

What is the API Academy?

Page 3: 02   API Academy - path to success

Implementing an API is easy.

Implementing an effective API is difficult!

Page 4: 02   API Academy - path to success

A Simple API Product Lifecycle

Planning

&

Analysis

Design

Implementation

Maintenance

Page 5: 02   API Academy - path to success

API Lifecycle at Higher Resolution

API Software Life CycleAPI Documentation

Life CycleAPI Tooling Life Cycle

Page 6: 02   API Academy - path to success

Finding The Path To Success

Finding Your Path

Page 7: 02   API Academy - path to success

Strong ExecutionGood Design

Page 8: 02   API Academy - path to success

Why Good API Design Matters

API Program Goals

1. Get more developers using the interface

2. Get applications to market quickly

The Benefits of a Usability and Experience Focus

1. A better experience (increased adoption)

2. Ease of use (shorter dev cycle)

Why Good API Design Matters

Page 9: 02   API Academy - path to success

The API Interaction: Two Boxes and a Line

APIClient

Page 10: 02   API Academy - path to success

The API Interaction Revisited

APIClient

development platform

API

Tools

Page 11: 02   API Academy - path to success

Significant API Product Components

Interface

Learning & Usability Aides

Engagement

Visibility & Analytics

Style and Format(CRUD, SOAP, Hypermedia, Event-Driven, XML, JSON, …)

Navigation & Controls(URI format, queries, hyperlinks, …)

Behaviour(read/write support, synchronicity, error handling, … )

Page 12: 02   API Academy - path to success

Significant API Product Components

Interface

Learning & Usability Aides

Engagement

Visibility & Analytics

Discovery( SEO, registries, runtime discovery, marketing, … )

Capability Detection( landing pages, marketing, metadata, … )

Onboarding( self-service registration, identity management, SLA, EULA, … )

Page 13: 02   API Academy - path to success

Significant API Product Components

Interface

Learning & Usability Aides

Engagement

Visibility & Analytics

Documentation( reference, tutorials, examples, books, … )

Tools( SDKs, API Explorers, … )

Community( forums, evangelists, social networks, …)

Page 14: 02   API Academy - path to success

Significant API Product Components

Interface

Learning & Usability Aides

Engagement

Visibility & Analytics

Communication(alerts,email,…)

Visibility(report generation, error tracing,…)

Page 15: 02   API Academy - path to success

Challenge: Too Many Design Decisions

Page 16: 02   API Academy - path to success

Let Empathy Be Your Guide

Page 17: 02   API Academy - path to success

API

Page 18: 02   API Academy - path to success

API

Page 19: 02   API Academy - path to success

Know your Users and Design for Them

• User Centred design improves usability and

Experience

• Define your audience before you design

• Make Empathy a part of your process

Page 20: 02   API Academy - path to success

Challenge: APIs are Difficult to Change

Public APIs, like

diamonds, are forever.Joshua Bloch

“”

Page 21: 02   API Academy - path to success

How do we avoid making mistakes?

• We don’t!

• Learn from mistakes: more mistakes is better

• But, make mistakes during design and before

implementation

Page 22: 02   API Academy - path to success

Iterate early

Page 23: 02   API Academy - path to success

An API Design Approach

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Page 24: 02   API Academy - path to success

Why?

1

2

3

4

5

Page 25: 02   API Academy - path to success

platform

language

organization

distance

knowledge

risk profile

investment

For Whom?

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Page 26: 02   API Academy - path to success

Ideate, Experiment, Sketch & Prototype

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Page 27: 02   API Academy - path to success

Test Assumptions

Lab Evaluation

Peer Evaluation

User Observation

Write Client Code

Participatory Design

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Page 28: 02   API Academy - path to success

Implementation

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Page 29: 02   API Academy - path to success

Good DesignStrong Execution

Page 30: 02   API Academy - path to success

Implementation

API Architecture

APIClient

development platform

API

Tools

Page 31: 02   API Academy - path to success

Ab

stra

ctio

n L

ayer

API Architecture

APIClient

development platform

API

Tools

Private Resources

( code, data, transactions, message

queues, etc… )

Page 32: 02   API Academy - path to success

Co

nn

ecto

r

API Architecture

APIClient

development platform

API

Tools

Private Component

Page 33: 02   API Academy - path to success

The Danger of Exposure

API API

API API API

API

ClientApplication

Page 34: 02   API Academy - path to success

Important Architectural Qualities

• Availability

• Security

• Performance

• Maintainability

• Testability

• Integrability

Page 35: 02   API Academy - path to success

Impacting Runtime Qualities

• Availability

• Security

• Performance

Rate limiting

Policy

Enforcement

Caching

QA

System Design

Page 36: 02   API Academy - path to success

Impacting Non-Runtime Qualities

• Maintainability

• Testability

• Integrability

Application

Design

Page 37: 02   API Academy - path to success

Holistic Design

Page 38: 02   API Academy - path to success

Strong ExecutionGood Design &

Page 39: 02   API Academy - path to success

Why?

1

2

3

4

5

Page 40: 02   API Academy - path to success

platform

language

organization

distance

knowledge

risk profile

investment

For Whom?

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Page 41: 02   API Academy - path to success

Ideate, Experiment, Sketch & Prototype

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

• Start with design-focused

sketches

• Built low-fidelity prototypes

• Increase fidelity and

incorporate actual

implementation concerns

Page 42: 02   API Academy - path to success

Test Assumptions

Lab Evaluation

Peer Evaluation

User Observation

Write Client Code

Participatory Design

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

• Include implementation

concerns in evaluation

• Ensure that design is

practical

• Articulate the implementation

cost

Page 43: 02   API Academy - path to success

Implementation

1 Determine Goals

2 Identify Users

3 Design Interface

4 Evaluate

5 Implement

Analyze Real Usage

Identify Usability Bugs

Improve Functionality

Iterate and Evolve

Page 44: 02   API Academy - path to success

APIClient

API

Tools

code maintainer

system maintainer

system architecture

tools

processes

software code

Designing for Service Maintainers

Page 45: 02   API Academy - path to success

Properties of a Holistic Design

1. Designed for organizational value

2. Prioritizes a positive user experience

3. Produces a positive experience with an

effective implementation

Page 46: 02   API Academy - path to success

A Compass For Your Journey

1. Define Value

2. Embrace Empathy for users and developers

3. Iterate your Design Early

4. Implement Connectors

5. Design Holistically

Page 47: 02   API Academy - path to success

The Path to Success

Ronnie MitraDirector of DesignAPI [email protected]

May 2015