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

2,660 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.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,660
On SlideShare
0
From Embeds
0
Number of Embeds
1,295
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • APIs are all about connectivity.
  • Coined in the 1980sBut rooted in the design ideas of industrial age products and how users interact with technology
  • Lots of methodologies and terminology
  • We are not simply producing products that perform a funciton, but we consider how people (or users) will interact with the product.
  • They are intuitive, we spend less time understanding them, ultimately they are a pleasure.Conversely, poorly designed products are painful.
  • APIs are all about connectivity.
  • Our product is our API and our useris our developer.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • Different social conventions.Another form of this, is the question of RESTfulness.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • Designer mental model vs. user mental model
  • Designer mental model vs. user mental model
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • Moneysupermarket.com example
  • APIs are all about connectivity.
  • Box.com example
  • APIs are all about connectivity.
  • There is a delay between
  • There is a delay between
  • Emotional and behavioural design
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • APIs are all about connectivity.
  • 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

    ×