10ReasonsDevelopers
HateYourAPI
(andwhattodoaboutit)
John	
  Musser	
  @johnmusser	
  	
  /	
  	
  API	
  Science	
  @apiscience	
  
GlueCon,	
  2014	
  
(private	
  beta)	
  
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your API
Your
documentation
sucks
REASON #1
ISSUES
Static
Unloved
Nogettingstarted
Inaccurate
Unprofessional
Incomplete
Outofdate
Bigpicture
https://www.twilio.com/docs!
FIX #1
Clarity
https://stripe.com/docs/api!
FIX #2
Find-ability
https://stripe.com/docs/!
FIX #3
LiveDocsFIX #4
Interactivedocumentation,
like...
Swagger
https://github.com/wordnik/swagger-core!
I/ODocs
https://github.com/mashery/iodocs!
RAML
RESTful API Modeling Language!
raml.org!
Yourcommunication
skillsneedwork
REASON #2
Youdon’tkeep
yourdevelopers
informed
REASON #2B
ISSUES
WheredoIgetsupportagain?
Toomany/fewchannels
Infrequentcommunication
Youbrokemycodewithoutwarning
ChangeLog
http://developer.github.com/changes/!
FIX #1
Roadmap
https://developers.facebook.com/roadmap/!
FIX #2
ReleaseNotes
http://techblog.constantcontact.com/api/release-updates!
FIX #3
Blog
http://aws.typepad.com/!
FIX #4
Forum
http://stackoverflow.com/questions/tagged/soundcloud!
FIX #5
EmailFIX #6
Youdon’t
makeiteasy
REASON #3
ISSUES
HowdoIgetmykeys?
Nogettingstartedguide
NoSDKs/samplesinmylanguage
Nothingtocopy&paste…
No“helloworld”
Whatdoyoudo?
https://www.twilio.com/voice/api!
FIX #1
Fastsignup
https://manage.stripe.com/register!
FIX #2
(so fast, you can even skip this
step till you’re convinced…)
The1-2-3
http://developer.constantcontact.com/get-started.html!
FIX #3
Quickstarts
https://www.twilio.com/docs/quickstart!
FIX #4
Free&Trial
https://parse.com/plans!
FIX #5
CopiousSDKsFIX #6
UseGitHub
https://github.com/OneNoteDev!
FIX #7
Lawyers
REASON #4
ISSUES
Commercialrestrictions
Notsetupforwin-win
NoSLA
Ratelimit/throttlingissues
It’sallaboutyou
BeclearFIX #1
http://500px.com/terms!
SetthetoneFIX #2
https://www.etsy.com/developers/terms-of-use!
Shorter=BetterFIX #3
http://googledevelopers.blogspot.com!
“Beginning	
  today,	
  most	
  of	
  our	
  APIs	
  use	
  a	
  single	
  Terms	
  of	
  
Service.	
  We	
  have	
  rewri%en	
  these	
  terms	
  from	
  the	
  ground	
  
up	
  with	
  the	
  goals	
  of	
  making	
  them	
  concise	
  and	
  easier	
  to	
  
understand.	
  	
  
….	
  
In	
  this	
  rewrite,	
  we	
  have	
  removed	
  over	
  125,000	
  words	
  
from	
  the	
  combined	
  previous	
  terms	
  
…”	
  
Page	
  23	
  
