SlideShare a Scribd company logo
1 of 35
Download to read offline
CREATING A GREAT
DEVELOPER EXPERIENCE
THROUGH SDKS
Developer Evangelist at Keen IO
taylor@keen.io
@taylor_atx
TAYLOR BARNETT
@taylor_atx
Collect & store data from
users, websites, apps &
smart devices.
Query instantly to share
results with teams &
customers, anywhere.
@taylor_atx
LET’S BE REAL ABOUT SDKS
@taylor_atx
Most API providers aren’t updating
their SDKs enough
😞
@taylor_atx
Get the most attention when they are 🔥broken🔥
@taylor_atx
Many of SDKs are now open source,
which is great, but…
@taylor_atx
There are a lot of great HTTP request
libraries out there now
🎉
@taylor_atx
We could talk for a really long time
about why using SDKs aren’t great
@taylor_atx
WHY SHOULD YOU
PROVIDE SDKS?
@taylor_atx
Most of the time using an API is
important, but peripheral to why the
software is being written
@taylor_atx
Your SDKs are your API
@taylor_atx
SDKs give quick feedback on how your
API works
@taylor_atx
There’s a business case for putting
resources into SDKs
@taylor_atx
OTHER REASONS
• When there’s no good built in HTTP request library
• Error handling
• Building clients with 100% API coverage
• Helping users with authentication
• Best practices with complex APIs
@taylor_atx
CREATING A GREAT
DEVELOPER EXPERIENCE
@taylor_atx
PRODUCT VS COMMUNITY SDKS
• Clearly define the two to set better expectations
• If you don’t build them, Community SDKs will appear
• Leads to a scattered developer experience
• Community SDK bugs will appear in your Support channels
@taylor_atx
DOCUMENTATION
• Write the SDK documentation first
• Consistency
• Helps evaluate the experience
@taylor_atx
DOCUMENTATION
• Include sections for
• Troubleshooting, with common errors and issues users run
into —> Your Support team will love you for this
• Changelog or release notes
@taylor_atx
SCARY WORLD OF DEPENDENCIES
• Help your users navigate it
• Users need to know changes between SDK versions
• Survey your options
😱
@taylor_atx
DANGERS OF NOT MAKING YOUR OWN SDKS
• Not eating your own dog food is dangerous
• Helps you understand the cost of building with your own API
• It’s also encouragement to add new API features into your
SDK when they released, not later
@taylor_atx
NATIVE AS POSSIBLE
• Please do not auto generate SDKs badly from your API
• Example: Go find a Go developer to write your Go SDK
• Start with the languages that are the most popular for your
target audience and that your team is familiar with
@taylor_atx
COMMON DATA STRUCTURES
• Avoid inconsistency in your users’ code
• Example: JSON is a great option for representing data
• Want to map well to data structures in many different
languages
@taylor_atx
USAGE TRACKING
• Great opportunity to learn about your users
• Critical statistics for developing, maintaining, and improving
your SDKs
• Every popular API company today is tracking this: SendGrid,
Twilio, Stripe, Dropbox, etc.
@taylor_atx
📊
# Example from the Twilio Python module
# https://github.com/twilio/twilio-python
user_agent = "twilio-python %s (python-%s)" % (
LIBRARY_VERSION,
platform.python_version(),
)
headers = {
"User-Agent": user_agent,
"Accept-Charset": "utf-8",
}
USAGE TRACKING
@taylor_atx
EXAMPLES
@taylor_atx
💖
THANK YOU!
taylor@keen.io
@taylor_atx

More Related Content

What's hot

I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerI Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Apigee | Google Cloud
 
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
Apigee | Google Cloud
 

What's hot (20)

Swagger in the API Lifecycle
Swagger in the API LifecycleSwagger in the API Lifecycle
Swagger in the API Lifecycle
 
Building a Better BaaS
Building a Better BaaSBuilding a Better BaaS
Building a Better BaaS
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
 
Developing Faster with Swagger
Developing Faster with SwaggerDeveloping Faster with Swagger
Developing Faster with Swagger
 
Going to Infinity and Beyond Documentation with OpenAPI
Going to Infinity and Beyond Documentation with OpenAPIGoing to Infinity and Beyond Documentation with OpenAPI
Going to Infinity and Beyond Documentation with OpenAPI
 
Using Cookies to Store Your Postman Secrets
Using Cookies to Store Your Postman SecretsUsing Cookies to Store Your Postman Secrets
Using Cookies to Store Your Postman Secrets
 
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the EnterpriseDOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
 
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerI Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification Links
 
API Design first with Swagger
API Design first with SwaggerAPI Design first with Swagger
API Design first with Swagger
 
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
Logic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIsLogic apps and PowerApps - Integrate across your APIs
Logic apps and PowerApps - Integrate across your APIs
 
Swagger for-your-api
Swagger for-your-apiSwagger for-your-api
Swagger for-your-api
 
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan ShekarIoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
IoT and Serverless - AWS - Serverless Summit - Madhusudan Shekar
 
