Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Avoiding API Waterfalls

4,816 views

Published on

Published in: Technology
  • Be the first to comment

Avoiding API Waterfalls

  1. AVOIDING WATERFALLS Jakub Nesetril founder & CEO of ApiaryTuesday, December 4, 12
  2. apiary.io GitHub for APIsTuesday, December 4, 12
  3. WHY WE DO THINGS • documentation and tooling, not architecture • man-years of API infrastructure work • companies & teams re-inventing the wheelTuesday, December 4, 12
  4. 3 PROBLEMSTuesday, December 4, 12
  5. API DESIGNTuesday, December 4, 12
  6. WE START WITH WHITEBOARDTuesday, December 4, 12
  7. THEN CODE THE DESIGNTuesday, December 4, 12
  8. OFFER IT TO CUSTOMERSTuesday, December 4, 12
  9. AND ALL FAILS, BADLYTuesday, December 4, 12
  10. WHERE DID WE GO WRONG?Tuesday, December 4, 12
  11. WATERFALL PROCESSTuesday, December 4, 12
  12. API DESIGN REIMAGINED HOW CAN WE GO AGILE?Tuesday, December 4, 12
  13. MAKE A DESIGN FIRSTTuesday, December 4, 12
  14. BUT WRITE IT DOWN FOR ALL TO USE HOST: http://api.twitter.com/ --- Twitter API 3.0 --- --- Welcome to our API. Comments support Markdown syntax --- -- Retrieve Tweets -- GET /tweets > Accept: application/json < 200 < Content-Type: application/json { "items": [ { "url": "/feed", "range":"2ZY48XPZ", "quantity": 1, "name": "New socks", "price": 1.25 } ] }Tuesday, December 4, 12
  15. OFFER A MOCK SERVERTuesday, December 4, 12
  16. INVOLVE THE CUSTOMERTuesday, December 4, 12
  17. CODE WITH SPEC TESTSTuesday, December 4, 12
  18. Mock > Use > Implement apiary.ioTuesday, December 4, 12
  19. DOCUMENTATIONTuesday, December 4, 12
  20. #2: DOCUMENTATION • how do I make an HTTP call? • try to follow documentation but API behaves differently • is it invalid? is it outdated? am I doing it wrong?Tuesday, December 4, 12
  21. DOCUMENTATION REIMAGINEDTuesday, December 4, 12
  22. DOCUMENTATION • includes runnable code examples (NOT API console) • is backed up by automated tests (never out of date)Tuesday, December 4, 12
  23. Tuesday, December 4, 12
  24. SUPPORTTuesday, December 4, 12
  25. #3: SUPPORT • my API calls are failing, no idea why • contacting customer support (that caters to shoe customers) • bumping my head against first-tier support for days until I get connected to developers • by that time, debug information is lost, logs are rotated, new product version is deployed…Tuesday, December 4, 12
  26. SUPPORT REIMAGINEDTuesday, December 4, 12
  27. SUPPORT • includes self-service debugger • API support requests routed directly to devs with debugging information includedTuesday, December 4, 12
  28. Tuesday, December 4, 12
  29. Mock > Use > Implement Automated Documentation Testing apiary.ioTuesday, December 4, 12
  30. COME HELP US http://github.com/apiaryio http://support.apiary.io/Tuesday, December 4, 12
  31. Q&A E-MAIL jakub@apiary.io TWITTER @apiaryioTuesday, December 4, 12
  32. PHOTO CREDITS http://www.flickr.com/photos/ironrodart/4308675209/sizes/o/ http://www.flickr.com/photos/schlosi/6153707178/sizes/l/ http://www.flickr.com/photos/72153088@N08/6510934443/sizes/l/ http://www.flickr.com/photos/psd/3470234703/sizes/l/ http://www.flickr.com/photos/code_martial/2501920341/sizes/l/ http://www.flickr.com/photos/weesen/3589267112/sizes/l/ http://www.flickr.com/photos/weesen/3588454913/sizes/l/ http://www.flickr.com/photos/weesen/3589258380/sizes/l/ http://www.flickr.com/photos/polishsausagequeen/2178265710/ http://www.flickr.com/photos/stupidmommy/2649444581/sizes/z/Tuesday, December 4, 12

×