ThinklongtermFIX #4
https://developers.google.com/youtube/terms!
Sharethewealth
http://slideshare.net/jmusser!
FIX #5
YourAPIis
unreliable
REASON #5
YourAPIis
slow,buggyand
unreliable
REASON #5
ISSUES
Bugs
Unannouncedchanges
Performanceissues
APIoutages
Inconsistency
Change
(planned)
BugOutage
APIs can break
Rate limit
ToS violation
Change
(undocumented)
Provider biz
change
Network
Breaking bad
Don’t let this happen to you
GET http://api.yourcompany.com/resource/142!
!
Or this…
GET http://api.yourcompany.com/resource/142!
!
StatusPage
http://status.aws.amazon.com/!
FIX #1
MonitorFIX #2
http://www.apiscience.com!
Don’thide
http://blog.akismet.com!
FIX #3
Youdon’tgiveme
thetoolstohelp
mesucceed
REASON #6
ISSUES
Testconsole?
OAuth,ouch
HowdoIdebug?
What’smyusage?Spend?
DevDashboard
https://manage.stripe.com/test/dashboard!
FIX #1
Debug/Log
www.twilio.com/user/account/developer-tools/app-monitor!
FIX #2
TestSandbox
https://www.twilio.com/user/account!
FIX #3
Playground
https://developers.google.com/oauthplayground!
FIX #4
TestConsole
https://apigee.com/providers!
FIX #5
You’remarketing
tome,
nothelpingme
REASON #7
ISSUES
Youdon’tlisten
Code,notwhitepapers
Developershatemarketing
Self-service,not“callus”
Evangelists
http://sendgrid.com/developers!
FIX #1
EventsFIX #2
https://www.twilio.com/conference!
HackathonsFIX #3
YourAPIistoo
complex
REASON #8
Youhaveyourown
customs
(auth,protocol,formats)
REASON #8B
ISSUES
Terse,crypticerrormessages
NoJSONsupport
Your“REST”APIdoesn’tuseHTTPrules
YoustilluseSOAP
UseRESTFIX #1
API protocols and styles
Based on directory of 5,100 web APIs listed at ProgrammableWeb, February 2012
UseJSONFIX #2
Percentage of APIs supporting JSON vs XML
Based on directory 11,000 web APIs listed at ProgrammableWeb, Dec 2013
XML vs. JSON in new APIs
Based on new APIs listed at ProgrammableWeb in 2013
BepragmaticFIX #3
http://apigee.com/about/content/web-api-design!
Web API Design,
Brian Mulloy
YourTTFHW
istoolong
REASON #9
What’s your TTFHW?
Time To First “Hello World”
aka: how long from zero to 60?
GreatDXFIX #1
http://developerexperience.org!
FIX #2
Allprior
“fixes”
inthistalk:-)
Youhaven’t
learned
REASON #10
Youhaven’t
learned
(fromthebest)
REASON #10
UserolemodelsFIX #1
Twilio,Stripe,Github,
SendGrid
KeeplearningFIX #2
apidays.io	
  apistrategyconference.com	
  
www.gluecon.com	
  
apicon.programmableweb.com	
  iloveapis2013.com	
   apiconference.com	
  
FIX #3
Remember:
An API is a journey,
not a destination
Thank You
QuesMons,	
  ideas,	
  comments?
john@apiscience.com	
  
@johnmusser	
  
	
  
Photo	
  credits	
  
Race	
  car:	
  hQp://www.flickr.com/photos/lim_lik_wei/3270522646/	
  
Winding	
  road:	
  hQp://www.flickr.com/photos/maQhewthecoolguy/7518274258/	
  
	
  
	
  

More Related Content

PDF
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
PPT
API Strategy Presentation
PDF
API Maturity Model (Webcast with Accenture)
PPTX
GitHub Copilot.pptx
PDF
Cloud-Native Observability
PPTX
AzureOpenAI.pptx
PPTX
introduction Azure OpenAI by Usama wahab khan
PDF
Observability & Datadog
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
API Strategy Presentation
API Maturity Model (Webcast with Accenture)
GitHub Copilot.pptx
Cloud-Native Observability
AzureOpenAI.pptx
introduction Azure OpenAI by Usama wahab khan
Observability & Datadog

What's hot (20)

