SlideShare a Scribd company logo
1 of 32
Download to read offline
AVOIDING WATERFALLS


                          Jakub Nesetril
                          founder & CEO of Apiary




Tuesday, December 4, 12
apiary.io
                          GitHub for APIs

Tuesday, December 4, 12
WHY WE DO THINGS
    • documentation            and tooling, not architecture

    • man-years            of API infrastructure work

    • companies            & teams re-inventing the wheel




Tuesday, December 4, 12
3 PROBLEMS




Tuesday, December 4, 12
API DESIGN




Tuesday, December 4, 12
WE START WITH WHITEBOARD




Tuesday, December 4, 12
THEN CODE THE DESIGN




Tuesday, December 4, 12
OFFER IT TO CUSTOMERS




Tuesday, December 4, 12
AND ALL FAILS, BADLY




Tuesday, December 4, 12
WHERE DID WE GO WRONG?




Tuesday, December 4, 12
WATERFALL PROCESS




Tuesday, December 4, 12
API DESIGN
                          REIMAGINED

                 HOW CAN WE GO AGILE?

Tuesday, December 4, 12
MAKE A DESIGN FIRST




Tuesday, December 4, 12
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
OFFER A MOCK SERVER




Tuesday, December 4, 12
INVOLVE THE CUSTOMER


Tuesday, December 4, 12
CODE WITH SPEC TESTS




Tuesday, December 4, 12
Mock > Use > Implement




                                                   apiary.io




Tuesday, December 4, 12
DOCUMENTATION




Tuesday, December 4, 12
#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
DOCUMENTATION
          REIMAGINED



Tuesday, December 4, 12
DOCUMENTATION
    • includes            runnable code examples (NOT API console)

    • is     backed up by automated tests (never out of date)




Tuesday, December 4, 12
Tuesday, December 4, 12
SUPPORT




Tuesday, December 4, 12
#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
SUPPORT
                          REIMAGINED



Tuesday, December 4, 12
SUPPORT
    • includes            self-service debugger

    • API    support requests routed directly to devs with debugging
        information included




Tuesday, December 4, 12
Tuesday, December 4, 12
Mock > Use > Implement




                          Automated       Documentation
                           Testing                     apiary.io




Tuesday, December 4, 12
COME HELP US
                            http://github.com/apiaryio
                             http://support.apiary.io/




Tuesday, December 4, 12
Q&A
                          E-MAIL   jakub@apiary.io   TWITTER   @apiaryio




Tuesday, December 4, 12
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

More Related Content

What's hot

Widening your JavaScript Application
Widening your JavaScript ApplicationWidening your JavaScript Application
Widening your JavaScript Application
Alex McPherson
 
Hateoas APIs are about relationships
Hateoas APIs are about relationshipsHateoas APIs are about relationships
Hateoas APIs are about relationships
Matt Bishop
 
Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Why do you need Clever Cloud ?
Why do you need Clever Cloud ?
Quentin Adam
 

What's hot (20)

Serverless: when functions and GitOps collide
Serverless: when functions and GitOps collideServerless: when functions and GitOps collide
Serverless: when functions and GitOps collide
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as Code
 
Intro to Ember CLI
Intro to Ember CLIIntro to Ember CLI
Intro to Ember CLI
 
WordPress Rest API
WordPress Rest APIWordPress Rest API
WordPress Rest API
 
WordPress Theme Workshop: Part 4
WordPress Theme Workshop: Part 4WordPress Theme Workshop: Part 4
WordPress Theme Workshop: Part 4
 
Widening your JavaScript Application
Widening your JavaScript ApplicationWidening your JavaScript Application
Widening your JavaScript Application
 
Conexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraConexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização Prematura
 
Hateoas APIs are about relationships
Hateoas APIs are about relationshipsHateoas APIs are about relationships
Hateoas APIs are about relationships
 
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
Best Practices in SharePoint Development - Just Freakin Work! Overcoming Hurd...
 
Esn satellite agm13
Esn satellite agm13Esn satellite agm13
Esn satellite agm13
 
Premature optimisation: The Root of All Evil
Premature optimisation: The Root of All EvilPremature optimisation: The Root of All Evil
Premature optimisation: The Root of All Evil
 
Working with WordPress in a Team Environment
Working with WordPress in a Team EnvironmentWorking with WordPress in a Team Environment
Working with WordPress in a Team Environment
 
