SlideShare uma empresa Scribd logo
1 de 67
Documenting APIs 
with many pictures of cats
Anya Stettler 
Developer Relations 
Avalara 
anyarms
Why do we need good documentation? 
What qualities distinguish “good” 
documentation? 
How can we communicate with 
developers? 
How can we improve existing 
documentation?
Do we really need API Docs? 
YES!
Good documentation is good 
• Decreases barriers to entry 
• Decreases support costs 
• Works as a marketing tool
zero to “Hello World”
Bad documentation makes 
your users skeptical …
… or sad.
What is good documentation? 
A comprehensive, 
navigable 
resource that 
provides users the 
information to build 
a painless, 
maintainable, 
successful 
integration to your 
service.
What is good documentation? 
A comprehensive, 
navigable 
resource that 
provides users the 
information to build 
a painless, 
maintainable, 
successful 
integration to your 
service.
What is good documentation? 
A comprehensive, 
navigable 
resource that 
provides users the 
information to build 
a painless, 
maintainable, 
successful 
integration to your 
service.
What is good documentation? 
A comprehensive, 
navigable 
resource that 
provides users the 
information to build 
a painless, 
maintainable, 
successful 
integration to your 
service.
What is good documentation? 
A comprehensive, 
navigable 
resource that 
provides users the 
information to build 
a painless, 
maintainable, 
successful 
integration to your 
service.
What is good documentation? 
A comprehensive, 
navigable 
resource that 
provides users the 
information to build 
a painless, 
maintainable, 
successful 
integration to your 
service.
Types of Docs 
• Technical Reference 
• Sample Code/Code Snippets 
• Tutorials (written, video, 
interactive) 
• Application Samples 
• Q&A Resources
Technical Reference 
• Describe everything in 
your API 
– Even things you don’t want 
people to use 
• Structure should follow 
the structure of the API 
– But can intentionally 
diverge 
• Primarily values: 
comprehensive, navigable 
• Example: Twitter
https://dev.twitter.com/rest/reference/post/statuses/update
Code Snippets 
• Allow users to learn by 
example 
• Demonstrate a single call 
• Need to be able to 
copy/paste content 
– Must work! 
• Primary values: painless, 
readability, simplicity 
• Example: Stripe, Twilio
https://stripe.com/docs/api
https://www.twilio.com/docs/api/rest/account
There are tools for this 
• Apiary 
• Mashery I/O docs 
• Apigee 
• (and others)
http://docs.themoviedb.apiary.io/
http://developer.klout.com/io-docs
https://apigee.com/console/linkedin
Which Languages? 
• At least three languages 
• At least one raw call/response 
sample 
• Two additional samples implies 
multi-language support 
• Popularity 
• Target audience 
• The more the merrier 
• as long as 
they’re 
maintainable
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
IEEE Spectrum: 
Top Programming Languages (web) 
http://spectrum.ieee.org/static/interactive-the-top-programming-languages#index
Tutorials 
• Your product probably 
has some subtlety 
– Authorization 
– Security concerns 
– Expected workflow 
• Can take many formats 
– Step-by-step articles 
– Videos/screencasts 
– Interactive consoles 
• Key Values: 
successful, painless
https://stripe.com/docs/tutorials/charges
https://www.stellar.org/blog/introducing-stellar/
Application Samples 
• More fully-fledged 
“learning by example” 
• Full integration within an 
application context 
• Larger samples 
• More like a POC 
• Primary values: 
readability, navigability 
• Example: Facebook
https://developers.facebook.com/docs/android/scrumptious/
Q&A resources 
• There will still be 
unanswered questions 
– Specific use cases 
– Combinations of 
resources 
• Public answers 
benefit the 
community 
• Primary values: 
navigability, 
simplicity
http://stackoverflow.com/tags
https://developer.salesforce.com/forums/
https://twittercommunity.com/
A comprehensive, navigable resource 
that provides users the information 
to build a painless, maintainable, 
successful integration to your 
service. 
• Technical Reference 
• Sample Code/code snippets 
• Tutorials (written, video, 
interactive) 
• Application Samples 
• Q&A resources
Do I really 
need all those 
things?
Top 10 APIs 
Tracked 
• Facebook 
• Google Maps 
• Twitter 
• YouTube 
• AccuWeather 
• LinkedIn 
• Amazon Product 
Advertising 
• Pinterest 
• Flickr 
• Google Talk 
Used 
• Google Maps 
• Twitter 
• YouTube 
• Flickr 
• Amazon Product 
Advertising 
• Facebook 
• Twilio 
• Last.fm 
• eBay 
• Twilio SMS 
http://www.programmableweb.com/news/most-popular-apis-least-one-will-surprise-you/2014/01/23 
http://www.programmableweb.com/category/all/apis?order=field_popularity *As of 2014-09-13
What documentation do they 
offer? 
Technical 
Reference 
Code 
Snippets Tutorials 
Interactive 
Console SDK 
Application 
Samples Q&A 
Facebook yes yes yes yes yes yes yes 
Google Maps yes yes yes no yes no stack overflow 
Twitter yes JSON only yes yes some no yes 
YouTube yes yes yes yes yes no stack overflow 
AccuWeather yes no* yes no no no no 
LinkedIn yes yes yes yes 3rd party no yes 
Amazon Product 
Advertising yes 3rd party yes no 3rd party 3rd party yes 
Pinterest yes no yes no yes no no 
Flickr yes 3rd party yes yes 3rd party no yes 
Google Talk** yes yes yes no yes no yes 
Twilio yes yes yes no yes yes yes 
Last.fm yes no yes no 3rd party no yes 
eBay yes yes yes no*** yes yes yes 
Twilio SMS**** yes yes yes no no no yes 
* Does provide a JavaScript sample for one resource 
** Replaced May 2013, no longer updated 
*** Has request validator tool 
**** Deprecated
Comprehensive vs. Concise? 
• Comprehensive 
– Full coverage for technical references 
– Common use cases for tutorials/samples 
• Length becomes an issue 
– affects navigation 
- dilutes understanding 
- impacts maintenance
Information that isn’t accessible 
isn’t helpful.
http://developer.avalara.com
http://developer.avalara.com/api-docs/api-reference/rest-curl/gettayes
https://github.com/avadev
So much more! 
• SDKs 
• Developer Blog 
• Posted Release Notes 
• Interactive console 
• Auto-doc tools
It’s a good start 
but we’re not done yet.
Thanks! 
Anya Stettler 
Developer Relations 
Avalara 
anyarms 
anya.stettler@avalara.com 
Slides available on 
slideshare

