DESIGNING AN API FOR DEVELOPER HAPPINESS
[email protected] @GSHUTLER
WHY DOES THIS MATTERONBOARDING IS VITAL
SHARING OUR EXPERIENCETHINGS THAT HAVE WORKED
THINGS THAT HAVEN'T
WHAT WE'RE DOING NEXT
GOOD DOCUMENTATIONSTART LANGUAGE AGNOSTIC
HIERARCHY OF API HAPPINESS
ENDPOINTEXAMPLELIBRARY FOR MESIMILAR LIBRARYDOCUMENTATION
MINIMISE TTFRREMOVE ROADBLOCKS
REQUEST JOURNALRECORD EVERY REQUEST
IDEMPOTENCYUPSERT AND DELETE
STANDARDSTHE WORLD DOESN'T NEED MORE WHEELS
UNDERSTAND CONTEXTWHAT DO YOUR CLIENTS KNOW
NON-BREAKING CHANGESNEVER BREAK EXISTING CODE
PREFIXED IDSVISUALLY TELL WHAT AN ID IS FOR
567236000909002
N23KJNWRW2
JSDFJKSN234
ACC_567236000909002
PRO_N23KJNWRW2
CAL_N23KJNWRW2_JSDFJKSN234
CONFRONT UNHAPPY PATHSENCOURAGE THEM TO BE HANDLED
RATE LIMITSHAVE THEM FROM DAY ONE
SMART PUSH NOTIFICATIONSDON'T TELL ME WHAT I KNOW
DOG FOODINGUSE YOUR OWN API
RECOGNISE PLACEHOLDERSGUIDE COPY AND PASTE
ALPHA CHANNELRELEASE EARLY TO PEOPLE WHO ASK
STATUS PAGETELL PEOPLE IT'S YOUR FAULT
AVOID CLEVER DEFAULTSPRINCIPLE OF LEAST SURPRISE
DELAYING LIBRARIESWRITING CODE IS FRICTION
BETTER ERRORSBE AS HELPFUL AS POSSIBLE
BETTER GUIDANCEHELP THEM BE AWESOME
MORE EXAMPLESCOPY AND PASTE TO SUCCESS
PRODUCTION MONITORINGWHAT'S HAPPENING
[email protected]
@GSHUTLER