Applying Design Priciples to APIs - 1 of 4

6,144 views

Published on

In this four part series we’ll apply universal principles of design to APIs. When an API is created with quality, the application developers who use the API often elevate their craftsmanship when making apps. The goal of this series is to put the API team in a position to create a virtuous cycle of constantly-improving API & application development.

Published in: Technology

Applying Design Priciples to APIs - 1 of 4

  1. 1. Applying Design Principlesto APIsIn Four PartsBrian Mulloy@landlessnessApigee@apigee
  2. 2. “Whatever is worth doing at all, is worthdoing well.” -Philip Dormer Stanhope Earl of Chesterfield 1746
  3. 3. amazon.com
  4. 4. Baker’s Dozen1. Development Cycle2. Errors3. Visibility4. Flexibility-Usability Tradeoff5. Hick’s Law6. 80/20 Rule7. Inverted Pyramid8. Advance Organizer9. Consistency10. Self Similarity11. Aesthetic-Usability Effect12. Cost-Benefit13. Immersion
  5. 5. Four PartsI. Empathize Development Cycle ● Errors ● VisibilityII. Don’t Overwhelm Flexibility-Usability Tradeoff ● Hick’s Law ● 80/20 Rule ● Inverted PyramidIII. Don’t Reinvent the Wheel Advance Organizer ● Consistency ● Self SimilarityIV. Be Beautiful Aesthetic-Usability Effect ● Cost-Benefit ● Immersion
  6. 6. Part I: Empathizei. Development Cycleii. Errorsiii. Visibility
  7. 7. “ Successful products typically follow four stages of creation: requirements, design, development, and testing. Development Cycle Universal Principles of Design
  8. 8. Questions to ask at each phase:1. What is the developer doing?2. How can we help?
  9. 9. Development Cycle: Requirements
  10. 10. Share our domain knowledge
  11. 11. Share our domain knowledge✓ Educate others about our domain✓ Certify our partner developers
  12. 12. Development Cycle: Design
  13. 13. Point the way
  14. 14. Point the way✓ Inspire with an app gallery✓ Guide the design of apps✓ List the objects in our system
  15. 15. Development Cycle: Development
  16. 16. Share our API knowledge
  17. 17. Share our API knowledge✓ Engage developers with an API console✓ Be accessible via forums, social media & email
  18. 18. Development Cycle: Testing
  19. 19. Ask for input, give data
  20. 20. Ask for input, give data✓ Receive bugs & feature requests directly from developers✓ Show each developer his API data
  21. 21. Development CycleUniversal Principles of Design✓ Educate others about our domain✓ Certify our partner developers✓ Inspire with an app gallery✓ Guide the design of apps✓ List the objects in our system✓ Engage developers with an API console✓ Be accessible via forums, social media & email✓ Receive bugs & feature requests directly from developers✓ Show each developer his API data
  22. 22. “ An action or omission of action yielding an unintended consequence. Errors Universal Principles of Design
  23. 23. Make it easy to learn from mistakes
  24. 24. Make it easy to learn from mistakes✓ Respond with HTTP status codes for apps✓ Respond with verbose messages for app developers✓ Create social error pages with details and hints
  25. 25. “ The usability of a system is improved when its status and methods of use are clearly visible. Visibility Universal Principles of Design
  26. 26. Be transparent and human
  27. 27. Be transparent and human✓ Broadcast system status and alerts✓ Apologize for mistakes and give details✓ Publish the API product roadmap
  28. 28. End of Part I: Empathizei. Development Cycleii. Errorsiii. Visibility
  29. 29. Part 1: Checklist✓ Educate others about our domain✓ Certify our partner developers✓ Inspire with an app gallery✓ Guide the design of apps✓ List the objects in our system✓ Engage developers with an API console✓ Be accessible via forums, social media & email✓ Receive bugs & feature requests directly from developers✓ Show each developer his API data✓ Respond with HTTP status codes for apps✓ Respond with verbose messages for app developers✓ Create social error pages with details and hints✓ Broadcast system status and alerts✓ Apologize for mistakes and give details✓ Publish the API product roadmap
  30. 30. Four PartsI. Empathize Development Cycle ● Errors ● VisibilityII. Don’t Overwhelm Flexibility-Usability Tradeoff ● Hick’s Law ● 80/20 Rule ● Inverted PyramidIII. Don’t Reinvent the Wheel Advance Organizer ● Consistency ● Self SimilarityIV. Be Beautiful Aesthetic-Usability Effect ● Cost-Benefit ● Immersion
  31. 31. THANK YOUQuestions and ideas to:Brian Mulloy@landlessnessbrian@apigee.com

×