Mais conteúdo relacionado

Mais procurados

Practical Accessibility Testing
Practical Accessibility TestingPractical Accessibility Testing
Practical Accessibility TestingGlenda Sims
 
Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
Three Developer Behaviors to Eliminate 85 Percent of Accessibility DefectsThree Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
Three Developer Behaviors to Eliminate 85 Percent of Accessibility DefectsSean Kelly
 
Are BDD and test automation the same thing? Automation Guild 2021
Are BDD and test automation the same thing?   Automation Guild 2021Are BDD and test automation the same thing?   Automation Guild 2021
Are BDD and test automation the same thing? Automation Guild 2021Seb Rose
 
Frontend development of the (current) future
Frontend development of the (current) futureFrontend development of the (current) future
Frontend development of the (current) futureFilip Bruun Bech-Larsen
 
PyCon PL 2014 executable api
PyCon PL 2014   executable apiPyCon PL 2014   executable api
PyCon PL 2014 executable apiWojtek Erbetowski
 
Building with Watson - Training and Preparing Your Conversational System
Building with Watson - Training and Preparing Your Conversational SystemBuilding with Watson - Training and Preparing Your Conversational System
Building with Watson - Training and Preparing Your Conversational SystemIBM Watson
 
Application Starter Kits for Developers - Building with Watson
Application Starter Kits for Developers - Building with WatsonApplication Starter Kits for Developers - Building with Watson
Application Starter Kits for Developers - Building with WatsonIBM Watson
 
How Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share PointHow Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share Pointguest17ee6d
 
Contrasting test automation and BDD - 2020
Contrasting test automation and BDD - 2020Contrasting test automation and BDD - 2020
Contrasting test automation and BDD - 2020Seb Rose
 
Start contributing to OSS projects on your way
Start contributing to OSS projects on your wayStart contributing to OSS projects on your way
Start contributing to OSS projects on your wayKazuaki Matsuo
 
Getting started developing for share point
Getting started developing for share pointGetting started developing for share point
Getting started developing for share pointRoel Bethlehem
 
Progressive Enhancement & Mobile [Funka 2012]
Progressive Enhancement & Mobile [Funka 2012]Progressive Enhancement & Mobile [Funka 2012]
Progressive Enhancement & Mobile [Funka 2012]Aaron Gustafson
 
Too much accessibility: Good intentions, badly implemented
Too much accessibility: Good intentions, badly implementedToo much accessibility: Good intentions, badly implemented
Too much accessibility: Good intentions, badly implementedGabriel Porras
 
Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016
Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016
Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016gerardkcohen
 
API Design Principles for Accelerated Development
API Design Principles for Accelerated DevelopmentAPI Design Principles for Accelerated Development
API Design Principles for Accelerated DevelopmentJonathan LeBlanc
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...Christian Heilmann
 

Mais procurados (17)

Practical Accessibility Testing
Practical Accessibility TestingPractical Accessibility Testing
Practical Accessibility Testing
 
Future of the Web
Future of the WebFuture of the Web
Future of the Web
 
Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
Three Developer Behaviors to Eliminate 85 Percent of Accessibility DefectsThree Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects
 
Are BDD and test automation the same thing? Automation Guild 2021
Are BDD and test automation the same thing?   Automation Guild 2021Are BDD and test automation the same thing?   Automation Guild 2021
Are BDD and test automation the same thing? Automation Guild 2021
 
Frontend development of the (current) future
Frontend development of the (current) futureFrontend development of the (current) future
Frontend development of the (current) future
 
PyCon PL 2014 executable api
PyCon PL 2014   executable apiPyCon PL 2014   executable api
PyCon PL 2014 executable api
 
Building with Watson - Training and Preparing Your Conversational System
Building with Watson - Training and Preparing Your Conversational SystemBuilding with Watson - Training and Preparing Your Conversational System
Building with Watson - Training and Preparing Your Conversational System
 
Application Starter Kits for Developers - Building with Watson
Application Starter Kits for Developers - Building with WatsonApplication Starter Kits for Developers - Building with Watson
Application Starter Kits for Developers - Building with Watson
 
How Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share PointHow Asp.Net Developers Can Leverage Share Point
How Asp.Net Developers Can Leverage Share Point
 
Contrasting test automation and BDD - 2020
Contrasting test automation and BDD - 2020Contrasting test automation and BDD - 2020
Contrasting test automation and BDD - 2020
 
Start contributing to OSS projects on your way
Start contributing to OSS projects on your wayStart contributing to OSS projects on your way
Start contributing to OSS projects on your way
 
Getting started developing for share point
Getting started developing for share pointGetting started developing for share point
Getting started developing for share point
 
Progressive Enhancement & Mobile [Funka 2012]
Progressive Enhancement & Mobile [Funka 2012]Progressive Enhancement & Mobile [Funka 2012]
Progressive Enhancement & Mobile [Funka 2012]
 
Too much accessibility: Good intentions, badly implemented
Too much accessibility: Good intentions, badly implementedToo much accessibility: Good intentions, badly implemented
Too much accessibility: Good intentions, badly implemented
 
Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016
Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016
Accessibility Testing Tools for Developers - Gerard K. Cohen - CSUN 2016
 
