Choosing the Wrong Abstraction (And What It Cost Us)
summary
Mux Player turns out to be unsalvageable and the flagship component is thrown out after configuration-heavy APIs balloon with props and bundle size; a composable approach proves better. Concrete comparisons: Material UI → Base UI, Chart.js → D3/Observable Plot, MediaChrome → proposed Video.js 10. Composable APIs must be independent and stackable and offer an abstraction ladder with escape hatches; an AI benchmark shows composable video code maintains style changes more reliably, and a rebuilt player claims ~88% smaller bundles.
AI-written summary · about
chapters (14)
- 0:00Introduction: When Good APIs Go Bad
- 2:03The Cost of Configuration-Heavy APIs
- 3:03Material UI, Base UI, and Better Composition
- 4:31Programming Interfaces Are User Interfaces
- 5:24Chart.js vs. D3: Configuration vs. Composition
- 6:53What Makes a Composable API?
- 8:05Independent and Stackable Building Blocks
- 10:39The Hidden Cost of Composable APIs
- 12:11Abstraction Ladders: Making Composition Easier
- 14:48Escape Hatches and Climbing the Ladder
- 16:36AI, Brownfield Code, and Why Composition Matters
- 19:58Lessons for Better API Design
- 21:50Reimagining Video.js with Composable APIs
- 24:00Final Takeaways: Choosing the Right Abstractions
related talks
12mRip your player's face off
32mScalable Front End Architecture with the Composition API and Composable Functions
52mCompose Yourself! Different Kinds of Composables
22mNo More Player: Reinventing Video.js for the Next 15 Years (Sorry, Plugins!)
40mScalable JavaScript architecture
30mCompose All the Things
36mOn the Spectrum of Abstraction
27mHow to write better composables
