Getting Developers
hooked on your API
@nico_g
Nicolas Garnier
self-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
SOAP
REST
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
Performance
Many languages
API reference
Community
Simplicty
Quickstart
Support
Wow effect Examples
@nico_g
time
difficulty
supportdev
Bad DX
Possible solution
@nico_gDeveloper Evangelists
Support
Public doc
Community
Developers
SEO
First impression matters
@nico_g
Documentation
@nico_g
Documenting your API is
easy
@nico_g
Swagger.io
Top-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
Questions?
ngarnier@mailjet.com
@nico_g
Thanks.
ngarnier@mailjet.com

Getting Developers hooked on your API by Nicolas Garnier at Codemotion Dubai