SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

"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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Último (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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

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