02 API Academy - path to success

4 111 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 111
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2 522
Actions
Partages
0
Téléchargements
20
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

×