Familiarity Breeds Contempt (Or why all APIs suck, even yours.)

Consultant at GridGain Systems / Wandle Software Limited
Jan. 30, 2014
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
Familiarity Breeds Contempt (Or why all APIs suck, even yours.)
1 of 19

More Related Content

What's hot

Writing Alexa Voice Skills With NodeJS (with a little IoT)Writing Alexa Voice Skills With NodeJS (with a little IoT)
Writing Alexa Voice Skills With NodeJS (with a little IoT)David Janes
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.Kirsten Hunter
Book Reader Bingo: Which Page-Turner Should I Use?Book Reader Bingo: Which Page-Turner Should I Use?
Book Reader Bingo: Which Page-Turner Should I Use?ebenenglish
The tale of 100 cve'sThe tale of 100 cve's
The tale of 100 cve'sPrajal Kulkarni
Reactive programmingReactive programming
Reactive programmingryanstout
Your First Amazon Alexa SkillYour First Amazon Alexa Skill
Your First Amazon Alexa SkillMike Christianson

Viewers also liked

Purna Virji - “Remarketing in Paid Search: 8 Proven Segments to Maximize Your...Purna Virji - “Remarketing in Paid Search: 8 Proven Segments to Maximize Your...
Purna Virji - “Remarketing in Paid Search: 8 Proven Segments to Maximize Your...Confluence Conference
Cet u bojiCet u boji
Cet u bojiZarko89
El justo no se asustaEl justo no se asusta
El justo no se asustaLuis Alberto Jiménez Manrique
Back 2 Business - Digital & SocialBack 2 Business - Digital & Social
Back 2 Business - Digital & SocialPhil Buckley
Search, Social & Online Reputation Management for Professional Service ProvidersSearch, Social & Online Reputation Management for Professional Service Providers
Search, Social & Online Reputation Management for Professional Service ProvidersPhil Buckley
Patrick allmond - “The Rise & Relevance of Internet TV”Patrick allmond - “The Rise & Relevance of Internet TV”
Patrick allmond - “The Rise & Relevance of Internet TV”Confluence Conference

Similar to Familiarity Breeds Contempt (Or why all APIs suck, even yours.)

Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
APIs.JSON: Bootstrapping The Web of APIsAPIs.JSON: Bootstrapping The Web of APIs
APIs.JSON: Bootstrapping The Web of APIs3scale
Docs as Part of the Product - Open Source Summit North America 2018Docs as Part of the Product - Open Source Summit North America 2018
Docs as Part of the Product - Open Source Summit North America 2018Den Delimarsky
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts

Similar to Familiarity Breeds Contempt (Or why all APIs suck, even yours.)(20)

Recently uploaded

Product Research Presentation-Maidy Veloso.pptxProduct Research Presentation-Maidy Veloso.pptx
Product Research Presentation-Maidy Veloso.pptxMaidyVeloso
Product Research Presentation-Maidy Veloso.pptxProduct Research Presentation-Maidy Veloso.pptx
Product Research Presentation-Maidy Veloso.pptxMaidyVeloso
Need for Speed: Removing speed bumps in API ProjectsNeed for Speed: Removing speed bumps in API Projects
Need for Speed: Removing speed bumps in API ProjectsŁukasz Chruściel
9C Monthly Newsletter - SEPT 20239C Monthly Newsletter - SEPT 2023
9C Monthly Newsletter - SEPT 2023PublishingTeam
Common WordPress APIs - Options APICommon WordPress APIs - Options API
Common WordPress APIs - Options APIJonathan Bossenger
"The Intersection of architecture and implementation", Mark Richards"The Intersection of architecture and implementation", Mark Richards
"The Intersection of architecture and implementation", Mark RichardsFwdays

Recently uploaded(20)

Familiarity Breeds Contempt (Or why all APIs suck, even yours.)

Editor's Notes

  1. She’s sad, and yet she has a burger, too.
  2. No, but really…
  3. If changing it might cause someone pain, it’s pretty much an API for the purposes of this talk
  4. If changing it might cause someone pain, it’s pretty much an API for the purposes of this talk
  5. Documentation Coming soon. Link to partial. Inadequate to code against No example. Complete Crap syncing Think about your use cases Error handling "something went wrong” (delicious) Facebook API fails when no friends GameCenter mysteriously fails when one user is connected on Simulator rather than a real device
  6. Consistent way of accessing data. Example: when you add a URL, the URL that gets saved is not always the one you send (you’ve mentioned stripping out some of the Google Reader junk; Delicious “helpfully” converts “www.wandlesoftware.com” to “http://www.wandlesoftware.com”). The only way to have the offline copy up-to-date is by doing a complete sync again. Tags is with commas… which they changed without any notice and without changing the rest of the API.
  7. Mobile considerations: Limited memory Limited bandwidth Potentially high latency Unreliable Really bad proxy servers
  8. You need the = after “hashes”
  9. If you want to allow syncing… why not have a “changes since DATE” function? Allow “get all” but in “pages”
  10. Versions Upward compatibility Spaces vs commas use same version Adding new features, but keeping the same version (and not documenting it) Notice period Yahoo ID Twitter oauth
  11. The title of this talk is “Familiarity Breeds Contempt” for a reason. You need to *use* an API to really appreciate it – and almost anything you’ve used you find problems with. That doesn’t mean they’re all bad – it’s a spectrum – but you should aim to be at the right end of the spectrum.
  12. Or at least, apps that are not as good as they could have been. The time I spend battling the API could have been better spent making the UI better or adding more features.