API Design Principles for Accelerated Development
API Design Principles for Accelerated DevelopmentAPI Design Principles for Accelerated Development
API Design Principles for Accelerated Development
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 

Destaque

How to come up with great startup ideas today.
How to come up with great startup ideas today. How to come up with great startup ideas today.
How to come up with great startup ideas today. Teboho Khauoe
 
TA Info Lit Workshop 7 22 09
TA Info Lit Workshop 7 22 09TA Info Lit Workshop 7 22 09
TA Info Lit Workshop 7 22 09Esther Grassian
 
WWBF May event
WWBF May eventWWBF May event
WWBF May eventHi Gemba
 
Az email marketing reneszánsza - Tartalommarketing Konferencia 2017
Az email marketing reneszánsza - Tartalommarketing Konferencia 2017Az email marketing reneszánsza - Tartalommarketing Konferencia 2017
Az email marketing reneszánsza - Tartalommarketing Konferencia 2017Tamás KISS
 
What is Usersnap? An Introduction to bug tracking.
What is Usersnap? An Introduction to bug tracking.What is Usersnap? An Introduction to bug tracking.
What is Usersnap? An Introduction to bug tracking.Usersnap
 
Principles Into Practice: Co Design in Healthcare
Principles Into Practice: Co Design in HealthcarePrinciples Into Practice: Co Design in Healthcare
Principles Into Practice: Co Design in HealthcareMarie Ennis-O'Connor
 
Presentasi Omjay di Universitas Mulawarman, Samarinda
Presentasi Omjay di Universitas Mulawarman, SamarindaPresentasi Omjay di Universitas Mulawarman, Samarinda
Presentasi Omjay di Universitas Mulawarman, SamarindaWijaya Kusumah
 
1 st year infographics team sports
1 st year infographics team sports1 st year infographics team sports
1 st year infographics team sportsCiclos Formativos
 
Five Tier for Media Publishers and Advertising Networks
Five Tier for Media Publishers and Advertising NetworksFive Tier for Media Publishers and Advertising Networks
Five Tier for Media Publishers and Advertising NetworksFrank O'Brien
 
Negotiating Digital Academic Writing Literacy Development Using an Open Educa...
Negotiating Digital Academic Writing Literacy Development Using an Open Educa...Negotiating Digital Academic Writing Literacy Development Using an Open Educa...
Negotiating Digital Academic Writing Literacy Development Using an Open Educa...Nelson Mandela Metropolitan University
 
Angus @WebAdeptUK BNi Presentation 2017
Angus @WebAdeptUK BNi Presentation 2017Angus @WebAdeptUK BNi Presentation 2017
Angus @WebAdeptUK BNi Presentation 2017BNi Pembrokeshire
 
お役所風最悪なスライド
お役所風最悪なスライドお役所風最悪なスライド
お役所風最悪なスライドTetsuro Sasabe
 

Destaque (17)

How to come up with great startup ideas today.
How to come up with great startup ideas today. How to come up with great startup ideas today.
How to come up with great startup ideas today.
 
TA Info Lit Workshop 7 22 09
TA Info Lit Workshop 7 22 09TA Info Lit Workshop 7 22 09
TA Info Lit Workshop 7 22 09
 
WWBF May event
WWBF May eventWWBF May event
WWBF May event
 
Az email marketing reneszánsza - Tartalommarketing Konferencia 2017
Az email marketing reneszánsza - Tartalommarketing Konferencia 2017Az email marketing reneszánsza - Tartalommarketing Konferencia 2017
Az email marketing reneszánsza - Tartalommarketing Konferencia 2017
 
What is Usersnap? An Introduction to bug tracking.
What is Usersnap? An Introduction to bug tracking.What is Usersnap? An Introduction to bug tracking.
What is Usersnap? An Introduction to bug tracking.
 
