SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

jhipster-geekle-gbloch
jhipster-geekle-gblochjhipster-geekle-gbloch
jhipster-geekle-gblochGaëtan Bloch
 
Devnest 110802
Devnest 110802Devnest 110802
Devnest 110802Angus Fox
 
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 2021Matt Raible
 
The Epic Pivot: Heroku's Story
The Epic Pivot: Heroku's StoryThe Epic Pivot: Heroku's Story
The Epic Pivot: Heroku's StoryAdam Wiggins
 
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 CloudJeremy Likness
 
Google-IO-Presentation
Google-IO-PresentationGoogle-IO-Presentation
Google-IO-PresentationLeo Chen
 
Automate Everyday Tasks with Functions
Automate Everyday Tasks with FunctionsAutomate Everyday Tasks with Functions
Automate Everyday Tasks with FunctionsSean ODell
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with SwaggerChris Bailey
 
Mitchell levy repurposingcontent-13may15-1pgr
Mitchell levy repurposingcontent-13may15-1pgrMitchell levy repurposingcontent-13may15-1pgr
Mitchell levy repurposingcontent-13may15-1pgrMitchell Levy
 
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...Yusuke Takahashi, PhD
 
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 WorkshopApigee | Google Cloud
 
Avoiding Runaway Trains
Avoiding Runaway TrainsAvoiding Runaway Trains
Avoiding Runaway TrainsSkot Carruth
 
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 2014Michelangelo van Dam
 
Pitfall for WioLTE
Pitfall for WioLTEPitfall for WioLTE
Pitfall for WioLTEKouji Matsui
 
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 AnalyticsLuca Milanesio
 
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 2016CMX
 
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 OpsOr Rosenblatt
 

Tendances (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
 

Similaire à Applying Design Principles to APIs in Four Parts

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 MitraCA API Management
 
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 WorkflowsAxway
 
Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Scaling API Design - Nordic APIs 2014
Scaling API Design - Nordic APIs 2014Jason Harmon
 
Scaling API Design
Scaling API DesignScaling API Design
Scaling API DesignJason Harmon
 
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...apidays
 
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 DevelopmentAxway Appcelerator
 
API Economy - Cuomo
API Economy - Cuomo API Economy - Cuomo
API Economy - Cuomo Prolifics
 
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 RIAsEffective
 
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 RIAsEffectiveUI
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product StrategyRavi Kumar
 
Cross Platform Development with Spring
Cross Platform Development with SpringCross Platform Development with Spring
Cross Platform Development with SpringCygnet Infotech
 
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 APIMarjukka Niinioja
 
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...Petko Mikhailov
 
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 2018Bill Doerrfeld
 
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 ProgramCA API Management
 
Webinar on How to use MyAppConverter
Webinar on How to use  MyAppConverterWebinar on How to use  MyAppConverter
Webinar on How to use MyAppConverterJaoued Ahmed
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated PlatformsBill Doerrfeld
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
 
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 GovernanceRachel Wandishin
 

Similaire à Applying Design Principles to APIs in Four Parts (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
 

Dernier

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Dernier (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Applying Design Principles to APIs in Four Parts

  • 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