~/talk

API Design as an Art

github:hzsweers

AutoDispose is an RxJava2 utility for automatic stream disposal built and rewritten about six times to solve real Java pains: leaking disposables, generics erasure, and IDE autocomplete. Iterations move from disposable extensions and builder-heavy observers to a compose-style converter that returns a subscribe-proxy, landing at a V5 that shortens client code and respects Rx subscribe signatures. Work includes a month-and-a-half incubation, an IntelliJ autocomplete fix (Oct 4), and a focus on scope binding and IDE ergonomics that proves effective in practice.

AI-written summary · about

  1. 0:00Introduction and background
  2. 3:10What makes an API bad
  3. 5:14What makes an API good
  4. 8:04Case study: Autodispose library
  5. 11:16First API iteration and flaws
  6. 14:20V1: Bound observer builder
  7. 17:49V2: Simplifying the API
  8. 19:19V3: Making scope explicit
  9. 20:22Fixing generic type inference
  10. 23:01Reducing ceremony in Java 7
  11. 24:02V4: Using to operator
  12. 27:12V5: Explicit subscribe proxy
  13. 28:35Final tweaks and IDE fixes
  14. 31:06Key learnings from API design
  15. 37:26Q&A and backward compatibility
~/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.