Principles Into Practice: Co Design in Healthcare
Principles Into Practice: Co Design in HealthcarePrinciples Into Practice: Co Design in Healthcare
Principles Into Practice: Co Design in Healthcare
 
Presentasi Omjay di Universitas Mulawarman, Samarinda
Presentasi Omjay di Universitas Mulawarman, SamarindaPresentasi Omjay di Universitas Mulawarman, Samarinda
Presentasi Omjay di Universitas Mulawarman, Samarinda
 
Doing business in china
Doing business in china Doing business in china
Doing business in china
 
1 st year infographics team sports
1 st year infographics team sports1 st year infographics team sports
1 st year infographics team sports
 
Five Tier for Media Publishers and Advertising Networks
Five Tier for Media Publishers and Advertising NetworksFive Tier for Media Publishers and Advertising Networks
Five Tier for Media Publishers and Advertising Networks
 
PEnDAR webinar 2 with notes
PEnDAR webinar 2 with notesPEnDAR webinar 2 with notes
PEnDAR webinar 2 with notes
 
101 استراتيجية التعلم النشط
101 استراتيجية التعلم النشط101 استراتيجية التعلم النشط
101 استراتيجية التعلم النشط
 
Negotiating Digital Academic Writing Literacy Development Using an Open Educa...
Negotiating Digital Academic Writing Literacy Development Using an Open Educa...Negotiating Digital Academic Writing Literacy Development Using an Open Educa...
Negotiating Digital Academic Writing Literacy Development Using an Open Educa...
 
Мультимедийная редакция: технология организации работы и интернет-сервисы
Мультимедийная редакция: технология организации работы и интернет-сервисыМультимедийная редакция: технология организации работы и интернет-сервисы
Мультимедийная редакция: технология организации работы и интернет-сервисы
 
Angus @WebAdeptUK BNi Presentation 2017
Angus @WebAdeptUK BNi Presentation 2017Angus @WebAdeptUK BNi Presentation 2017
Angus @WebAdeptUK BNi Presentation 2017
 
お役所風最悪なスライド
お役所風最悪なスライドお役所風最悪なスライド
お役所風最悪なスライド
 
Smartsheet erp users list
Smartsheet erp users listSmartsheet erp users list
Smartsheet erp users list
 

Semelhante a Documenting APIs: Sample Code and More (with many pictures of cats)

Documenting APIs With Cats; GlueCon 2015
Documenting APIs With Cats; GlueCon 2015Documenting APIs With Cats; GlueCon 2015
Documenting APIs With Cats; GlueCon 2015Avalara Developers
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012Karen Mardahl
 
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...Sendachi
 
Architectural Considerations for Startups
Architectural Considerations for StartupsArchitectural Considerations for Startups
Architectural Considerations for StartupsNiall Roche
 
Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...Cyber-Duck
 
Azure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsAzure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsDavide Mauri
 
The Future of API Specifications -- Aidan Cunniffe 2021
The Future of API Specifications -- Aidan Cunniffe 2021The Future of API Specifications -- Aidan Cunniffe 2021
The Future of API Specifications -- Aidan Cunniffe 2021Aidan Cunniffe
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraCA API Management
 
Documenting the Mobile API Development Process 2023.pptx
Documenting the Mobile API Development Process 2023.pptxDocumenting the Mobile API Development Process 2023.pptx
Documenting the Mobile API Development Process 2023.pptxXDuce Corporation
 
Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Jani Tarvainen
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Twilio Inc
 
5 Keys to API Design - API Days Paris 2013
5 Keys to API Design - API Days Paris 20135 Keys to API Design - API Days Paris 2013
5 Keys to API Design - API Days Paris 2013Daniel Feist
 
