Transclusion is limited by the data model’s composability

On Wikipedia, you can include one article’s subsection into another. In Xanadu, you can include arbitrary text blocks into another document. In Roam, you can include subtrees in other subtrees. The expressive capacity of Transclusion is hugely dependent on how composable the transcludable objects are.

In all the examples above, the objects in question are not particularly composable! Arbitrary prose paragraphs aren’t effectively usable in multiple places: good prose depends on arc, narrative, context. Text transclusion is almost always disjointed. I fear that most of the system designers who have been excited about this approach are in love with an idea about technology, rather than an idea about writing or communication.

Figma “components” are an interesting example of where something like transclusion seems to work much better. Visual elements can often be repurposed in multiple related contexts, particularly when they’re partially parametrizable.


Q. What’s an example of a transclusion operation that seems to work well?
A. Figma design components

Q. Why does textual transclusion often produce disjointed writing?
A. Arbitary sentences, paragraphs, and text ranges are not generally written to work in any context or sequence. They’re not reusable blocks; they’re highly dependent on the preceding prose.

Last updated 2023-07-13.