SlideShare a Scribd company logo
Applying Design Principles
to APIs
In Four Parts



Brian Mulloy
@landlessness

Apigee
@apigee
“Whatever is worth doing at all, is worth
doing well.”
                           -Philip Dormer Stanhope
                                  Earl of Chesterfield
                                                1746
amazon.com
Baker’s Dozen
1.    Development Cycle
2.    Errors
3.    Visibility
4.    Flexibility-Usability Tradeoff
5.    Hick’s Law
6.    80/20 Rule
7.    Inverted Pyramid
8.    Advance Organizer
9.    Consistency
10.   Self Similarity
11.   Aesthetic-Usability Effect
12.   Cost-Benefit
13.   Immersion
Four Parts

I.     Empathize
       Development Cycle ● Errors ● Visibility


II.    Don’t Overwhelm
       Flexibility-Usability Tradeoff ● Hick’s Law ● 80/20 Rule ● Inverted Pyramid


III.   Don’t Reinvent the Wheel
       Advance Organizer ● Consistency ● Self Similarity


IV.    Be Beautiful
       Aesthetic-Usability Effect ● Cost-Benefit ● Immersion
Part I: Empathize
i.     Development Cycle
ii.    Errors
iii.   Visibility
“   Successful products typically follow four stages
    of creation: requirements, design,
    development, and testing.

                      Development Cycle
                                  Universal Principles of Design
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 Cycle
Universal 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
“   An action or omission of action yielding an
    unintended consequence.


                                               Errors
                                 Universal Principles of Design
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
“   The usability of a system is improved when its
    status and methods of use are clearly visible.


                                        Visibility
                                 Universal Principles of Design
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: Empathize
i.     Development Cycle
ii.    Errors
iii.   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
       Development Cycle ● Errors ● Visibility


II.    Don’t Overwhelm
       Flexibility-Usability Tradeoff ● Hick’s Law ● 80/20 Rule ● Inverted Pyramid


III.   Don’t Reinvent the Wheel
       Advance Organizer ● Consistency ● Self Similarity


IV.    Be Beautiful
       Aesthetic-Usability Effect ● Cost-Benefit ● Immersion
THANK YOU
Questions and ideas to:

Brian Mulloy
@landlessness
brian@apigee.com

More Related Content

What's hot

Google-IO-Presentation
Google-IO-PresentationGoogle-IO-Presentation
Google-IO-Presentation
Leo Chen
 
Automate Everyday Tasks with Functions
Automate Everyday Tasks with FunctionsAutomate Everyday Tasks with Functions
Automate Everyday Tasks with Functions
Sean ODell
 

What's hot (20)

jhipster-geekle-gbloch
jhipster-geekle-gblochjhipster-geekle-gbloch
jhipster-geekle-gbloch
 
Devnest 110802
Devnest 110802Devnest 110802
Devnest 110802
 
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
 
The Epic Pivot: Heroku's Story
The Epic Pivot: Heroku's StoryThe Epic Pivot: Heroku's Story
The Epic Pivot: Heroku's Story
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Google-IO-Presentation
Google-IO-PresentationGoogle-IO-Presentation
Google-IO-Presentation
 
Automate Everyday Tasks with Functions
Automate Everyday Tasks with FunctionsAutomate Everyday Tasks with Functions
Automate Everyday Tasks with Functions
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with Swagger
 
Mitchell levy repurposingcontent-13may15-1pgr
Mitchell levy repurposingcontent-13may15-1pgrMitchell levy repurposingcontent-13may15-1pgr
Mitchell levy repurposingcontent-13may15-1pgr
 
How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...
How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...
How NOT to Suck at App Distribution - Quick Start Guide - Appsocially's Growt...
 
I Love APIs 2015: MasterClass Developer Programs and Marketing Workshop
I Love APIs 2015: MasterClass Developer Programs and Marketing WorkshopI Love APIs 2015: MasterClass Developer Programs and Marketing Workshop
I Love APIs 2015: MasterClass Developer Programs and Marketing Workshop
 
