10 reasons developers
play

10 Reasons Developers Hate Your API (and what to do about it) John - PowerPoint PPT Presentation

10 Reasons Developers Hate Your API (and what to do about it) John Musser @johnmusser / API Science @apiscience QCon NYC, 2014 (private beta) 1 # N O S A E R Your documentation


  1. 10 Reasons Developers Hate Your API (and what to do about it) John ¡Musser ¡@johnmusser ¡ ¡/ ¡ ¡API ¡Science ¡@apiscience ¡ QCon ¡NYC, ¡2014 ¡

  2. (private ¡beta) ¡

  3. 1 # N O S A E R Your documentation sucks

  4. S E U S S I Out of date Inaccurate Incomplete No getting started Static Unprofessional Unloved

  5. Big picture 1 # X I F https://www.twilio.com/docs �

  6. Clarity 2 # X I F https://stripe.com/docs/api �

  7. Find-ability 3 # X I F https://stripe.com/docs/ �

  8. Live Docs 4 # X I F Interactive documentation, like...

  9. Swagger https://github.com/wordnik/swagger-core �

  10. I/O Docs https://github.com/mashery/iodocs �

  11. RAML RESTful API Modeling Language � raml.org �

  12. 2 # N O S A E R Your communication skills need work

  13. B 2 # N O S A E R You don’t keep your developers informed

  14. S E U S S I Infrequent communication You broke my code without warning Too many/few channels Where do I get support again?

  15. Change Log 1 # X I F http://developer.github.com/changes/ �

  16. Roadmap 2 # X I F https://developers.facebook.com/roadmap/ �

  17. Release Notes 3 # X I F http://techblog.constantcontact.com/api/release-updates �

  18. Blog 4 # X I F http://aws.typepad.com/ �

  19. Forum 5 # X I F http://stackoverflow.com/questions/tagged/soundcloud �

  20. Email 6 # X I F

  21. 3 # N O S A E R You don’t make it easy

  22. S E U S No “hello world” S I No getting started guide How do I get my keys? No SDKs / samples in my language Nothing to copy & paste…

  23. What do you do? 1 # X I F https://www.twilio.com/voice/api �

  24. Fast signup 2 # X I F (so fast, you can even skip this step till you’re convinced…) https://manage.stripe.com/register �

  25. The 1-2-3 3 # X I F http://developer.constantcontact.com/get-started.html �

  26. Quickstarts 4 # X I F https://www.twilio.com/docs/quickstart �

  27. Free & Trial 5 # X I F https://parse.com/plans �

  28. Copious SDKs 6 # X I F

  29. Use GitHub 7 # X I F https://github.com/OneNoteDev �

  30. 4 # N O S A E R Lawyers

  31. S E U S S I It’s all about you Not setup for win-win Commercial restrictions No SLA Rate limit / throttling issues

  32. Be clear 1 # X I F http://500px.com/terms �

  33. Set the tone 2 # X I F https://www.etsy.com/developers/terms-of-use �

  34. Shorter = Better 3 # X I F “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 ¡ …” ¡ http://googledevelopers.blogspot.com �

  35. Page ¡23 ¡

  36. Think long term 4 # X I F https://developers.google.com/youtube/terms �

  37. Share the wealth 5 # X I F http://slideshare.net/jmusser �

  38. 5 # N O S A E R Your API is unreliable

  39. 5 # N O S A E R Your API is slow, buggy and unreliable

  40. S E U S S I API outages Unannounced changes Bugs Performance issues Inconsistency

  41. APIs can break Outage Bug Rate limit Change Change ( planned ) ( undocumented ) Provider biz ToS violation Network change

  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. Status Page 1 # X I F http://status.aws.amazon.com/ �

  46. Monitor 2 # X I F http://www.apiscience.com �

  47. Don’t hide 3 # X I F http://blog.akismet.com �

  48. 6 # N O S A E R You don’t give me the tools to help me succeed

  49. S E U S S I How do I debug? What’s my usage? Spend? OAuth, ouch Test console?

  50. Dev Dashboard 1 # X I F https://manage.stripe.com/test/dashboard �

  51. Debug / Log 2 # X I F www.twilio.com/user/account/developer-tools/app-monitor �

  52. Test Sandbox 3 # X I F https://www.twilio.com/user/account �

  53. Playground 4 # X I F https://developers.google.com/oauthplayground �

  54. Test Console 5 # X I F https://apigee.com/providers �

  55. 7 # N O S A E R You’re marketing to me, not helping me

  56. S E U S S I Self-service, not “call us” Code, not whitepapers You don’t listen Developers hate marketing

  57. Evangelists 1 # X I F http://sendgrid.com/developers �

  58. Events 2 # X I F https://www.twilio.com/conference �

  59. Hackathons 3 # X I F

  60. 8 # N O S A E R Your API is too complex

  61. B 8 # N O S A E R You have your own customs (auth, protocol, formats)

  62. S E U S S I You still use SOAP No JSON support Terse, cryptic error messages Your “REST” API doesn’t use HTTP rules

  63. Use REST 1 # X I F API protocols and styles Based on directory of 5,100 web APIs listed at ProgrammableWeb, February 2012

  64. Use JSON 2 # X I F 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. Be pragmatic 3 # X I F Web API Design, Brian Mulloy http://apigee.com/about/content/web-api-design �

  67. 9 # N O S A E R Your TTFHW is too long

  68. What’s your TTFHW? Time To First “Hello World” aka: how long from zero to 60?

  69. Great DX 1 # X I F http://developerexperience.org �

  70. 2 # X I F All prior “fixes” in this talk :-)

  71. 0 1 # N O S A E R You haven’t learned

  72. 0 1 # N O S A E R You haven’t learned (from the best)

  73. Use role models 1 # X I F Twilio, Stripe, GitHub, SendGrid

  74. Keep learning 2 # X I F www.qconferences.com ¡ www.gluecon.com ¡ apistrategyconference.com ¡ apidays.io ¡ iloveapis2013.com ¡ apicon.programmableweb.com ¡ apiconference.com ¡

  75. 3 Remember: # X I F An API is a journey, not a destination

  76. Thank You QuesNons, ¡ideas, ¡comments? john@apiscience.com ¡ @johnmusser ¡ ¡

  77. Photo ¡credits ¡ Race ¡car: ¡hRp://www.flickr.com/photos/lim_lik_wei/3270522646/ ¡ Winding ¡road: ¡hRp://www.flickr.com/photos/maRhewthecoolguy/7518274258/ ¡ ¡ ¡

Recommend


More recommend