SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

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
 

What's hot (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...
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to Documenting APIs with Pictures of Cats: A Guide to Good Documentation

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
 

Similar to Documenting APIs with Pictures of Cats: A Guide to Good Documentation (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...
 

Recently uploaded

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Recently uploaded (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

Documenting APIs with Pictures of Cats: A Guide to Good Documentation

  • 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