Big Data LDN 2017: Using Conversational AI to Query Your Data
Big Data LDN 2017: Using Conversational AI to Query Your DataBig Data LDN 2017: Using Conversational AI to Query Your Data
Big Data LDN 2017: Using Conversational AI to Query Your Data
 
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauretapidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
apidays LIVE Paris - The Augmented API Design Reviewer by Arnaud Lauret
 
Google Chronicles: Analytics And Chrome
Google Chronicles: Analytics And ChromeGoogle Chronicles: Analytics And Chrome
Google Chronicles: Analytics And Chrome
 
How to build a Whatsapp clone in 2 hours
How to build a Whatsapp clone in 2 hoursHow to build a Whatsapp clone in 2 hours
How to build a Whatsapp clone in 2 hours
 
Little rock data management 032621
Little rock data management 032621Little rock data management 032621
Little rock data management 032621
 

Viewers also liked

The new HTAi vortal: from demonstrator to working prototype
The new HTAi vortal: from demonstrator to working prototypeThe new HTAi vortal: from demonstrator to working prototype
The new HTAi vortal: from demonstrator to working prototype
Patrice Chalon
 
CEC EAHIL 2012 Brussels
CEC EAHIL 2012 BrusselsCEC EAHIL 2012 Brussels
CEC EAHIL 2012 Brussels
EAHILPHIG
 
Ottenere visibilità sulla stampa
Ottenere visibilità sulla stampaOttenere visibilità sulla stampa
Ottenere visibilità sulla stampa
I3P
 
Entrepreneurhip why - where - when
Entrepreneurhip   why - where - whenEntrepreneurhip   why - where - when
Entrepreneurhip why - where - when
Prajakt Raut
 

Viewers also liked (20)

The new HTAi vortal: from demonstrator to working prototype
The new HTAi vortal: from demonstrator to working prototypeThe new HTAi vortal: from demonstrator to working prototype
The new HTAi vortal: from demonstrator to working prototype
 
CEC EAHIL 2012 Brussels
CEC EAHIL 2012 BrusselsCEC EAHIL 2012 Brussels
CEC EAHIL 2012 Brussels
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer Experience
 
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
 
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
 
Mobile Trends 2013
Mobile Trends 2013Mobile Trends 2013
Mobile Trends 2013
 
Porfolio TreataBit
Porfolio TreataBitPorfolio TreataBit
Porfolio TreataBit
 
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
 
Stamplay: Scale your business with Microsoft Bizspark and Windows Azure
Stamplay: Scale your business with Microsoft Bizspark and Windows AzureStamplay: Scale your business with Microsoft Bizspark and Windows Azure
Stamplay: Scale your business with Microsoft Bizspark and Windows Azure
 
Informe Autoevaluacion 2016
Informe Autoevaluacion 2016Informe Autoevaluacion 2016
Informe Autoevaluacion 2016
 
Tech Talk Live - Mobile SDKs
Tech Talk Live - Mobile SDKsTech Talk Live - Mobile SDKs
Tech Talk Live - Mobile SDKs
 
Anexo analisis acuerdo tpp
Anexo analisis acuerdo tppAnexo analisis acuerdo tpp
Anexo analisis acuerdo tpp
 
CV_Rivka Behar-Elfassy
CV_Rivka Behar-ElfassyCV_Rivka Behar-Elfassy
CV_Rivka Behar-Elfassy
 
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
Бот для Telegram и сайт  на WordPress — смогут  ли ужиться вместе?Бот для Telegram и сайт  на WordPress — смогут  ли ужиться вместе?
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
 
Grow as you go: lesson learned as a tech startupper
Grow as you go: lesson learned as a tech startupperGrow as you go: lesson learned as a tech startupper
Grow as you go: lesson learned as a tech startupper
 
Adaptive listening Overview
Adaptive listening Overview Adaptive listening Overview
Adaptive listening Overview
 
Ottenere visibilità sulla stampa
Ottenere visibilità sulla stampaOttenere visibilità sulla stampa
Ottenere visibilità sulla stampa
 
5 Cool LinkedIn Features You Probably Didn't Know About
5 Cool LinkedIn Features You Probably Didn't Know About5 Cool LinkedIn Features You Probably Didn't Know About
5 Cool LinkedIn Features You Probably Didn't Know About
 
Entrepreneurhip why - where - when
Entrepreneurhip   why - where - whenEntrepreneurhip   why - where - when
Entrepreneurhip why - where - when
 
Advisory board members how to
Advisory board members   how toAdvisory board members   how to
Advisory board members how to
 

Similar to Creating a Great Developer Experience Through SDKs

API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
Akana
 

Similar to Creating a Great Developer Experience Through SDKs (20)

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
 
Boilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development ProcessBoilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development Process
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
Building the Eventbrite API Ecosystem
Building the Eventbrite API EcosystemBuilding the Eventbrite API Ecosystem
Building the Eventbrite API Ecosystem
 
