SlideShare a Scribd company logo
For Accelerated Development
API Design Principles
Jonathan LeBlanc
Head of Developer Evangelism (North America)
Github: http://github.com/jcleblanc
Slides: http://slideshare.net/jcleblanc
Twitter: @jcleblanc
The Exploration of API Design
Blank Slate Constraints
Building APIs for Developers
The Tradeoff Decision
Developer efficiency task 1
Lowering perceived latency for developers
Lower Perceived Latency
What’s the Tradeoff?
System Layering
Result Caching
Layering the System
Encapsulates legacy systems
Simplified components
Better load balancing abilities
Systems can evolve independantly
Separation of Concerns
Stateless System Latency Issues
Data Duplication
A + B
A + C
Caching for Latency Reduction
Developer efficiency task 2
Use HTTP properly – standard request and
response types
Use HTTP Properly
What’s the Tradeoff?
Requests and Responses
GET / PUT / POST / DELETE
have specific actions
Proper status codes and error
responses
Don’t do This
{"error": "error 10008"}
Do This
HTTP/1.1 400 Bad Request
Content-Length: 35
{"message":"Problems parsing JSON"}
Descriptive Messaging
Developer efficiency task 3
Building in automation – using HATEOAS
Build in Automation
What’s the Tradeoff?
Payload Size Code Length
How we Normally Consume APIs
Using HATEOAS to Automate
"links": [
{
"href":"https://api.sandbox.paypal.com/v1/payments/
authorization/6H149011U8307001M",
"rel":"self",
"method":"GET"
},{
"href":"https://api.sandbox.paypal.com/v1/payments/
authorization/6H149011U8307001M/capture",
"rel":"capture",
"method":"POST"
},{
"href":"https://api.sandbox.paypal.com/v1/payments/
authorization/6H149011U8307001M/void",
"rel":"void",
"method":"POST"
}
]
Developer efficiency task 2
Secure Data Resources
What’s the Tradeoff?
Security Usability
Some Security Models
Proprietary Solution
Basic Authentication
OAuth 1.0a
OAuth 2 / OpenID Connect
Developer efficiency task 4
Offload complexity to the implementing
provider
Offload Complexity
The Complexities
Authentication / Authorization
Legacy API support
Working between versioning
API changes that break implementations
Reduction in latency
API architecture is all about tradeoffs
You are not making a perfect
system, you are making a perfect
system for your developers
Bringing it all Together
API Design Principles for Accelerated Development
http://bit.ly/api_design_for_devs
Thank You!
Jonathan LeBlanc
Head of Developer Evangelism (North America)
Github: http://github.com/jcleblanc
Slides: http://slideshare.net/jcleblanc
Twitter: @jcleblanc

More Related Content

KEY
Continuous Deployment
PDF
Composer at Scale, Release and Dependency Management
PDF
Put an end to regression with codeception testing
PDF
Continuous Deployment: The Dirty Details
PDF
Midwest PHP 2017 DevOps For Small team
PDF
Developers Use Bitbucket and So Can You
KEY
Ease into HTML5 and CSS3
PPTX
Speed = $$$
Continuous Deployment
Composer at Scale, Release and Dependency Management
Put an end to regression with codeception testing
Continuous Deployment: The Dirty Details
Midwest PHP 2017 DevOps For Small team
Developers Use Bitbucket and So Can You
Ease into HTML5 and CSS3
Speed = $$$

What's hot (20)

PPTX
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
PDF
Principles and Practices in Continuous Deployment at Etsy
PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
PPTX
Beyond the Release: CI That Transforms Organizations
PDF
Making operations visible - devopsdays tokyo 2013
PPTX
Atlassian User Group NYC April 27 2017 Presentations
PPTX
Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
PDF
How To Use Selenium Successfully (Java Edition)
PDF
iOS Scroll Performance
PDF
Selenium and Sauce Labs
PPTX
Continuous Integration In The Cloud Final (1)
PPTX
Continuous Delivery
PDF
London Atlassian User Group - February 2014
PPTX
Selenium for Jobseekers
PDF
Continuous Deployment at Etsy — TimesOpen NYC
KEY
Continuous Integration, the minimum viable product
PDF
Common design principles and design patterns in automation testing
PDF
Selenium Testing on Chrome - Google DevFest Armenia 2015
PPTX
Cypress workshop for JSFoo 2019
PPTX
Advanced Appium
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Principles and Practices in Continuous Deployment at Etsy
Moving From a Selenium Grid to the Cloud - A Real Life Story
Beyond the Release: CI That Transforms Organizations
Making operations visible - devopsdays tokyo 2013
Atlassian User Group NYC April 27 2017 Presentations
Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
How To Use Selenium Successfully (Java Edition)
iOS Scroll Performance
Selenium and Sauce Labs
Continuous Integration In The Cloud Final (1)
Continuous Delivery
London Atlassian User Group - February 2014
Selenium for Jobseekers
Continuous Deployment at Etsy — TimesOpen NYC
Continuous Integration, the minimum viable product
Common design principles and design patterns in automation testing
Selenium Testing on Chrome - Google DevFest Armenia 2015
Cypress workshop for JSFoo 2019
Advanced Appium
Ad

Viewers also liked (10)

