SlideShare a Scribd company logo
1 of 23
Download to read offline
How To Make APIs
That Don’t Suck
Michele Titolo
Sr. Mobile Engineer, Prolific Interactive
@micheletitolo
@micheletitolo
@micheletitolo
@micheletitolo
An “API” for the sake of this presentation
will refer to any way your software can
communicate with another piece of software.
@micheletitolo
@micheletitolo
Lesson 3:
Follow Conventions
@micheletitolo
@micheletitolo
Lesson 3 Summary
• Conventions save time
• Conventions save money
• Conventions make developers happy
@micheletitolo
@micheletitolo
Lesson 2:
Don’t be clever
@micheletitolo
@micheletitolo
• Be smart
• Be concise
• Don’t be clever
Lesson 2 Summary
@micheletitolo
@micheletitolo
Lesson 1:
Document, Document,
Document
@micheletitolo
@micheletitolo
Lesson 1 Summary
• Document
• Document
• Document
@micheletitolo
@micheletitolo
Lesson 0:
Expect the Unexpected
@micheletitolo
@micheletitolo
Lesson 0 Summary
• Follow conventions
• Don’t be clever
• Document, document, document
@micheletitolo
Resources
• Matt Gemmell - API Design
• Google Tech Talk - How To Design A Good
API
• Stackoverflow - What Do You Consider
Good Documentation
• RESTful Web Services by Leonard
Richardson
@micheletitolo
Thank You!
Michele Titolo
@micheletitolo

More Related Content

Similar to How To Make APIs That Don't Suck

Going where no one has gone before
Going where no one has gone beforeGoing where no one has gone before
Going where no one has gone before
Mirette Kangas
 
Deliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docx
Deliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docxDeliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docx
Deliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docx
theodorelove43763
 

Similar to How To Make APIs That Don't Suck (20)

Visualizing Visual Content - Digital Summit Phoenix 2014
Visualizing Visual Content - Digital Summit Phoenix 2014Visualizing Visual Content - Digital Summit Phoenix 2014
Visualizing Visual Content - Digital Summit Phoenix 2014
 
Unit 1 sepm software myths
Unit 1 sepm software mythsUnit 1 sepm software myths
Unit 1 sepm software myths
 
Evangelists as Developer Program Drivers (3scale at APIdays Berlin)
Evangelists as Developer Program Drivers (3scale at APIdays Berlin)Evangelists as Developer Program Drivers (3scale at APIdays Berlin)
Evangelists as Developer Program Drivers (3scale at APIdays Berlin)
 
User stories collection via interactive chatbot to support requirements gathe...
User stories collection via interactive chatbot to support requirements gathe...User stories collection via interactive chatbot to support requirements gathe...
User stories collection via interactive chatbot to support requirements gathe...
 
Awesome architectures in Magento 2.3
Awesome architectures in Magento 2.3Awesome architectures in Magento 2.3
Awesome architectures in Magento 2.3
 
Python report on twitter sentiment analysis
Python report on twitter sentiment analysisPython report on twitter sentiment analysis
Python report on twitter sentiment analysis
 
How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?
 
Practical AI & data science ethics
Practical AI & data science ethicsPractical AI & data science ethics
Practical AI & data science ethics
 
Top 8 Digital Marketing Trends of 2015 - SEMpdx - April 2015 - f
Top 8 Digital Marketing Trends of 2015 - SEMpdx - April 2015 - fTop 8 Digital Marketing Trends of 2015 - SEMpdx - April 2015 - f
Top 8 Digital Marketing Trends of 2015 - SEMpdx - April 2015 - f
 
Going where no one has gone before
Going where no one has gone beforeGoing where no one has gone before
Going where no one has gone before
 
The Impact of Artificial Intelligence on Mobile App Development
The Impact of Artificial Intelligence on Mobile App DevelopmentThe Impact of Artificial Intelligence on Mobile App Development
The Impact of Artificial Intelligence on Mobile App Development
 
Documentation avoidance for developers
Documentation avoidance for developersDocumentation avoidance for developers
Documentation avoidance for developers
 
Voxxed Days Thessaloniki 2016 - Documentation Avoidance
Voxxed Days Thessaloniki 2016 - Documentation AvoidanceVoxxed Days Thessaloniki 2016 - Documentation Avoidance
Voxxed Days Thessaloniki 2016 - Documentation Avoidance
 
