Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
DESIGNING AN API FOR
DEVELOPER HAPPINESS
GARRY@CRONOFY.COM
@GSHUTLER
WHY DOES THIS MATTER
ONBOARDING IS VITAL
SHARING OUR EXPERIENCE
THINGS THAT HAVE WORKED
THINGS THAT HAVEN'T
WHAT WE'RE DOING NEXT
GOOD DOCUMENTATION
START LANGUAGE AGNOSTIC
HIERARCHY OF API HAPPINESS
ENDPOINT
EXAMPLE
LIBRARY FOR ME
SIMILAR LIBRARY
DOCUMENTATION
MINIMISE TTFR
REMOVE ROADBLOCKS
REQUEST JOURNAL
RECORD EVERY REQUEST
IDEMPOTENCY
UPSERT AND DELETE
STANDARDS
THE WORLD DOESN'T NEED MORE WHEELS
UNDERSTAND CONTEXT
WHAT DO YOUR CLIENTS KNOW
NON-BREAKING CHANGES
NEVER BREAK EXISTING CODE
PREFIXED IDS
VISUALLY TELL WHAT AN ID IS FOR
567236000909002
N23KJNWRW2
JSDFJKSN234
ACC_567236000909002
PRO_N23KJNWRW2
CAL_N23KJNWRW2_JSDFJKSN234
CONFRONT UNHAPPY PATHS
ENCOURAGE THEM TO BE HANDLED
RATE LIMITS
HAVE THEM FROM DAY ONE
SMART PUSH NOTIFICATIONS
DON'T TELL ME WHAT I KNOW
DOG FOODING
USE YOUR OWN API
RECOGNISE PLACEHOLDERS
GUIDE COPY AND PASTE
ALPHA CHANNEL
RELEASE EARLY TO PEOPLE WHO ASK
STATUS PAGE
TELL PEOPLE IT'S YOUR FAULT
AVOID CLEVER DEFAULTS
PRINCIPLE OF LEAST SURPRISE
DELAYING LIBRARIES
WRITING CODE IS FRICTION
BETTER ERRORS
BE AS HELPFUL AS POSSIBLE
BETTER GUIDANCE
HELP THEM BE AWESOME
MORE EXAMPLES
COPY AND PASTE TO SUCCESS
PRODUCTION MONITORING
WHAT'S HAPPENING
QUESTIONS?
GARRY@CRONOFY.COM
@GSHUTLER
Nächste SlideShare
Wird geladen in …5
×

Refresh London - Designing an API for developer happiness

An overview of what we've tried an learned about developer happiness when developing Cronofy's API.

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Refresh London - Designing an API for developer happiness

  1. 1. DESIGNING AN API FOR DEVELOPER HAPPINESS
  2. 2. GARRY@CRONOFY.COM @GSHUTLER
  3. 3. WHY DOES THIS MATTER ONBOARDING IS VITAL
  4. 4. SHARING OUR EXPERIENCE THINGS THAT HAVE WORKED THINGS THAT HAVEN'T WHAT WE'RE DOING NEXT
  5. 5. GOOD DOCUMENTATION START LANGUAGE AGNOSTIC
  6. 6. HIERARCHY OF API HAPPINESS ENDPOINT EXAMPLE LIBRARY FOR ME SIMILAR LIBRARY DOCUMENTATION
  7. 7. MINIMISE TTFR REMOVE ROADBLOCKS
  8. 8. REQUEST JOURNAL RECORD EVERY REQUEST
  9. 9. IDEMPOTENCY UPSERT AND DELETE
  10. 10. STANDARDS THE WORLD DOESN'T NEED MORE WHEELS
  11. 11. UNDERSTAND CONTEXT WHAT DO YOUR CLIENTS KNOW
  12. 12. NON-BREAKING CHANGES NEVER BREAK EXISTING CODE
  13. 13. PREFIXED IDS VISUALLY TELL WHAT AN ID IS FOR
  14. 14. 567236000909002 N23KJNWRW2 JSDFJKSN234
  15. 15. ACC_567236000909002 PRO_N23KJNWRW2 CAL_N23KJNWRW2_JSDFJKSN234
  16. 16. CONFRONT UNHAPPY PATHS ENCOURAGE THEM TO BE HANDLED
  17. 17. RATE LIMITS HAVE THEM FROM DAY ONE
  18. 18. SMART PUSH NOTIFICATIONS DON'T TELL ME WHAT I KNOW
  19. 19. DOG FOODING USE YOUR OWN API
  20. 20. RECOGNISE PLACEHOLDERS GUIDE COPY AND PASTE
  21. 21. ALPHA CHANNEL RELEASE EARLY TO PEOPLE WHO ASK
  22. 22. STATUS PAGE TELL PEOPLE IT'S YOUR FAULT
  23. 23. AVOID CLEVER DEFAULTS PRINCIPLE OF LEAST SURPRISE
  24. 24. DELAYING LIBRARIES WRITING CODE IS FRICTION
  25. 25. BETTER ERRORS BE AS HELPFUL AS POSSIBLE
  26. 26. BETTER GUIDANCE HELP THEM BE AWESOME
  27. 27. MORE EXAMPLES COPY AND PASTE TO SUCCESS
  28. 28. PRODUCTION MONITORING WHAT'S HAPPENING
  29. 29. QUESTIONS? GARRY@CRONOFY.COM @GSHUTLER

×