Getting developers hooked on your api
-
Upload
nicolas-garnier -
Category
Software
-
view
182 -
download
3
Transcript of Getting developers hooked on your api
Getting Developers hooked on your API
@nico_g
Nicolas Garnierself-taught developer
@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
@nico_g
~15,000 APIs(ProgrammableWeb)
Developer Experience matters
But what is it?
@nico_g
Developer Experience matters
Journey to developer Adoption
@nico_g
@nico_g
Developer Experience
code application
@nico_g
code application
Developer Experience
UX
@nico_g
code application
Developer Experience
DX
@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
Where to start?
@nico_g
Dev focused web page
API reference
Examples
Languages and libraries
Easy navigation
Getting started
API Monitoring
Possibility to contribute
First impression matters
@nico_g
Documentation
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
while (true) {repeat();
}
@nico_g
@nico_g
{ }
js-doc.md php-doc.md go-doc.md
</>
metadata
code generator
templates
@nico_g
{
"description" : "This call sends an email.",
"resource" : "send",
"action" : "POST",
"args" : [
…}
@nico_g
{{#filtersExist}}$filters = [{{#filters}} '{{name}}' => '{{value}}'{{#comma}},{{/comma}}{{/filters}}];{{/filtersExists}}
{{#argumentsExist}}$body = {{{body}}};{{/argumentsExist}}
@nico_g
{ "Count": 1, "Data": [ { {{#args}} "{{name}}":"{{value}}"{{#comma}},{{/comma}} {{/args}} } ], "Total": 1}
@nico_g
@nico_g
Paw-some!
@nico_g
@nico_g
@nico_g
Thanks.