Algorithm Marketplace and the new "Algorithm Economy"
Algorithm Marketplace and the new "Algorithm Economy"Algorithm Marketplace and the new "Algorithm Economy"
Algorithm Marketplace and the new "Algorithm Economy"
 
ChatGPT usage in software development - curse or boon.pdf
ChatGPT usage in software development - curse or boon.pdfChatGPT usage in software development - curse or boon.pdf
ChatGPT usage in software development - curse or boon.pdf
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
 
Hello World - Introduction to coding.pptx
Hello World - Introduction to coding.pptxHello World - Introduction to coding.pptx
Hello World - Introduction to coding.pptx
 
What makes python 3.11 special
What makes python 3.11 special What makes python 3.11 special
What makes python 3.11 special
 
Tools, Tips and Techniques for Developing Real-time Apps. Phil Leggetter
Tools, Tips and Techniques for Developing Real-time Apps. Phil LeggetterTools, Tips and Techniques for Developing Real-time Apps. Phil Leggetter
Tools, Tips and Techniques for Developing Real-time Apps. Phil Leggetter
 
Deliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docx
Deliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docxDeliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docx
Deliverable 2 - Using Visuals to Enhance Viewer PerceptionCompet.docx
 

More from Michele Titolo

Mastering the Project File (AltConf)
Mastering the Project File (AltConf)Mastering the Project File (AltConf)
Mastering the Project File (AltConf)
Michele Titolo
 

More from Michele Titolo (20)

Beam Me Up: Voyaging into Big Data
Beam Me Up: Voyaging into Big DataBeam Me Up: Voyaging into Big Data
Beam Me Up: Voyaging into Big Data
 
Tackling the Big, Impossible Project
Tackling the Big, Impossible ProjectTackling the Big, Impossible Project
Tackling the Big, Impossible Project
 
No Microservice is an Island
No Microservice is an IslandNo Microservice is an Island
No Microservice is an Island
 
From iOS to Distributed Systems
From iOS to Distributed SystemsFrom iOS to Distributed Systems
From iOS to Distributed Systems
 
More than po: Debugging in LLDB
More than po: Debugging in LLDBMore than po: Debugging in LLDB
More than po: Debugging in LLDB
 
APIs for the Mobile World
APIs for the Mobile WorldAPIs for the Mobile World
APIs for the Mobile World
 
Swift Generics in Theory and Practice
Swift Generics in Theory and PracticeSwift Generics in Theory and Practice
Swift Generics in Theory and Practice
 
Protocols promised-land-2
Protocols promised-land-2Protocols promised-land-2
Protocols promised-land-2
 
Multitasking
MultitaskingMultitasking
Multitasking
 
Making friendly-microservices
Making friendly-microservicesMaking friendly-microservices
Making friendly-microservices
 
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
More Than po: Debugging in LLDB @ CocoaConf SJ 2015More Than po: Debugging in LLDB @ CocoaConf SJ 2015
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
 
The Worst Code
The Worst CodeThe Worst Code
The Worst Code
 
More than `po`: Debugging in lldb
More than `po`: Debugging in lldbMore than `po`: Debugging in lldb
More than `po`: Debugging in lldb
 
Can't Handle My Scale v2
Can't Handle My Scale v2Can't Handle My Scale v2
Can't Handle My Scale v2
 
Can't Handle My Scale
Can't Handle My ScaleCan't Handle My Scale
Can't Handle My Scale
 
Cocoa Design Patterns in Swift
Cocoa Design Patterns in SwiftCocoa Design Patterns in Swift
Cocoa Design Patterns in Swift
 
Mastering the Project File (AltConf)
Mastering the Project File (AltConf)Mastering the Project File (AltConf)
Mastering the Project File (AltConf)
 
APIs: The Ugly
APIs: The UglyAPIs: The Ugly
APIs: The Ugly
 
That's Not My Code!
That's Not My Code!That's Not My Code!
That's Not My Code!
 
APIs: The good, the bad, the ugly
APIs: The good, the bad, the uglyAPIs: The good, the bad, the ugly
APIs: The good, the bad, the ugly
 

Recently uploaded

Recently uploaded (20)

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 

How To Make APIs That Don't Suck