Top Banner
DESIGNING AN API FOR DEVELOPER HAPPINESS
29

Refresh London - Designing an API for developer happiness

Apr 07, 2017

Download

Software

Garry Shutler
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Refresh London - Designing an API for developer happiness

DESIGNING AN API FOR DEVELOPER HAPPINESS

Page 2: Refresh London - Designing an API for developer happiness

[email protected] @GSHUTLER

Page 3: Refresh London - Designing an API for developer happiness

WHY DOES THIS MATTERONBOARDING IS VITAL

Page 4: Refresh London - Designing an API for developer happiness

SHARING OUR EXPERIENCETHINGS THAT HAVE WORKED

THINGS THAT HAVEN'T

WHAT WE'RE DOING NEXT

Page 5: Refresh London - Designing an API for developer happiness

GOOD DOCUMENTATIONSTART LANGUAGE AGNOSTIC

Page 6: Refresh London - Designing an API for developer happiness

HIERARCHY OF API HAPPINESS

ENDPOINTEXAMPLELIBRARY FOR MESIMILAR LIBRARYDOCUMENTATION

Page 7: Refresh London - Designing an API for developer happiness

MINIMISE TTFRREMOVE ROADBLOCKS

Page 8: Refresh London - Designing an API for developer happiness

REQUEST JOURNALRECORD EVERY REQUEST

Page 9: Refresh London - Designing an API for developer happiness

IDEMPOTENCYUPSERT AND DELETE

Page 10: Refresh London - Designing an API for developer happiness

STANDARDSTHE WORLD DOESN'T NEED MORE WHEELS

Page 11: Refresh London - Designing an API for developer happiness

UNDERSTAND CONTEXTWHAT DO YOUR CLIENTS KNOW

Page 12: Refresh London - Designing an API for developer happiness

NON-BREAKING CHANGESNEVER BREAK EXISTING CODE

Page 13: Refresh London - Designing an API for developer happiness

PREFIXED IDSVISUALLY TELL WHAT AN ID IS FOR

Page 14: Refresh London - Designing an API for developer happiness

567236000909002

N23KJNWRW2

JSDFJKSN234

Page 15: Refresh London - Designing an API for developer happiness

ACC_567236000909002

PRO_N23KJNWRW2

CAL_N23KJNWRW2_JSDFJKSN234

Page 16: Refresh London - Designing an API for developer happiness

CONFRONT UNHAPPY PATHSENCOURAGE THEM TO BE HANDLED

Page 17: Refresh London - Designing an API for developer happiness

RATE LIMITSHAVE THEM FROM DAY ONE

Page 18: Refresh London - Designing an API for developer happiness

SMART PUSH NOTIFICATIONSDON'T TELL ME WHAT I KNOW

Page 19: Refresh London - Designing an API for developer happiness

DOG FOODINGUSE YOUR OWN API

Page 20: Refresh London - Designing an API for developer happiness

RECOGNISE PLACEHOLDERSGUIDE COPY AND PASTE

Page 21: Refresh London - Designing an API for developer happiness

ALPHA CHANNELRELEASE EARLY TO PEOPLE WHO ASK

Page 22: Refresh London - Designing an API for developer happiness

STATUS PAGETELL PEOPLE IT'S YOUR FAULT

Page 23: Refresh London - Designing an API for developer happiness

AVOID CLEVER DEFAULTSPRINCIPLE OF LEAST SURPRISE

Page 24: Refresh London - Designing an API for developer happiness

DELAYING LIBRARIESWRITING CODE IS FRICTION

Page 25: Refresh London - Designing an API for developer happiness

BETTER ERRORSBE AS HELPFUL AS POSSIBLE

Page 26: Refresh London - Designing an API for developer happiness

BETTER GUIDANCEHELP THEM BE AWESOME

Page 27: Refresh London - Designing an API for developer happiness

MORE EXAMPLESCOPY AND PASTE TO SUCCESS

Page 28: Refresh London - Designing an API for developer happiness

PRODUCTION MONITORINGWHAT'S HAPPENING

Page 29: Refresh London - Designing an API for developer happiness

[email protected]

@GSHUTLER