Decoding Core Contribution - WordCamp San Diego 2013
Decoding Core Contribution - WordCamp San Diego 2013Decoding Core Contribution - WordCamp San Diego 2013
Decoding Core Contribution - WordCamp San Diego 2013
 
What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)What a Thing API Should Look Like (Global IoT Day Wien)
What a Thing API Should Look Like (Global IoT Day Wien)
 
Why do you need Clever Cloud ?
Why do you need Clever Cloud ?Why do you need Clever Cloud ?
Why do you need Clever Cloud ?
 
My Website Can Vote - The Challenges of Maintaining a 20-year-old Website
My Website Can Vote - The Challenges of Maintaining a 20-year-old WebsiteMy Website Can Vote - The Challenges of Maintaining a 20-year-old Website
My Website Can Vote - The Challenges of Maintaining a 20-year-old Website
 
Untangling spring week6
Untangling spring week6Untangling spring week6
Untangling spring week6
 
WordPress Security 101 - Meetup Nairobi March 2020
WordPress Security 101 - Meetup Nairobi March 2020 WordPress Security 101 - Meetup Nairobi March 2020
WordPress Security 101 - Meetup Nairobi March 2020
 
Getting the best value out of your unit tests
Getting the best value out of your unit testsGetting the best value out of your unit tests
Getting the best value out of your unit tests
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
 

Viewers also liked

NodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebNodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time Web
Jakub Nesetril
 
Budoucnost Web Aplikaci
Budoucnost Web AplikaciBudoucnost Web Aplikaci
Budoucnost Web Aplikaci
Jakub Nesetril
 
Introduction to GoodData BI PaaS
Introduction to GoodData BI PaaSIntroduction to GoodData BI PaaS
Introduction to GoodData BI PaaS
Jakub Nesetril
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJS
Jakub Nesetril
 

Viewers also liked (19)

Consuming API description languages - Refract & Minim
Consuming API description languages - Refract & MinimConsuming API description languages - Refract & Minim
Consuming API description languages - Refract & Minim
 
Harmony in API Design
Harmony in API DesignHarmony in API Design
Harmony in API Design
 
Post-REST Manifesto
Post-REST ManifestoPost-REST Manifesto
Post-REST Manifesto
 
NodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebNodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time Web
 
Budoucnost Web Aplikaci
Budoucnost Web AplikaciBudoucnost Web Aplikaci
Budoucnost Web Aplikaci
 
Startup Accelerators
Startup AcceleratorsStartup Accelerators
Startup Accelerators
 
Art of Building APIs
Art of Building APIsArt of Building APIs
Art of Building APIs
 
Introduction to GoodData BI PaaS
Introduction to GoodData BI PaaSIntroduction to GoodData BI PaaS
Introduction to GoodData BI PaaS
 
REST API tools
REST API toolsREST API tools
REST API tools
 
Advanced Regular Expressions Redux
Advanced Regular Expressions ReduxAdvanced Regular Expressions Redux
Advanced Regular Expressions Redux
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
GoodData: One Stop Shop for Analytics
GoodData: One Stop Shop for AnalyticsGoodData: One Stop Shop for Analytics
GoodData: One Stop Shop for Analytics
 
Let's Have a Cup of CoffeeScript
Let's Have a Cup of CoffeeScriptLet's Have a Cup of CoffeeScript
Let's Have a Cup of CoffeeScript
 
Node at Apiary.io
Node at Apiary.ioNode at Apiary.io
Node at Apiary.io
 
API Design Workflows
API Design WorkflowsAPI Design Workflows
API Design Workflows
 
Apiary
ApiaryApiary
Apiary
 
Real-time Web a NodeJS
Real-time Web a NodeJSReal-time Web a NodeJS
Real-time Web a NodeJS
 
Microservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflowMicroservice Stategies - Scaling your API design workflow
Microservice Stategies - Scaling your API design workflow
 
Effingham 2 Apiary Development Grant Gillard
Effingham 2 Apiary Development Grant GillardEffingham 2 Apiary Development Grant Gillard
Effingham 2 Apiary Development Grant Gillard
 

Similar to Avoiding API Waterfalls

Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12
Mario Vasquez
 
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
Chiradeep Vittal
 
