Upload
codemotion-dubai
View
315
Download
0
Embed Size (px)
Citation preview
Getting Developers hooked on your API
@nico_g
Nicolas Garnierself-taught developer@nico_g
@nico_g
@nico_g
~15,000 APIs(ProgrammableWeb)
@nico_g
Different kinds of APIs
@nico_g
One thing in common
@nico_g
US!One thing in common
@nico_g
Developer Experience
code application
@nico_g
code application
Developer Experience
UX
@nico_g
code application
Developer Experience
DX
@nico_g
Simplicity
What are we looking for as users?
Developer Experience matters
Journey to developer Adoption
@nico_g
@nico_g
Is it easy to use?
@nico_g
Is it easy to understand?
@nico_g
Is it adapted to my audience?
@nico_g
You are not alone.SOAP REST
Hypermedia
GraphQL FalcorJS
@nico_g
SOAPREST
Hypermedia
GraphQL FalcorJS
@nico_g
Treat APIs like
products
@nico_g
What really matters is
affordance & consistency
@nico_g
Affordance
/pets/$ID
@nico_g
Affordance
GET /pets/$ID
@nico_g
Consistency
POST /foods
@nico_g
API designers != end users
API
What devs expect
@nico_gBeginner Expert
How does it work?
Performance design
PerformanceMany languages
API reference
CommunitySimplicty
Quickstart
Support
Wow effect Examples
@nico_g
timed
ifficulty
supportdev
Bad DX
Possible solution
@nico_gDeveloper Evangelists
SupportPublic doc
Community
Developers
SEO
First impression matters
@nico_g
Documentation
@nico_g
Documenting your API iseasy
@nico_g
Swagger.ioTop-down
1. Create a Swagger definition of your API
2. Generate Server implementation
1. You already have a REST API
2. Generate the Swagger definition
Bottom-up
@nico_g
@nico_g
READING DOCS
@nico_g
LOL
⌘C + ⌘V@nico_g
PRAG-MA-TISM
@nico_g
Don’t forget anyone
Code snippets
@nico_g
Don’t forget anyone
Code snippets User guides
@nico_g
@nico_g
Don’t forget anyone
Code snippets User guides Sample app
@nico_g
Don’t reinvent the wheel
apiary
readme.io
slate
Don’t reinvent the wheel
@nico_g
@nico_g
metadata
code generator
templates
@nico_g
…
@nico_g
@nico_g
@nico_g
Paw-some!
@nico_g
@nico_g
Developer Evangelist
@nico_g
What my friends think I do What my mom thinks I do What society thinks I do
What my boss thinks I do What I think I do What I actually do
�
Developer Evangelist
@nico_g
Connect with devs and help them make the most of Mailjet APIs
Share knowledge at conferences, meetups & hackathons
Design and provide sample code for developers to make their use of the API easy
work on fun projects to show that you can do more with Mailjet than sending basic emails
Where to start?
@nico_g
Dev focused web page
API reference
Examples
Languages and libraries
Easy navigation
Getting started
API Monitoring
Possibility to contribute
@nico_g
@nico_g