APIs 101: What are they? What do they have to do with genealogy?
APIs 101: What are they? What do they have to do with genealogy?APIs 101: What are they? What do they have to do with genealogy?
APIs 101: What are they? What do they have to do with genealogy?Colleen Greene
 
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Dylan Wilbanks
 
Electronic Workbook_Tech Integration IB
Electronic Workbook_Tech Integration IBElectronic Workbook_Tech Integration IB
Electronic Workbook_Tech Integration IBJason Graham
 
This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013Kevin Davis
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays
 

Semelhante a Documenting APIs: Sample Code and More (with many pictures of cats) (20)

Documenting APIs With Cats; GlueCon 2015
Documenting APIs With Cats; GlueCon 2015Documenting APIs With Cats; GlueCon 2015
Documenting APIs With Cats; GlueCon 2015
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012
 
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
Sendachi | 451 | GitHub Webinar: Demystifying Collaboration at Scale: DevOp...
 
Architectural Considerations for Startups
Architectural Considerations for StartupsArchitectural Considerations for Startups
Architectural Considerations for Startups
 
Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...Building products people actually can use – why all developers need to unders...
Building products people actually can use – why all developers need to unders...
 
Azure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applicationsAzure ML: from basic to integration with custom applications
Azure ML: from basic to integration with custom applications
 
Rapid prototyping and sketching
Rapid prototyping and sketchingRapid prototyping and sketching
Rapid prototyping and sketching
 
The Future of API Specifications -- Aidan Cunniffe 2021
The Future of API Specifications -- Aidan Cunniffe 2021The Future of API Specifications -- Aidan Cunniffe 2021
The Future of API Specifications -- Aidan Cunniffe 2021
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie MitraAPI Introduction - API Management Workshop Munich from Ronnie Mitra
API Introduction - API Management Workshop Munich from Ronnie Mitra
 
Documenting the Mobile API Development Process 2023.pptx
Documenting the Mobile API Development Process 2023.pptxDocumenting the Mobile API Development Process 2023.pptx
Documenting the Mobile API Development Process 2023.pptx
 
Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016Exploring Content API Options - March 23rd 2016
Exploring Content API Options - March 23rd 2016
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
 
5 Keys to API Design - API Days Paris 2013
5 Keys to API Design - API Days Paris 20135 Keys to API Design - API Days Paris 2013
5 Keys to API Design - API Days Paris 2013
 
APIs 101: What are they? What do they have to do with genealogy?
APIs 101: What are they? What do they have to do with genealogy?APIs 101: What are they? What do they have to do with genealogy?
APIs 101: What are they? What do they have to do with genealogy?
 
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
 
Electronic Workbook_Tech Integration IB
Electronic Workbook_Tech Integration IBElectronic Workbook_Tech Integration IB
Electronic Workbook_Tech Integration IB
 
This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013This is not a talk about sharepoint 2013
This is not a talk about sharepoint 2013
 
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
apidays LIVE Paris 2021 - Lessons from the API Stewardship Journey in Azure b...
 

Último

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 

Último (20)

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