Análisis de ataques APT
Análisis de ataques APT Análisis de ataques APT
Análisis de ataques APT
linenoise
 
Continuous delivery a happier, safer alternative to release trains
Continuous delivery   a happier, safer alternative to release trainsContinuous delivery   a happier, safer alternative to release trains
Continuous delivery a happier, safer alternative to release trains
Thoughtworks
 
Drupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingDrupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: Launching
Acquia
 
Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013
Aaron Blythe
 
Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013
Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013
Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013
cordoval
 

Similar to Avoiding API Waterfalls (20)

LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)
 
Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12
 
Interactive Project Management Workshop
Interactive Project Management WorkshopInteractive Project Management Workshop
Interactive Project Management Workshop
 
Best Practices in Theme Development - WordCamp Orlando 2012
Best Practices in Theme Development - WordCamp Orlando 2012Best Practices in Theme Development - WordCamp Orlando 2012
Best Practices in Theme Development - WordCamp Orlando 2012
 
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
The Future of Apache CloudStack (Not So Cloudy) (Collab 2012)
 
Análisis de ataques APT
Análisis de ataques APT Análisis de ataques APT
Análisis de ataques APT
 
Software Libraries And Numbers
Software Libraries And NumbersSoftware Libraries And Numbers
Software Libraries And Numbers
 
Aten ntc-stories
Aten ntc-storiesAten ntc-stories
Aten ntc-stories
 
Continuous delivery a happier, safer alternative to release trains
Continuous delivery   a happier, safer alternative to release trainsContinuous delivery   a happier, safer alternative to release trains
Continuous delivery a happier, safer alternative to release trains
 
Drupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingDrupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: Launching
 
Open Business Conference: Continuous Delivery At Netflix -- Powered by Open S...
Open Business Conference: Continuous Delivery At Netflix -- Powered by Open S...Open Business Conference: Continuous Delivery At Netflix -- Powered by Open S...
Open Business Conference: Continuous Delivery At Netflix -- Powered by Open S...
 
Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013Devops kc meetup_5_20_2013
Devops kc meetup_5_20_2013
 
Scaling Pinterest
Scaling PinterestScaling Pinterest
Scaling Pinterest
 
Learning sparql 2012 12
Learning sparql 2012 12Learning sparql 2012 12
Learning sparql 2012 12
 
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services 2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
2013 - Matías Paterlini: Escalando PHP con sharding y Amazon Web Services
 
Escalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP ConferenceEscalando una PHP App con DB sharding - PHP Conference
Escalando una PHP App con DB sharding - PHP Conference
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP Apps
 
Project management from a Developer's Perspective
Project management from a Developer's PerspectiveProject management from a Developer's Perspective
Project management from a Developer's Perspective
 
Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013
Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013
Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013
 
Puppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet Design
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Avoiding API Waterfalls

  • 1. AVOIDING WATERFALLS Jakub Nesetril founder & CEO of Apiary Tuesday, December 4, 12
  • 2. apiary.io GitHub for APIs Tuesday, December 4, 12
  • 3. WHY WE DO THINGS • documentation and tooling, not architecture • man-years of API infrastructure work • companies & teams re-inventing the wheel Tuesday, December 4, 12
  • 6. WE START WITH WHITEBOARD Tuesday, December 4, 12
  • 7. THEN CODE THE DESIGN Tuesday, December 4, 12
  • 8. OFFER IT TO CUSTOMERS Tuesday, December 4, 12
  • 9. AND ALL FAILS, BADLY Tuesday, December 4, 12
  • 10. WHERE DID WE GO WRONG? Tuesday, December 4, 12
  • 12. API DESIGN REIMAGINED HOW CAN WE GO AGILE? Tuesday, December 4, 12
  • 13. MAKE A DESIGN FIRST Tuesday, 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 SERVER Tuesday, December 4, 12
  • 17. CODE WITH SPEC TESTS Tuesday, December 4, 12
  • 18. Mock > Use > Implement apiary.io Tuesday, 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 REIMAGINED Tuesday, 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
  • 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 REIMAGINED Tuesday, December 4, 12
  • 27. SUPPORT • includes self-service debugger • API support requests routed directly to devs with debugging information included Tuesday, December 4, 12
  • 29. Mock > Use > Implement Automated Documentation Testing apiary.io Tuesday, 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 @apiaryio Tuesday, 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