PDF
[資料庫][Mssql][AlwaysOn]
PPTX
API design principles for accelerated development
PPTX
Velocity Conference '13: Asynchronous messaging for performance optimization,...
PDF
Velocity building a performance lab for mobile apps in a day - final
PPT
Making the case for sandbox v1.1 (SD Conference 2007)
PPT
Mea1
PPTX
E commerce overview
PDF
Five Universal Principles of API Design
PPT
Integration of payment gateways using Paypal account
PDF
Daniel Ridder Best Practices SAP Gateway Builder
[資料庫][Mssql][AlwaysOn]
API design principles for accelerated development
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity building a performance lab for mobile apps in a day - final
Making the case for sandbox v1.1 (SD Conference 2007)
Mea1
E commerce overview
Five Universal Principles of API Design
Integration of payment gateways using Paypal account
Daniel Ridder Best Practices SAP Gateway Builder
Ad

Similar to API Design Principles for Accelerated Development (20)

PDF
Apex triggers i
PDF
System Design Interview Fundamentals 2nd Edition Rylan Liu
PDF
Cloud Native Debugging in Production - Dig Deep into your agents
PPTX
Stating the obvious - 121 Test Automation Day, Dublin, 2018
PPTX
Mulesoft torronto meetup_16
PPTX
Software Project Management - NESDEV
PPT
Peer Code Review An Agile Process
PDF
JUG Poznan - 2017.01.31
PPTX
Getting Ready for Ligtning Process Builder
PPTX
Designing Self-maintaining UI Tests for Web Applications
PPTX
Critical Capabilities to Shifting Left the Right Way
PDF
Groundspeed Presentation at the OWASP NY/NJ
PPTX
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
PPTX
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
PPTX
Top 20 software testing interview questions for sdet
PDF
Lublin Startup Festival - Mobile Architecture Design Patterns
PPT
Anti Patterns Siddhesh Lecture1 Of3
PPTX
How to downscope your EBS upgrade project
PDF
Software Development Lifecycle Presentation
PPTX
HPE Agile Manager and ALM Overview
Apex triggers i
System Design Interview Fundamentals 2nd Edition Rylan Liu
Cloud Native Debugging in Production - Dig Deep into your agents
Stating the obvious - 121 Test Automation Day, Dublin, 2018
Mulesoft torronto meetup_16
Software Project Management - NESDEV
Peer Code Review An Agile Process
JUG Poznan - 2017.01.31
Getting Ready for Ligtning Process Builder
Designing Self-maintaining UI Tests for Web Applications
Critical Capabilities to Shifting Left the Right Way
Groundspeed Presentation at the OWASP NY/NJ
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
Top 20 software testing interview questions for sdet
Lublin Startup Festival - Mobile Architecture Design Patterns
Anti Patterns Siddhesh Lecture1 Of3
How to downscope your EBS upgrade project
Software Development Lifecycle Presentation
HPE Agile Manager and ALM Overview

More from Jonathan LeBlanc (20)

PDF
JavaScript App Security: Auth and Identity on the Client
PDF
Improving Developer Onboarding Through Intelligent Data Insights
PDF
Better Data with Machine Learning and Serverless
PPTX
Best Practices for Application Development with Box
PPTX
Box Platform Overview
PPTX
Box Platform Developer Workshop
PPTX
Modern Cloud Data Security Practices
PPTX
Box Authentication Types
PPTX
Understanding Box UI Elements
PPTX
Understanding Box applications, tokens, and scoping
PPTX
The Future of Online Money: Creating Secure Payments Globally
PDF
Modern API Security with JSON Web Tokens
PPTX
Creating an In-Aisle Purchasing System from Scratch
PDF
Secure Payments Over Mixed Communication Media
PDF
Protecting the Future of Mobile Payments
PDF
Node.js Authentication and Data Security
PDF
PHP Identity and Data Security
PPTX
Secure Payments Over Mixed Communication Media
PDF
Protecting the Future of Mobile Payments
PPTX
Future of Identity, Data, and Wearable Security
JavaScript App Security: Auth and Identity on the Client
Improving Developer Onboarding Through Intelligent Data Insights
Better Data with Machine Learning and Serverless
Best Practices for Application Development with Box
Box Platform Overview
Box Platform Developer Workshop
Modern Cloud Data Security Practices
Box Authentication Types
Understanding Box UI Elements
Understanding Box applications, tokens, and scoping
The Future of Online Money: Creating Secure Payments Globally
Modern API Security with JSON Web Tokens
Creating an In-Aisle Purchasing System from Scratch
Secure Payments Over Mixed Communication Media
Protecting the Future of Mobile Payments
Node.js Authentication and Data Security
PHP Identity and Data Security
Secure Payments Over Mixed Communication Media
Protecting the Future of Mobile Payments
Future of Identity, Data, and Wearable Security

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Chapter 3 Spatial Domain Image Processing.pdf

API Design Principles for Accelerated Development

Editor's Notes

  • #4: At the end of the day, we need to be designing for the developers
  • #5: API system standards vs. efficient developmentREST is all about the tradeoffs
  • #6: Lowering perceived latency for developers
  • #7: Reduction in system layeringCaching can reduce reliability (stale data)
  • #8: Protects new systems from legacy APIs
  • #9: Layering the system to separate legacy systems
  • #12: Use HTTP properly – standard request and response types
  • #16: Building in automation, using HATEOAS
  • #17: Heavier payloads being sent throughReduction in developer code size & scalable architecture
  • #21: Use HTTP properly – standard request and response types
  • #24: Offload complexity to the implementing provider