• J'aime
Ten Reasons Developers Hate Your API
Prochain SlideShare
Chargement dans... 5
×

Ten Reasons Developers Hate Your API

  • 55,970 vues
Transféré le

APIs are everywhere today and can be a great building block of modern applications. But all too often APIs are not truly great. Rather than love your API, developers curse it. How can you avoid that ...

APIs are everywhere today and can be a great building block of modern applications. But all too often APIs are not truly great. Rather than love your API, developers curse it. How can you avoid that fate? In this session we'll look at the most common mistakes API providers make and you can avoid making them too. Do you offer a bad developer experience (DX)? Poor, inconsistent API design? Unreliable services? This talk is a deep dive on not just what to avoid but what to do instead. And you'll leave knowing how to get developers to love your API, not hate it. 

Plus dans : Internet , Technologies , Design
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • Awesome, on top of all of these, most of the REST apis doesn't return proper HTTP codes in case of error.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • I have to second your use of Stripe's excellent example in this area. They are also *very* responsive to questions even from small shops.
    PayPal is abysmal in general dev user experience; I can't even imaging what Facebook must be like if they outranked PayPal in the Bad Rankings. ;)
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • pretty informative
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • very useful!!
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
  • Very useful information. Thanks for sharing this presentation.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
Aucun téléchargement

Vues

Total des vues
55,970
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
31

Actions

Partages
Téléchargements
752
Commentaires
11
J'aime
180

Ajouts 0

No embeds

Signaler un contenu

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
    No notes for slide

