There’s an analogue to Gall’s law in system design: if you want a transformatively powerful system (e.g. Tools for thought) that applies in many contexts for many people, you probably need to evolve it from a system which had truly transformative power in some narrow context.
A system which seems only modestly powerful—no matter how broadly applicable—probably can’t be evolved in-place into something transformative. The primitive abstraction will need to change. It’ll be easier to figure out how to do that with a highly focused context of use (Effective system design requires insights drawn from serious contexts of use), and much harder if you’ve prematurely scaled (Premature scaling can stunt system iteration).
Pervasive norms in the tech industry seem to oppose this principle (Tech industry culture rarely produces transformative tools for thought). If you’ve got something that shows promise in some narrow context, the strong cultural impulse is to scale that to as many people/contexts as possible. The opposing impulse would be: no, linger in that space; keep pushing on the primitives; make the system as utterly transformative as possible for some small group of people. Once it’s life-changing, figure out how it might apply to more people or contexts.
Initially inspired by some pointed nudges from Michael Nielsen, 2022-11-16.