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.