Transcript

  • 1. 10ReasonsDevelopers HateYourAPI (andwhattodoaboutit) John  Musser  @johnmusser    /    API  Science  @apiscience   GlueCon,  2014  
  • 2. (private  beta)  
  • 3. Your documentation sucks REASON #1
  • 4. ISSUES Static Unloved Nogettingstarted Inaccurate Unprofessional Incomplete Outofdate
  • 5. Bigpicture https://www.twilio.com/docs! FIX #1
  • 6. Clarity https://stripe.com/docs/api! FIX #2
  • 7. Find-ability https://stripe.com/docs/! FIX #3
  • 8. LiveDocsFIX #4 Interactivedocumentation, like...
  • 9. Swagger https://github.com/wordnik/swagger-core!
  • 10. I/ODocs https://github.com/mashery/iodocs!
  • 11. RAML RESTful API Modeling Language! raml.org!
  • 12. Yourcommunication skillsneedwork REASON #2
  • 13. Youdon’tkeep yourdevelopers informed REASON #2B
  • 14. ISSUES WheredoIgetsupportagain? Toomany/fewchannels Infrequentcommunication Youbrokemycodewithoutwarning
  • 15. ChangeLog http://developer.github.com/changes/! FIX #1
  • 16. Roadmap https://developers.facebook.com/roadmap/! FIX #2
  • 17. ReleaseNotes http://techblog.constantcontact.com/api/release-updates! FIX #3
  • 18. Blog http://aws.typepad.com/! FIX #4
  • 19. Forum http://stackoverflow.com/questions/tagged/soundcloud! FIX #5
  • 20. EmailFIX #6
  • 21. Youdon’t makeiteasy REASON #3
  • 22. ISSUES HowdoIgetmykeys? Nogettingstartedguide NoSDKs/samplesinmylanguage Nothingtocopy&paste… No“helloworld”
  • 23. Whatdoyoudo? https://www.twilio.com/voice/api! FIX #1
  • 24. Fastsignup https://manage.stripe.com/register! FIX #2 (so fast, you can even skip this step till you’re convinced…)
  • 25. The1-2-3 http://developer.constantcontact.com/get-started.html! FIX #3
  • 26. Quickstarts https://www.twilio.com/docs/quickstart! FIX #4
  • 27. Free&Trial https://parse.com/plans! FIX #5
  • 28. CopiousSDKsFIX #6
  • 29. UseGitHub https://github.com/OneNoteDev! FIX #7
  • 30. Lawyers REASON #4
  • 31. ISSUES Commercialrestrictions Notsetupforwin-win NoSLA Ratelimit/throttlingissues It’sallaboutyou
  • 32. BeclearFIX #1 http://500px.com/terms!
  • 33. SetthetoneFIX #2 https://www.etsy.com/developers/terms-of-use!
  • 34. 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   …”  
  • 35. Page  23  
  • 36. ThinklongtermFIX #4 https://developers.google.com/youtube/terms!
  • 37. Sharethewealth http://slideshare.net/jmusser! FIX #5
  • 38. YourAPIis unreliable REASON #5
  • 39. YourAPIis slow,buggyand unreliable REASON #5
  • 40. ISSUES Bugs Unannouncedchanges Performanceissues APIoutages Inconsistency
  • 41. Change (planned) BugOutage APIs can break Rate limit ToS violation Change (undocumented) Provider biz change Network
  • 42. Breaking bad
  • 43. Don’t let this happen to you GET http://api.yourcompany.com/resource/142! !
  • 44. Or this… GET http://api.yourcompany.com/resource/142! !
  • 45. StatusPage http://status.aws.amazon.com/! FIX #1
  • 46. MonitorFIX #2 http://www.apiscience.com!
  • 47. Don’thide http://blog.akismet.com! FIX #3
  • 48. Youdon’tgiveme thetoolstohelp mesucceed REASON #6
  • 49. ISSUES Testconsole? OAuth,ouch HowdoIdebug? What’smyusage?Spend?
  • 50. DevDashboard https://manage.stripe.com/test/dashboard! FIX #1
  • 51. Debug/Log www.twilio.com/user/account/developer-tools/app-monitor! FIX #2
  • 52. TestSandbox https://www.twilio.com/user/account! FIX #3
  • 53. Playground https://developers.google.com/oauthplayground! FIX #4
  • 54. TestConsole https://apigee.com/providers! FIX #5
  • 55. You’remarketing tome, nothelpingme REASON #7
  • 56. ISSUES Youdon’tlisten Code,notwhitepapers Developershatemarketing Self-service,not“callus”
  • 57. Evangelists http://sendgrid.com/developers! FIX #1
  • 58. EventsFIX #2 https://www.twilio.com/conference!
  • 59. HackathonsFIX #3
  • 60. YourAPIistoo complex REASON #8
  • 61. Youhaveyourown customs (auth,protocol,formats) REASON #8B
  • 62. ISSUES Terse,crypticerrormessages NoJSONsupport Your“REST”APIdoesn’tuseHTTPrules YoustilluseSOAP
  • 63. UseRESTFIX #1 API protocols and styles Based on directory of 5,100 web APIs listed at ProgrammableWeb, February 2012
  • 64. UseJSONFIX #2 Percentage of APIs supporting JSON vs XML Based on directory 11,000 web APIs listed at ProgrammableWeb, Dec 2013
  • 65. XML vs. JSON in new APIs Based on new APIs listed at ProgrammableWeb in 2013
  • 66. BepragmaticFIX #3 http://apigee.com/about/content/web-api-design! Web API Design, Brian Mulloy
  • 67. YourTTFHW istoolong REASON #9
  • 68. What’s your TTFHW? Time To First “Hello World” aka: how long from zero to 60?
  • 69. GreatDXFIX #1 http://developerexperience.org!
  • 70. FIX #2 Allprior “fixes” inthistalk:-)
  • 71. Youhaven’t learned REASON #10
  • 72. Youhaven’t learned (fromthebest) REASON #10
  • 73. UserolemodelsFIX #1 Twilio,Stripe,Github, SendGrid
  • 74. KeeplearningFIX #2 apidays.io  apistrategyconference.com   www.gluecon.com   apicon.programmableweb.com  iloveapis2013.com   apiconference.com  
  • 75. FIX #3 Remember: An API is a journey, not a destination
  • 76. Thank You QuesMons,  ideas,  comments? john@apiscience.com   @johnmusser    
  • 77. Photo  credits   Race  car:  hQp://www.flickr.com/photos/lim_lik_wei/3270522646/   Winding  road:  hQp://www.flickr.com/photos/maQhewthecoolguy/7518274258/