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.

Harmony in API Design

2,212 views

Published on

My talk at API Strategy & Practice in San Francisco

Published in: Technology, Education
  • Be the first to comment

Harmony in API Design

  1. 1. Harmony in API Design jakub@apiary.io
  2. 2. What is an API?
  3. 3. API is UI to Data
  4. 4. API is UI to Data
  5. 5. API is UI to Data User Experience
  6. 6. API is UI to Data Design User Experience
  7. 7. API is UI to Data Emotions Design User Experience
  8. 8. API is UI to Data Emotions Design User Experience Subjective
  9. 9. API is UI to Data Emotions Design User Experience Subjective Culturally Dependent
  10. 10. API is UI to Data Emotions Simplicity Design User Experience Subjective Culturally Dependent
  11. 11. API is UI to Data Emotions Simplicity Design Productivity User Experience Subjective Culturally Dependent
  12. 12. API is UI to Data Emotions Conversion Rates Simplicity Design Productivity User Experience Subjective Culturally Dependent
  13. 13. API is UI to Data Emotions Conversion Rates Simplicity Design Productivity User Experience Usability Studies Subjective Culturally Dependent
  14. 14. API is UI to Data Emotions Conversion Rates Simplicity Design Productivity User Experience Hackathons Subjective Culturally Dependent
  15. 15. Nobody thinks THEIR design sucks
  16. 16. Provider Consumer
  17. 17. Java Provider Rails Scala Erlang Consumer
  18. 18. Java jQuery Provider Consumer Rails ObjC PHP Scala Erlang
  19. 19. Validation Uptime Java Maintenance Provider Caching Rails Scala Security jQuery Consumer ObjC Versioning Erlang PHP
  20. 20. Latency Validation Uptime Java Maintenance Provider Caching Rails Scala Security Versioning Erlang Can It Be Done? TTFHW jQuery Consumer Debugging ObjC PHP Example Support
  21. 21. So?
  22. 22. 1. Start With a Wireframe • a design intent • usually an API description language • at Apiary we use API Blueprint
  23. 23. 2. Involve Your Customers • find your early-adopters before you code • create an API mock that they can use • fork/pull-request
  24. 24. 3. Have Great Documentation • generated automatically • must be exhaustive and up-to-date • your code is automatically tested; so must your documentation
  25. 25. 4. Separate Contract from Implementation
  26. 26. Summary • API is UI for Data & Interface between cultures • Involve your customers early • Automate
  27. 27. Thank You @apiaryio http://apiary.io/ ! @jakubnesetril

×