Date post: | 10-May-2015 |
Category: |
Technology |
Upload: | landlessness |
View: | 5,520 times |
Download: | 0 times |
Applying Design Principles to APIsIn Four Parts
Brian Mulloy@landlessness
Apigee@apigee
“Whatever is worth doing at all, is worth doing well.”
-Philip Dormer StanhopeEarl of Chesterfield
1746
amazon.com
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
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
Part I: Empathizei. Development Cycleii. Errorsiii. Visibility
Development CycleUniversal Principles of Design
Successful products typically follow four stages of creation: requirements, design, development, and testing.“
Questions to ask at each phase:1. What is the developer doing?2. How can we help?
Development Cycle: Requirements
Share our domain knowledge
Share our domain knowledge✓ Educate others about our domain✓ Certify our partner developers
Development Cycle: Design
Point the way
Point the way✓ Inspire with an app gallery✓ Guide the design of apps✓ List the objects in our system
Development Cycle: Development
Share our API knowledge
Share our API knowledge✓ Engage developers with an API console✓ Be accessible via forums, social media & email
Development Cycle: Testing
Ask for input, give data
Ask for input, give data✓ Receive bugs & feature requests directly from developers✓ Show each developer his API data
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
ErrorsUniversal Principles of Design
An action or omission of action yielding an unintended consequence.“
Make it easy to learn from mistakes
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
VisibilityUniversal Principles of Design
The usability of a system is improved when its status and methods of use are clearly visible.“
Be transparent and human
Be transparent and human✓ Broadcast system status and alerts✓ Apologize for mistakes and give details✓ Publish the API product roadmap
End of Part I: Empathizei. Development Cycleii. Errorsiii. Visibility
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
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