+ All Categories
Home > Technology > Applying Design Priciples to APIs - 1 of 4

Applying Design Priciples to APIs - 1 of 4

Date post: 10-May-2015
Category:
Upload: landlessness
View: 5,520 times
Download: 0 times
Share this document with a friend
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.
Popular Tags:
50
Applying Design Principles to APIs In Four Parts Brian Mulloy @landlessness Apigee @apigee
Transcript
Page 1: Applying Design Priciples to APIs - 1 of 4

Applying Design Principles to APIsIn Four Parts

Brian Mulloy@landlessness

Apigee@apigee

Page 2: Applying Design Priciples to APIs - 1 of 4

“Whatever is worth doing at all, is worth doing well.”

-Philip Dormer StanhopeEarl of Chesterfield

1746

Page 4: Applying Design Priciples to APIs - 1 of 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

Page 5: Applying Design Priciples to APIs - 1 of 4

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

Part I: Empathizei. Development Cycleii. Errorsiii. Visibility

Page 7: Applying Design Priciples to APIs - 1 of 4

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

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

Development Cycle: Requirements

Page 10: Applying Design Priciples to APIs - 1 of 4

Share our domain knowledge

Page 11: Applying Design Priciples to APIs - 1 of 4
Page 12: Applying Design Priciples to APIs - 1 of 4
Page 13: Applying Design Priciples to APIs - 1 of 4
Page 14: Applying Design Priciples to APIs - 1 of 4
Page 15: Applying Design Priciples to APIs - 1 of 4

Share our domain knowledge✓ Educate others about our domain✓ Certify our partner developers

Page 16: Applying Design Priciples to APIs - 1 of 4

Development Cycle: Design

Page 17: Applying Design Priciples to APIs - 1 of 4

Point the way

Page 18: Applying Design Priciples to APIs - 1 of 4
Page 19: Applying Design Priciples to APIs - 1 of 4
Page 20: Applying Design Priciples to APIs - 1 of 4
Page 21: Applying Design Priciples to APIs - 1 of 4

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

Development Cycle: Development

Page 23: Applying Design Priciples to APIs - 1 of 4

Share our API knowledge

Page 24: Applying Design Priciples to APIs - 1 of 4
Page 25: Applying Design Priciples to APIs - 1 of 4
Page 26: Applying Design Priciples to APIs - 1 of 4
Page 27: Applying Design Priciples to APIs - 1 of 4

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

Development Cycle: Testing

Page 29: Applying Design Priciples to APIs - 1 of 4

Ask for input, give data

Page 30: Applying Design Priciples to APIs - 1 of 4
Page 31: Applying Design Priciples to APIs - 1 of 4
Page 32: Applying Design Priciples to APIs - 1 of 4
Page 33: Applying Design Priciples to APIs - 1 of 4

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

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

ErrorsUniversal Principles of Design

An action or omission of action yielding an unintended consequence.“

Page 36: Applying Design Priciples to APIs - 1 of 4

Make it easy to learn from mistakes

Page 37: Applying Design Priciples to APIs - 1 of 4
Page 38: Applying Design Priciples to APIs - 1 of 4
Page 39: Applying Design Priciples to APIs - 1 of 4
Page 40: Applying Design Priciples to APIs - 1 of 4

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

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

Be transparent and human

Page 43: Applying Design Priciples to APIs - 1 of 4
Page 44: Applying Design Priciples to APIs - 1 of 4
Page 45: Applying Design Priciples to APIs - 1 of 4
Page 46: Applying Design Priciples to APIs - 1 of 4

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

End of Part I: Empathizei. Development Cycleii. Errorsiii. Visibility

Page 48: Applying Design Priciples to APIs - 1 of 4

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

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 50: Applying Design Priciples to APIs - 1 of 4

THANK YOUQuestions and ideas to:

Brian Mulloy@[email protected]


Recommended