PPTX
Modern CI/CD Pipeline Using Azure DevOps
PPTX
DevOps to DevSecOps Journey..
PPTX
Building APIs with Mule and Spring Boot
PPTX
APIdays London 2019 - Selecting the best API Governance for your organisation...
PDF
Build and Modernize Intelligent Apps​
PDF
The Architecture of an API Platform
PPTX
API Strategy Introduction
PPTX
Github copilot
PDF
Highlights of WSO2 API Manager 4.0.0
PPTX
Apigee Products Overview
PPTX
MLOps with Azure DevOps
PPTX
API LifeCycle Management
PPTX
From Zero to a Million Users - Dropbox and Xobni lessons learned
PDF
Azure DevOps Presentation
PDF
Low Code Capabilities of Digital Product Design Platforms
PDF
ChatGPT, Generative AI and Microsoft Copilot: Step Into the Future - Geoff Ab...
PPSX
Event Sourcing & CQRS, Kafka, Rabbit MQ
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PDF
API Best Practices Webinar: Metrics - What to Measure
PPTX
Azure DevOps Best Practices Webinar
Modern CI/CD Pipeline Using Azure DevOps
DevOps to DevSecOps Journey..
Building APIs with Mule and Spring Boot
APIdays London 2019 - Selecting the best API Governance for your organisation...
Build and Modernize Intelligent Apps​
The Architecture of an API Platform
API Strategy Introduction
Github copilot
Highlights of WSO2 API Manager 4.0.0
Apigee Products Overview
MLOps with Azure DevOps
API LifeCycle Management
From Zero to a Million Users - Dropbox and Xobni lessons learned
Azure DevOps Presentation
Low Code Capabilities of Digital Product Design Platforms
ChatGPT, Generative AI and Microsoft Copilot: Step Into the Future - Geoff Ab...
Event Sourcing & CQRS, Kafka, Rabbit MQ
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
API Best Practices Webinar: Metrics - What to Measure
Azure DevOps Best Practices Webinar
Ad

Similar to Ten Reasons Developers Hate Your API (20)

