The Path to Success
Ronnie Mitra
Director of Design
API Academy
ronnie.mitra@ca.com
May 2015
What is the API Academy?
Implementing an API is easy.
Implementing an effective API is difficult!
A Simple API Product Lifecycle
Planning
&
Analysis
Design
Implementation
Maintenance
API Lifecycle at Higher Resolution
API Software Life Cycle
API Documentation
Life CycleAPI Tooling Life Cycle
Finding The Path To Success
Finding Your Path
Strong ExecutionGood Design
Why Good API Design Matters
API Program Goals
1. Get more developers using the interface
2. Get applications to market qui...
The API Interaction: Two Boxes and a Line
APIClient
The API Interaction Revisited
APIClient
development platform
API
Tools
Significant API Product Components
Interface
Learning & Usability Aides
Engagement
Visibility & Analytics
Style and Format...
Significant API Product Components
Interface
Learning & Usability Aides
Engagement
Visibility & Analytics
Discovery
( SEO,...
Significant API Product Components
Interface
Learning & Usability Aides
Engagement
Visibility & Analytics
Documentation
( ...
Significant API Product Components
Interface
Learning & Usability Aides
Engagement
Visibility & Analytics
Communication
(a...
Challenge: Too Many Design Decisions
Let Empathy Be Your Guide
API
API
Know your Users and Design for Them
• User Centred design improves usability and
Experience
• Define your audience before ...
Challenge: APIs are Difficult to Change
Public APIs, like
diamonds, are forever.
Joshua Bloch
“
”
How do we avoid making mistakes?
• We don’t!
• Learn from mistakes: more mistakes is better
• But, make mistakes during de...
Iterate early
An API Design Approach
1 Determine Goals
2 Identify Users
3 Design Interface
4 Evaluate
5 Implement
Why?
1
2
3
4
5
platform
language
organization
distance
knowledge
risk profile
investment
For Whom?
1 Determine Goals
2 Identify Users
3 D...
Ideate, Experiment, Sketch & Prototype
1 Determine Goals
2 Identify Users
3 Design Interface
4 Evaluate
5 Implement
Test Assumptions
Lab Evaluation
Peer Evaluation
User Observation
Write Client Code
Participatory Design
1 Determine Goals
...
Implementation
1 Determine Goals
2 Identify Users
3 Design Interface
4 Evaluate
5 Implement
…
Good DesignStrong Execution
Implementation
API Architecture
APIClient
development platform
API
Tools
AbstractionLayer
API Architecture
APIClient
development platform
API
Tools
Private
Resources
( code, data,
transactions, m...
Connector
API Architecture
APIClient
development platform
API
Tools
Private
Component
The Danger of Exposure
API API
API API API
API
Client
Application
Important Architectural Qualities
• Availability
• Security
• Performance
• Maintainability
• Testability
• Integrability
Impacting Runtime Qualities
• Availability
• Security
• Performance
Rate limiting
Policy
Enforcement
Caching
QA
System Des...
Impacting Non-Runtime Qualities
• Maintainability
• Testability
• Integrability
Application
Design
Holistic Design
Strong ExecutionGood Design &
Why?
1
2
3
4
5
platform
language
organization
distance
knowledge
risk profile
investment
For Whom?
1 Determine Goals
2 Identify Users
3 D...
Ideate, Experiment, Sketch & Prototype
1 Determine Goals
2 Identify Users
3 Design Interface
4 Evaluate
5 Implement
• Star...
Test Assumptions
Lab Evaluation
Peer Evaluation
User Observation
Write Client Code
Participatory Design
1 Determine Goals
...
Implementation
1 Determine Goals
2 Identify Users
3 Design Interface
4 Evaluate
5 Implement
…
Analyze Real Usage
Identify ...
APIClient
API
Tools
code maintainer
system maintainer
system
architecture
tools
processes
software code
Designing for Serv...
Properties of a Holistic Design
1. Designed for organizational value
2. Prioritizes a positive user experience
3. Produces...
A Compass For Your Journey
1. Define Value
2. Embrace Empathy for users and developers
3. Iterate your Design Early
4. Imp...
The Path to Success
Ronnie Mitra
Director of Design
API Academy
ronnie.mitra@ca.com
May 2015
Prochain SlideShare
Chargement dans…5
×

02 API Academy - path to success

4 834 vues

Publié le

Présentation de l'API Academy lors de la 3em matinée de l'API Connection le 12 mars à Paris

Publié dans : Business
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
4 834
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2 925
Actions
Partages
0
Téléchargements
24
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

02 API Academy - path to success

  1. 1. The Path to Success Ronnie Mitra Director of Design API Academy ronnie.mitra@ca.com May 2015
  2. 2. What is the API Academy?
  3. 3. Implementing an API is easy. Implementing an effective API is difficult!
  4. 4. A Simple API Product Lifecycle Planning & Analysis Design Implementation Maintenance
  5. 5. API Lifecycle at Higher Resolution API Software Life Cycle API Documentation Life CycleAPI Tooling Life Cycle
  6. 6. Finding The Path To Success Finding Your Path
  7. 7. Strong ExecutionGood Design
  8. 8. 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
  9. 9. The API Interaction: Two Boxes and a Line APIClient
  10. 10. The API Interaction Revisited APIClient development platform API Tools
  11. 11. 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, … )
  12. 12. 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, … )
  13. 13. 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, …)
  14. 14. Significant API Product Components Interface Learning & Usability Aides Engagement Visibility & Analytics Communication (alerts,email,…) Visibility (report generation, error tracing,…)
  15. 15. Challenge: Too Many Design Decisions
  16. 16. Let Empathy Be Your Guide
  17. 17. API
  18. 18. API
  19. 19. 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
  20. 20. Challenge: APIs are Difficult to Change Public APIs, like diamonds, are forever. Joshua Bloch “ ”
  21. 21. How do we avoid making mistakes? • We don’t! • Learn from mistakes: more mistakes is better • But, make mistakes during design and before implementation
  22. 22. Iterate early
  23. 23. An API Design Approach 1 Determine Goals 2 Identify Users 3 Design Interface 4 Evaluate 5 Implement
  24. 24. Why? 1 2 3 4 5
  25. 25. platform language organization distance knowledge risk profile investment For Whom? 1 Determine Goals 2 Identify Users 3 Design Interface 4 Evaluate 5 Implement
  26. 26. Ideate, Experiment, Sketch & Prototype 1 Determine Goals 2 Identify Users 3 Design Interface 4 Evaluate 5 Implement
  27. 27. 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
  28. 28. Implementation 1 Determine Goals 2 Identify Users 3 Design Interface 4 Evaluate 5 Implement …
  29. 29. Good DesignStrong Execution
  30. 30. Implementation API Architecture APIClient development platform API Tools
  31. 31. AbstractionLayer API Architecture APIClient development platform API Tools Private Resources ( code, data, transactions, message queues, etc… )
  32. 32. Connector API Architecture APIClient development platform API Tools Private Component
  33. 33. The Danger of Exposure API API API API API API Client Application
  34. 34. Important Architectural Qualities • Availability • Security • Performance • Maintainability • Testability • Integrability
  35. 35. Impacting Runtime Qualities • Availability • Security • Performance Rate limiting Policy Enforcement Caching QA System Design
  36. 36. Impacting Non-Runtime Qualities • Maintainability • Testability • Integrability Application Design
  37. 37. Holistic Design
  38. 38. Strong ExecutionGood Design &
  39. 39. Why? 1 2 3 4 5
  40. 40. platform language organization distance knowledge risk profile investment For Whom? 1 Determine Goals 2 Identify Users 3 Design Interface 4 Evaluate 5 Implement
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. APIClient API Tools code maintainer system maintainer system architecture tools processes software code Designing for Service Maintainers
  45. 45. 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
  46. 46. 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
  47. 47. The Path to Success Ronnie Mitra Director of Design API Academy ronnie.mitra@ca.com May 2015

×