Rethinking DOM from first principles
Documents vs Applications on the Web
- Major split between “web as hypertext documents” vs “web as universal app platform.”
- One side argues most sites (e.g., news) should be simple documents: fast, indexable, savable, accessible, not JS-heavy apps.
- The opposing view says even newspapers now behave like apps, so HTML should be treated as an application UI language and redesigned accordingly.
- Some say “document vs app” is mostly vibes: all pages with links and scripts are already apps in practice.
JavaScript, Frameworks, and the DOM
- Several commenters reminisce about server-rendered HTML with light JS and argue we should go back to that model (often mentioning htmx).
- Others say frameworks (React, etc.) exist because manually patching DOM state is hard, not because developers are irrationally “afraid” of the DOM.
- Strong disagreement over DOM performance and ergonomics: some call it slow and full of footguns (reflow/repaint traps, awkward APIs); others insist it’s extremely fast when used well and problems are mostly developer misuse.
Complexity of HTML/CSS and Proposals to “Start Over”
- Many feel CSS/DOM are bloated and internally inconsistent (styling vs layout mashed together, hundreds of properties, odd defaults).
- Suggested fixes include: a new “app” mode/doctype, a minimal core runtime with everything else as components, CSS namespaces for layout models, or a constraints-based layout system.
- Counterargument: any realistic replacement will re-accumulate similar complexity and bloat, and second-system rewrites risk being worse and captured by big vendors.
WASM, Canvas/WebGPU, and Alternatives (Flutter, Native)
- Some imagine app-style UIs built on WASM + WebGPU or shader-based layouts, essentially treating the browser as a VM.
- Others warn this leads to opaque apps that break search, links, and accessibility, replicating the problems of Java/Flash.
- Flutter and canvas-based UIs are cited as proof you can bypass the DOM, but also as examples of accessibility and text-input regressions.
State, Semantics, and Web Components
- One camp advocates keeping application state in the DOM (via attributes) to simplify logic and make inspection easy; critics call this a data–presentation conflation.
- Semantics and custom tags are discussed; HTML’s ability to accept unknown dashed tags as real elements is noted as underused.
- Web components get brief mention: some see them as promising, others say adoption and enthusiasm remain low.
Backward Compatibility and Governance
- Many stress that backwards compatibility is the core reason HTML/DOM look the way they do; you can’t “remove bad parts” without breaking vast legacy content.
- Skepticism that the web is really governed by committees; some claim one large vendor effectively sets the direction, for better or worse.