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