API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me?
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
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...
 
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
Can Your Mobile Infrastructure Survive 1 Million Concurrent Users?
 
Big Data Week 2013 Flow
Big Data Week 2013 FlowBig Data Week 2013 Flow
Big Data Week 2013 Flow
 
Building a great internal platform starts with the API
Building a great internal platform starts with the API Building a great internal platform starts with the API
Building a great internal platform starts with the API
 
SUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off SessionSUG Bangalore - Kick Off Session
SUG Bangalore - Kick Off Session
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
The Best Local Database for React Native Application Development .pdf
The Best Local Database for React Native Application Development .pdfThe Best Local Database for React Native Application Development .pdf
The Best Local Database for React Native Application Development .pdf
 
Content Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortalsContent Strategy and Developer Engagement for DevPortals
Content Strategy and Developer Engagement for DevPortals
 
The Atlassian Tool Suite for Collaborative Science
The Atlassian Tool Suite for Collaborative ScienceThe Atlassian Tool Suite for Collaborative Science
The Atlassian Tool Suite for Collaborative Science
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
 
Create Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutesCreate Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutes
 
Netflix OSS and HATEOAS deployed on production - JavaLand
Netflix OSS and HATEOAS deployed on production - JavaLandNetflix OSS and HATEOAS deployed on production - JavaLand
Netflix OSS and HATEOAS deployed on production - JavaLand
 

Recently uploaded

+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)

+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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"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 ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Creating a Great Developer Experience Through SDKs

  • 1. CREATING A GREAT DEVELOPER EXPERIENCE THROUGH SDKS
  • 2. Developer Evangelist at Keen IO taylor@keen.io @taylor_atx TAYLOR BARNETT
  • 4. Collect & store data from users, websites, apps & smart devices. Query instantly to share results with teams & customers, anywhere. @taylor_atx
  • 5. LET’S BE REAL ABOUT SDKS @taylor_atx
  • 6. Most API providers aren’t updating their SDKs enough 😞 @taylor_atx
  • 7. Get the most attention when they are 🔥broken🔥 @taylor_atx
  • 8. Many of SDKs are now open source, which is great, but… @taylor_atx
  • 9. There are a lot of great HTTP request libraries out there now 🎉 @taylor_atx
  • 10. We could talk for a really long time about why using SDKs aren’t great @taylor_atx
  • 11. WHY SHOULD YOU PROVIDE SDKS? @taylor_atx
  • 12. Most of the time using an API is important, but peripheral to why the software is being written @taylor_atx
  • 13. Your SDKs are your API @taylor_atx
  • 14. SDKs give quick feedback on how your API works @taylor_atx
  • 15. There’s a business case for putting resources into SDKs @taylor_atx
  • 16. OTHER REASONS • When there’s no good built in HTTP request library • Error handling • Building clients with 100% API coverage • Helping users with authentication • Best practices with complex APIs @taylor_atx
  • 17. CREATING A GREAT DEVELOPER EXPERIENCE @taylor_atx
  • 18. PRODUCT VS COMMUNITY SDKS • Clearly define the two to set better expectations • If you don’t build them, Community SDKs will appear • Leads to a scattered developer experience • Community SDK bugs will appear in your Support channels @taylor_atx
  • 19. DOCUMENTATION • Write the SDK documentation first • Consistency • Helps evaluate the experience @taylor_atx
  • 20. DOCUMENTATION • Include sections for • Troubleshooting, with common errors and issues users run into —> Your Support team will love you for this • Changelog or release notes @taylor_atx
  • 21. SCARY WORLD OF DEPENDENCIES • Help your users navigate it • Users need to know changes between SDK versions • Survey your options 😱 @taylor_atx
  • 22. DANGERS OF NOT MAKING YOUR OWN SDKS • Not eating your own dog food is dangerous • Helps you understand the cost of building with your own API • It’s also encouragement to add new API features into your SDK when they released, not later @taylor_atx
  • 23. NATIVE AS POSSIBLE • Please do not auto generate SDKs badly from your API • Example: Go find a Go developer to write your Go SDK • Start with the languages that are the most popular for your target audience and that your team is familiar with @taylor_atx
  • 24. COMMON DATA STRUCTURES • Avoid inconsistency in your users’ code • Example: JSON is a great option for representing data • Want to map well to data structures in many different languages @taylor_atx
  • 25. USAGE TRACKING • Great opportunity to learn about your users • Critical statistics for developing, maintaining, and improving your SDKs • Every popular API company today is tracking this: SendGrid, Twilio, Stripe, Dropbox, etc. @taylor_atx 📊
  • 26. # Example from the Twilio Python module # https://github.com/twilio/twilio-python user_agent = "twilio-python %s (python-%s)" % ( LIBRARY_VERSION, platform.python_version(), ) headers = { "User-Agent": user_agent, "Accept-Charset": "utf-8", } USAGE TRACKING @taylor_atx
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.