0
AVOIDING WATERFALLS                          Jakub Nesetril                          founder & CEO of ApiaryTuesday, Decem...
apiary.io                          GitHub for APIsTuesday, December 4, 12
WHY WE DO THINGS    • documentation            and tooling, not architecture    • man-years            of API infrastructu...
3 PROBLEMSTuesday, December 4, 12
API DESIGNTuesday, December 4, 12
WE START WITH WHITEBOARDTuesday, December 4, 12
THEN CODE THE DESIGNTuesday, December 4, 12
OFFER IT TO CUSTOMERSTuesday, December 4, 12
AND ALL FAILS, BADLYTuesday, December 4, 12
WHERE DID WE GO WRONG?Tuesday, December 4, 12
WATERFALL PROCESSTuesday, December 4, 12
API DESIGN                          REIMAGINED                 HOW CAN WE GO AGILE?Tuesday, December 4, 12
MAKE A DESIGN FIRSTTuesday, December 4, 12
BUT WRITE IT DOWN FOR                    ALL TO USE         HOST: http://api.twitter.com/         --- Twitter API 3.0 --- ...
OFFER A MOCK SERVERTuesday, December 4, 12
INVOLVE THE CUSTOMERTuesday, December 4, 12
CODE WITH SPEC TESTSTuesday, December 4, 12
Mock > Use > Implement                                                   apiary.ioTuesday, December 4, 12
DOCUMENTATIONTuesday, December 4, 12
#2: DOCUMENTATION    • how           do I make an HTTP call?    • try       to follow documentation but API behaves differ...
DOCUMENTATION          REIMAGINEDTuesday, December 4, 12
DOCUMENTATION    • includes            runnable code examples (NOT API console)    • is     backed up by automated tests (...
Tuesday, December 4, 12
SUPPORTTuesday, December 4, 12
#3: SUPPORT    • my API              calls are failing, no idea why    • contacting             customer support (that cat...
SUPPORT                          REIMAGINEDTuesday, December 4, 12
SUPPORT    • includes            self-service debugger    • API    support requests routed directly to devs with debugging...
Tuesday, December 4, 12
Mock > Use > Implement                          Automated       Documentation                           Testing           ...
COME HELP US                            http://github.com/apiaryio                             http://support.apiary.io/Tu...
Q&A                          E-MAIL   jakub@apiary.io   TWITTER   @apiaryioTuesday, December 4, 12
PHOTO CREDITS    http://www.flickr.com/photos/ironrodart/4308675209/sizes/o/    http://www.flickr.com/photos/schlosi/6153707...
Upcoming SlideShare
Loading in...5
×

Avoiding API Waterfalls

3,004

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,004
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
31
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Transcript of "Avoiding API Waterfalls"

  1. 1. AVOIDING WATERFALLS Jakub Nesetril founder & CEO of ApiaryTuesday, December 4, 12
  2. 2. apiary.io GitHub for APIsTuesday, December 4, 12
  3. 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. 4. 3 PROBLEMSTuesday, December 4, 12
  5. 5. API DESIGNTuesday, December 4, 12
  6. 6. WE START WITH WHITEBOARDTuesday, December 4, 12
  7. 7. THEN CODE THE DESIGNTuesday, December 4, 12
  8. 8. OFFER IT TO CUSTOMERSTuesday, December 4, 12
  9. 9. AND ALL FAILS, BADLYTuesday, December 4, 12
  10. 10. WHERE DID WE GO WRONG?Tuesday, December 4, 12
  11. 11. WATERFALL PROCESSTuesday, December 4, 12
  12. 12. API DESIGN REIMAGINED HOW CAN WE GO AGILE?Tuesday, December 4, 12
  13. 13. MAKE A DESIGN FIRSTTuesday, December 4, 12
  14. 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. 15. OFFER A MOCK SERVERTuesday, December 4, 12
  16. 16. INVOLVE THE CUSTOMERTuesday, December 4, 12
  17. 17. CODE WITH SPEC TESTSTuesday, December 4, 12
  18. 18. Mock > Use > Implement apiary.ioTuesday, December 4, 12
  19. 19. DOCUMENTATIONTuesday, December 4, 12
  20. 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. 21. DOCUMENTATION REIMAGINEDTuesday, December 4, 12
  22. 22. DOCUMENTATION • includes runnable code examples (NOT API console) • is backed up by automated tests (never out of date)Tuesday, December 4, 12
  23. 23. Tuesday, December 4, 12
  24. 24. SUPPORTTuesday, December 4, 12
  25. 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. 26. SUPPORT REIMAGINEDTuesday, December 4, 12
  27. 27. SUPPORT • includes self-service debugger • API support requests routed directly to devs with debugging information includedTuesday, December 4, 12
  28. 28. Tuesday, December 4, 12
  29. 29. Mock > Use > Implement Automated Documentation Testing apiary.ioTuesday, December 4, 12
  30. 30. COME HELP US http://github.com/apiaryio http://support.apiary.io/Tuesday, December 4, 12
  31. 31. Q&A E-MAIL jakub@apiary.io TWITTER @apiaryioTuesday, December 4, 12
  32. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×