Avoiding Runaway Trains
Avoiding Runaway TrainsAvoiding Runaway Trains
Avoiding Runaway Trains
 
Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014
Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014
Pimp legacy PHP apps with Apigility - TrueNorthPHP 2014
 
Pitfall for WioLTE
Pitfall for WioLTEPitfall for WioLTE
Pitfall for WioLTE
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData Analytics
 
AIP Tutorial 4
AIP Tutorial 4AIP Tutorial 4
AIP Tutorial 4
 
Slack's Developer Relations Strategy - CMX Summit West 2016
Slack's Developer Relations Strategy - CMX Summit West 2016Slack's Developer Relations Strategy - CMX Summit West 2016
Slack's Developer Relations Strategy - CMX Summit West 2016
 
DevOps for Hackathons: DevOps without the Ops
DevOps for Hackathons: DevOps without the OpsDevOps for Hackathons: DevOps without the Ops
DevOps for Hackathons: DevOps without the Ops
 
Google IO 2018
Google IO 2018Google IO 2018
Google IO 2018
 
AEM responsive
AEM responsiveAEM responsive
AEM responsive
 

Similar to Applying Design Priciples to APIs - 1 of 4

Similar to Applying Design Priciples to APIs - 1 of 4 (20)

API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie Mitra
 
Well Crafted API Models – Key to Streamlining Workflows
Well Crafted API Models – Key to Streamlining WorkflowsWell Crafted API Models – Key to Streamlining Workflows
Well Crafted API Models – Key to Streamlining Workflows
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API Design
 
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
 
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile DevelopmentKevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
 
API Economy - Cuomo
API Economy - Cuomo API Economy - Cuomo
API Economy - Cuomo
 
10 Pitfalls to Avoid in Creating RIAs
10 Pitfalls to Avoid in Creating RIAs10 Pitfalls to Avoid in Creating RIAs
10 Pitfalls to Avoid in Creating RIAs
 
10 Pitfalls to Avoid in Creating RIAs
10 Pitfalls to Avoid in Creating RIAs10 Pitfalls to Avoid in Creating RIAs
10 Pitfalls to Avoid in Creating RIAs
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
 
Cross Platform Development with Spring
Cross Platform Development with SpringCross Platform Development with Spring
Cross Platform Development with Spring
 
Accidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new APIAccidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new API
 
Make Your Contribution Count. Adding Value to the API as a Technical Communic...
Make Your Contribution Count. Adding Value to the API as a Technical Communic...Make Your Contribution Count. Adding Value to the API as a Technical Communic...
Make Your Contribution Count. Adding Value to the API as a Technical Communic...
 
Always Mind Your [Developer] Surroundings - API City 2018
Always Mind Your [Developer] Surroundings - API City 2018Always Mind Your [Developer] Surroundings - API City 2018
Always Mind Your [Developer] Surroundings - API City 2018
 
ROI for APIs: Using Hackathons to Evaluate Your API Program
ROI for APIs: Using Hackathons to Evaluate Your API ProgramROI for APIs: Using Hackathons to Evaluate Your API Program
ROI for APIs: Using Hackathons to Evaluate Your API Program
 
Webinar on How to use MyAppConverter
Webinar on How to use  MyAppConverterWebinar on How to use  MyAppConverter
Webinar on How to use MyAppConverter
 
Four Keys to Efficient DevOps
Four Keys to Efficient DevOpsFour Keys to Efficient DevOps
Four Keys to Efficient DevOps
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
5 Steps to Delivering Many Sites, Lowering Costs, and Improving Governance
 5 Steps to Delivering Many Sites, Lowering Costs, and Improving Governance 5 Steps to Delivering Many Sites, Lowering Costs, and Improving Governance
5 Steps to Delivering Many Sites, Lowering Costs, and Improving Governance
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 

Applying Design Priciples to APIs - 1 of 4

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