PDF
もし青森の女子WebデザイナーがAndroidと出会ったら。
DOC
React native vs flutter
PDF
JBoss Forge - Breaking new ground in developer productivity
PDF
Build your own Language - Why and How?
PDF
Faster Secure Software Development with Continuous Deployment - PH Days 2013
PDF
Which Top Programming Languages to Learn in 2024 for High-Demand Tech Jobs_.pdf
PDF
The Ring programming language version 1.5.1 book - Part 4 of 180
PDF
Flutter study jam 2019
PDF
Single Page Web Apps
PDF
Awesome application in 2014
PPTX
FAKE (F# Make) & Automation
PDF
The Ring programming language version 1.5.2 book - Part 5 of 181
PDF
Don't screw it up! How to build durable API
PDF
What Are Your Options If You Can’t Use Flutter_.pdf
PDF
The Ring programming language version 1.5.4 book - Part 5 of 185
PDF
The Ring programming language version 1.10 book - Part 6 of 212
PPTX
Dart_Programming_language_and_Flutter_Framework.pptx
PDF
Converging Big Data and Application Infrastructure by Steven Poutsy
PPTX
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PDF
The Ring programming language version 1.5.3 book - Part 5 of 184
もし青森の女子WebデザイナーがAndroidと出会ったら。
React native vs flutter
JBoss Forge - Breaking new ground in developer productivity
Build your own Language - Why and How?
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Which Top Programming Languages to Learn in 2024 for High-Demand Tech Jobs_.pdf
The Ring programming language version 1.5.1 book - Part 4 of 180
Flutter study jam 2019
Single Page Web Apps
Awesome application in 2014
FAKE (F# Make) & Automation
The Ring programming language version 1.5.2 book - Part 5 of 181
Don't screw it up! How to build durable API
What Are Your Options If You Can’t Use Flutter_.pdf
The Ring programming language version 1.5.4 book - Part 5 of 185
The Ring programming language version 1.10 book - Part 6 of 212
Dart_Programming_language_and_Flutter_Framework.pptx
Converging Big Data and Application Infrastructure by Steven Poutsy
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
The Ring programming language version 1.5.3 book - Part 5 of 184
Ad

More from John Musser (9)

PDF
Why API Ops is the Next Wave of DevOps
PDF
API Business Models
PDF
What Makes a Great Open API?
PDF
Open APIs: What's Hot, What's Not?
PDF
Open APIs: What's Hot, What's Not?
PPT
Open APIs and the Semantic Web 2011
PPTX
Open APIs - State of the Market 2011
PPT
Open API Ecosystem Overview: December 2010
PPT
Open APIs: State of the Market, May 2010
Why API Ops is the Next Wave of DevOps
API Business Models
What Makes a Great Open API?
Open APIs: What's Hot, What's Not?
Open APIs: What's Hot, What's Not?
Open APIs and the Semantic Web 2011
Open APIs - State of the Market 2011
Open API Ecosystem Overview: December 2010
Open APIs: State of the Market, May 2010

Recently uploaded (20)

PPTX
Reading as a good Form of Recreation
PDF
Uptota Investor Deck - Where Africa Meets Blockchain
PDF
The_Decisive_Battle_of_Yarmuk,battle of yarmuk
PPTX
Partner to Customer - Sales Presentation_V23.01.pptx
PPTX
最新版美国埃默里大学毕业证(Emory毕业证书)原版定制文凭学历认证
PDF
KEY COB2 UNIT 1: The Business of businessĐH KInh tế TP.HCM
PPTX
Top Website Bugs That Hurt User Experience – And How Expert Web Design Fixes
PDF
Alethe Consulting Corporate Profile and Solution Aproach
PPTX
Basic understanding of cloud computing one need
PPTX
Viva Digitally Software-Defined Wide Area Network.pptx
PPTX
MY PRESENTATION66666666666666666666.pptx
PDF
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
PPTX
KSS ON CYBERSECURITY INCIDENT RESPONSE AND PLANNING MANAGEMENT.pptx
PPTX
Layers_of_the_Earth_Grade7.pptx class by
PDF
Understand the Gitlab_presentation_task.pdf
PPTX
Concepts of Object Oriented Programming.
PPTX
curriculumandpedagogyinearlychildhoodcurriculum-171021103104 - Copy.pptx
DOCX
Memecoinist Update: Best Meme Coins 2025, Trump Meme Coin Predictions, and th...
PDF
Course Overview and Agenda cloud security
PPTX
AI_Cyberattack_Solutions AI AI AI AI .pptx
Reading as a good Form of Recreation
Uptota Investor Deck - Where Africa Meets Blockchain
The_Decisive_Battle_of_Yarmuk,battle of yarmuk
Partner to Customer - Sales Presentation_V23.01.pptx
最新版美国埃默里大学毕业证(Emory毕业证书)原版定制文凭学历认证
KEY COB2 UNIT 1: The Business of businessĐH KInh tế TP.HCM
Top Website Bugs That Hurt User Experience – And How Expert Web Design Fixes
Alethe Consulting Corporate Profile and Solution Aproach
Basic understanding of cloud computing one need
Viva Digitally Software-Defined Wide Area Network.pptx
MY PRESENTATION66666666666666666666.pptx
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
KSS ON CYBERSECURITY INCIDENT RESPONSE AND PLANNING MANAGEMENT.pptx
Layers_of_the_Earth_Grade7.pptx class by
Understand the Gitlab_presentation_task.pdf
Concepts of Object Oriented Programming.
curriculumandpedagogyinearlychildhoodcurriculum-171021103104 - Copy.pptx
Memecoinist Update: Best Meme Coins 2025, Trump Meme Coin Predictions, and th...
Course Overview and Agenda cloud security
AI_Cyberattack_Solutions AI AI AI AI .pptx

Ten Reasons Developers Hate Your API