applying design priciples to apis - 1 of 4
DESCRIPTION
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.TRANSCRIPT
![Page 1: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/1.jpg)
Applying Design Principles to APIsIn Four Parts
Brian Mulloy@landlessness
Apigee@apigee
![Page 2: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/2.jpg)
“Whatever is worth doing at all, is worth doing well.”
-Philip Dormer StanhopeEarl of Chesterfield
1746
![Page 3: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/3.jpg)
amazon.com
![Page 4: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/4.jpg)
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
![Page 5: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/5.jpg)
Four Parts
I. Empathize
II. Don’t Overwhelm
III. Don’t Reinvent the Wheel
IV. Be Beautiful
Development Cycle ● Errors ● Visibility
Flexibility-Usability Tradeoff ● Hick’s Law ● 80/20 Rule ● Inverted Pyramid
Advance Organizer ● Consistency ● Self Similarity
Aesthetic-Usability Effect ● Cost-Benefit ● Immersion
![Page 6: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/6.jpg)
Part I: Empathizei. Development Cycleii. Errorsiii. Visibility
![Page 7: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/7.jpg)
Development CycleUniversal Principles of Design
Successful products typically follow four stages of creation: requirements, design, development, and testing.“
![Page 8: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/8.jpg)
Questions to ask at each phase:1. What is the developer doing?2. How can we help?
![Page 9: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/9.jpg)
Development Cycle: Requirements
![Page 10: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/10.jpg)
Share our domain knowledge
![Page 11: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/11.jpg)
![Page 12: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/12.jpg)
![Page 13: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/13.jpg)
![Page 14: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/14.jpg)
![Page 15: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/15.jpg)
Share our domain knowledge✓ Educate others about our domain✓ Certify our partner developers
![Page 16: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/16.jpg)
Development Cycle: Design
![Page 17: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/17.jpg)
Point the way
![Page 18: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/18.jpg)
![Page 19: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/19.jpg)
![Page 20: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/20.jpg)
![Page 21: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/21.jpg)
Point the way✓ Inspire with an app gallery✓ Guide the design of apps✓ List the objects in our system
![Page 22: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/22.jpg)
Development Cycle: Development
![Page 23: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/23.jpg)
Share our API knowledge
![Page 24: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/24.jpg)
![Page 25: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/25.jpg)
![Page 26: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/26.jpg)
![Page 27: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/27.jpg)
Share our API knowledge✓ Engage developers with an API console✓ Be accessible via forums, social media & email
![Page 28: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/28.jpg)
Development Cycle: Testing
![Page 29: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/29.jpg)
Ask for input, give data
![Page 30: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/30.jpg)
![Page 31: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/31.jpg)
![Page 32: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/32.jpg)
![Page 33: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/33.jpg)
Ask for input, give data✓ Receive bugs & feature requests directly from developers✓ Show each developer his API data
![Page 34: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/34.jpg)
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
![Page 35: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/35.jpg)
ErrorsUniversal Principles of Design
An action or omission of action yielding an unintended consequence.“
![Page 36: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/36.jpg)
Make it easy to learn from mistakes
![Page 37: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/37.jpg)
![Page 38: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/38.jpg)
![Page 39: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/39.jpg)
![Page 40: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/40.jpg)
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
![Page 41: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/41.jpg)
VisibilityUniversal Principles of Design
The usability of a system is improved when its status and methods of use are clearly visible.“
![Page 42: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/42.jpg)
Be transparent and human
![Page 43: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/43.jpg)
![Page 44: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/44.jpg)
![Page 45: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/45.jpg)
![Page 46: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/46.jpg)
Be transparent and human✓ Broadcast system status and alerts✓ Apologize for mistakes and give details✓ Publish the API product roadmap
![Page 47: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/47.jpg)
End of Part I: Empathizei. Development Cycleii. Errorsiii. Visibility
![Page 48: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/48.jpg)
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
![Page 49: Applying Design Priciples to APIs - 1 of 4](https://reader035.vdocuments.mx/reader035/viewer/2022070315/554f5dabb4c905c8088b4801/html5/thumbnails/49.jpg)
Four Parts
I. Empathize
II. Don’t Overwhelm
III. Don’t Reinvent the Wheel
IV. Be Beautiful
Development Cycle ● Errors ● Visibility
Flexibility-Usability Tradeoff ● Hick’s Law ● 80/20 Rule ● Inverted Pyramid
Advance Organizer ● Consistency ● Self Similarity
Aesthetic-Usability Effect ● Cost-Benefit ● Immersion