Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Applying a Developer-Centric Approach to API Design from API Architect Ronnie Mitra

2,916 views

Published on

Designing an API from scratch can be a daunting task, but focusing on developer experience (DX) can act as a guiding light for API designers. In this session, we will explore the topic of interaction design and how it is changing the way we design web APIs today.

  • Be the first to comment

Applying a Developer-Centric Approach to API Design from API Architect Ronnie Mitra

  1. 1. The “I” is for Interaction!Applying a Developer-Centric Approach to API DesignRonnie MitraPrincipal API Architect - EuropeLayer 7 API Academy
  2. 2. API Managementon-premise virtual cloud
  3. 3. API AcademyMike Amundsen Ronnie Mitra
  4. 4. The “I” is for Interaction!
  5. 5. Ok. It isn’t really.
  6. 6. Interaction Design
  7. 7. UsabilityHuman-Computer-Interaction User Experience Design Goal Oriented Design
  8. 8. A user-centric view of design.
  9. 9. http://www.flickr.com/photos/58754750@N08/5541472392/
  10. 10. Well designed products are easier to use.
  11. 11. Good design matters for Web APIs too.
  12. 12. We want:“Frictionless” integrationHigh rates of adoptionLow cost integration
  13. 13. Focus on the developer experience (dx)
  14. 14. Portal API
  15. 15. Why is this difficult?
  16. 16. Reason #1We project our own perspective.
  17. 17. Your code is not your API.Your data model is not your API.
  18. 18. Reason #2We project our own biases.
  19. 19. Never use SOAP? Why?
  20. 20. Consider keyboards…
  21. 21. http://www.flickr.com/photos/yvettemn/139890573/
  22. 22. http://www.flickr.com/photos/jonathanpberger/7126054997/
  23. 23. http://www.flickr.com/photos/novemberborn/286773981/
  24. 24. It doesn’t matter that you don’t like SOAP.
  25. 25. What matters is what your developer base thinks!
  26. 26. Reason #3We make bad assumptions.
  27. 27. API publishers are also developers.
  28. 28. Reason #4We lack the time and money required for design
  29. 29. “Best practices”, patterns and standards become shortcuts
  30. 30. Am I RESTfull enough?
  31. 31. So, how can we do better?
  32. 32. Developer-centric design requires effort and diligence.
  33. 33. Design with the developer in mind.
  34. 34. Ask them.
  35. 35. • Interviews• Surveys• Listen (blogs, presentations, tweets)
  36. 36. "If I had asked people what theywanted, they would have saidfaster horses.“ – Henry Ford?
  37. 37. • Observe• Prototype• Historical Data
  38. 38. Consider all aspects of the DX: Registration Security Troubleshooting Learning Interface Style
  39. 39. RegistrationLazy RegistrationSocial IntegrationPersonalization
  40. 40. Development Activity Cycle1. Learn2. Code3. Implement4. Test5. Fix
  41. 41. Learn PortalCode API Test
  42. 42. Learn APITest
  43. 43. API explorers and “livedocumentation” can shorten the gap between visibility and feedback.
  44. 44. InterfacesI use GET to write to your API?
  45. 45. InterfacesHypermedia can provide: Affordances Constraints Feedback API
  46. 46. SecurityNeeds to be considered from a developer point of viewOAuth 2 is easier to implement than OAuth 1 (for your developers)
  47. 47. How?1. Identify a Target Audience2. Learn about the audience3. Make API design choices that are developer-centric4. Prototype and get feedback5. Iterate
  48. 48. Focus on the interactions that take place, rather than the interfaces we expose
  49. 49. Great API design can thrive in a developer-centric environment
  50. 50. The “I” is for Interaction!Applying a Developer-Centric Approach to API DesignRonnie MitraPrincipal API Architect - EuropeLayer 7 API Academy
  51. 51. www.apiacademy.co

×