~/talk

10 Reasons Why we Love Some APIs and Why we Hate Some Others

Talkat Voxxed Days Zurich 2019 · on Tuesday, 2019-03-19· [api-design, developer-experience]
slides:none on file

Ten concrete rules and sharp examples decide whether to watch: APIs succeed when names and types map directly to intent, are discoverable in an IDE, and provide convenience wrappers. Concrete failures shown include file.list returns null causing NPEs, inconsistent naming in the Java Stream API (skip vs drop), and opaque Spring setup that forces extra configuration. Wins include jQuery feels great for fluent discovery and JSR‑310 Java Time for consistent verbs and types. Expect pragmatic guidance, small utilities built to hide complexity, and tradeoffs between backward compatibility and cleaner names.

AI-written summary · about

  1. 0:00Start
  2. 5:38User Experience
  3. 10:21Prejudices - Tech
  4. 14:02Naming - Ubiquitous Language
  5. 14:36Naming - Why is it important?
  6. 15:07Naming - Don't do this
  7. 16:25Naming -Tradeoffs
  8. 17:05Naming - Consistency
  9. 19:561. Naming - Why not?
  10. 23:28Simplicity - Technical View
  11. 23:58Simplicity - Spiritual View
  12. 24:39Simplicity - How not to be simple
  13. 27:29Simplicity - How to be simple
  14. 28:17Do One Thing
  15. 29:45Types - Advantages
  16. 30:27Types - Recognise the outline of this talk?
  17. 32:10Types - How do we do types?
  18. 37:28Discoverability - JPA good part
  19. 38:21Discoverability - Bad examples (IMO)
  20. 39:59Discoverability - Good examples
  21. 41:44Error Handling
  22. 46:54Convenience - Dogfooding
  23. 49:24Compatibility - A Trick
  24. 49:43Documentation
  25. 50:43Overview
  26. 51:23Consumer Information
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.