The Observer tip-jar
summary
Claim: Ember observers cause bugs and hidden work by being observers are eager, producing extra computation, inconsistent intermediate state and surprising cross‑component side effects. Evidence: examples comparing computed properties (lazy, deterministic) to observers (eager, amplifying work), a realtime autosave debouncing failure, a timezone-triggered 15 minute freeze, and D3 integrations where pushing data out is the only legit observer case. Fixes: prefer actions up bindings down, convert observer setters into computed properties, and use scheduleOnce on the render queue or component lifecycle hooks.
AI-written summary · about
chapters (10)
- 0:00Intro
- 1:57fix all the bugs!
- 7:01attributes passed to .create are initial state
- 8:03lets take a closer look
- 10:01huge work amplification potential
- 14:47once upon a time...
- 15:57bindings down, actions up
- 17:27unexpected side effects are unexpected
- 22:36the data-binding hammer
- 26:15actions UP, bindings DOWN
related talks
01h 20mRevisiting C++ Observers: Spooky Action at a Distance
29mWatch your back, Browser! You're being observed
30mImmutability is for UI, You, and I
31mWatch Your Back, Browser! You're Being Observed.
01h 02mThe Observer Design Pattern in Cpp
28mDeep Dive on Ember Events
26mEmber.js Performance
21mObserver Driven Design