Documenting APIs: Sample Code and More (with many pictures of cats)

  • 1. Documenting APIs with many pictures of cats
  • 2. Anya Stettler Developer Relations Avalara anyarms
  • 3. Why do we need good documentation? What qualities distinguish “good” documentation? How can we communicate with developers? How can we improve existing documentation?
  • 4. Do we really need API Docs? YES!
  • 5.
  • 6. Good documentation is good • Decreases barriers to entry • Decreases support costs • Works as a marketing tool
  • 7.
  • 8. zero to “Hello World”
  • 9. Bad documentation makes your users skeptical …
  • 11.
  • 12.
  • 13. What is good documentation? A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service.
  • 14. What is good documentation? A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service.
  • 15. What is good documentation? A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service.
  • 16. What is good documentation? A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service.
  • 17. What is good documentation? A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service.
  • 18. What is good documentation? A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service.
  • 19. Types of Docs • Technical Reference • Sample Code/Code Snippets • Tutorials (written, video, interactive) • Application Samples • Q&A Resources
  • 20. Technical Reference • Describe everything in your API – Even things you don’t want people to use • Structure should follow the structure of the API – But can intentionally diverge • Primarily values: comprehensive, navigable • Example: Twitter
  • 21.
  • 22.
  • 23.
  • 25. Code Snippets • Allow users to learn by example • Demonstrate a single call • Need to be able to copy/paste content – Must work! • Primary values: painless, readability, simplicity • Example: Stripe, Twilio
  • 28.
  • 29. There are tools for this • Apiary • Mashery I/O docs • Apigee • (and others)
  • 32.
  • 34.
  • 35.
  • 36. Which Languages? • At least three languages • At least one raw call/response sample • Two additional samples implies multi-language support • Popularity • Target audience • The more the merrier • as long as they’re maintainable
  • 38. IEEE Spectrum: Top Programming Languages (web) http://spectrum.ieee.org/static/interactive-the-top-programming-languages#index
  • 39. Tutorials • Your product probably has some subtlety – Authorization – Security concerns – Expected workflow • Can take many formats – Step-by-step articles – Videos/screencasts – Interactive consoles • Key Values: successful, painless
  • 42.
  • 43.
  • 44. Application Samples • More fully-fledged “learning by example” • Full integration within an application context • Larger samples • More like a POC • Primary values: readability, navigability • Example: Facebook
  • 46. Q&A resources • There will still be unanswered questions – Specific use cases – Combinations of resources • Public answers benefit the community • Primary values: navigability, simplicity
  • 50. A comprehensive, navigable resource that provides users the information to build a painless, maintainable, successful integration to your service. • Technical Reference • Sample Code/code snippets • Tutorials (written, video, interactive) • Application Samples • Q&A resources
  • 51. Do I really need all those things?
  • 52. Top 10 APIs Tracked • Facebook • Google Maps • Twitter • YouTube • AccuWeather • LinkedIn • Amazon Product Advertising • Pinterest • Flickr • Google Talk Used • Google Maps • Twitter • YouTube • Flickr • Amazon Product Advertising • Facebook • Twilio • Last.fm • eBay • Twilio SMS http://www.programmableweb.com/news/most-popular-apis-least-one-will-surprise-you/2014/01/23 http://www.programmableweb.com/category/all/apis?order=field_popularity *As of 2014-09-13
  • 53. What documentation do they offer? Technical Reference Code Snippets Tutorials Interactive Console SDK Application Samples Q&A Facebook yes yes yes yes yes yes yes Google Maps yes yes yes no yes no stack overflow Twitter yes JSON only yes yes some no yes YouTube yes yes yes yes yes no stack overflow AccuWeather yes no* yes no no no no LinkedIn yes yes yes yes 3rd party no yes Amazon Product Advertising yes 3rd party yes no 3rd party 3rd party yes Pinterest yes no yes no yes no no Flickr yes 3rd party yes yes 3rd party no yes Google Talk** yes yes yes no yes no yes Twilio yes yes yes no yes yes yes Last.fm yes no yes no 3rd party no yes eBay yes yes yes no*** yes yes yes Twilio SMS**** yes yes yes no no no yes * Does provide a JavaScript sample for one resource ** Replaced May 2013, no longer updated *** Has request validator tool **** Deprecated
  • 54. Comprehensive vs. Concise? • Comprehensive – Full coverage for technical references – Common use cases for tutorials/samples • Length becomes an issue – affects navigation - dilutes understanding - impacts maintenance
  • 55. Information that isn’t accessible isn’t helpful.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 64.
  • 65. So much more! • SDKs • Developer Blog • Posted Release Notes • Interactive console • Auto-doc tools
  • 66. It’s a good start but we’re not done yet.
  • 67. Thanks! Anya Stettler Developer Relations Avalara anyarms anya.stettler@avalara.com Slides available on slideshare