In the physical world, people naturally shape their environments—like a guitar maker arranging tools or a cook reorganizing a kitchen—because matter is malleable. The essay notes that this same sense of agency has eroded as work and life move into software‑built environments. For example, a software team that initially used a wall of index cards to track work could instantly adapt their process by moving cards or creating special zones. When they switched to a web‑based issue tracker for remote collaboration, they lost this fluidity; modeling a special zone of cards became impossible, and any process change required hours of configuration or was simply blocked.

Photo of a guitar workshop with tools arranged on a workbench
Illustrates the idea of shaping physical environments, like a guitar maker arranging tools, which the article contrasts with software rigidity.www.inkandswitch.com

The opening paragraph compares the malleability of physical workspaces—such as a guitar maker arranging tools—to the lack of agency in software environments.

Photo of a kitchen with utensils and ingredients organized for cooking
Shows a cook reorganizing a kitchen, exemplifying how people naturally adapt physical spaces to their needs.www.inkandswitch.com

The article’s opening uses the kitchen example to highlight human agency in shaping tangible surroundings before discussing software limitations.

The author then examines common strategies for adapting software and finds them wanting. Settings only offer controls that developers have anticipated, often becoming long, incoherent checklists. Plugin systems, while allowing third-party extensions, are limited to authorized surfaces and many applications lack a plugin API altogether; creating a plugin requires significant effort to cross the chasm from installation to authoring. Modding, such as through browser extensions, can intervene without developer permission but demands reverse‑engineering, struggles with maintenance as the underlying app evolves, and is constrained by platform limits (e.g., browser extensions cannot modify server‑side behavior). Even open source software, while granting the legal right to modify code, typically requires substantial expertise and effort to make even minor changes, deterring spontaneous tweaks. Finally, AI-assisted code generation excels at creating new siloed tools but does not facilitate tweaking existing installed software or composing AI-generated utilities into larger, integrated workflows.

The essay proposes malleable software as an ecosystem where anyone can adapt their tools to personal needs with minimal friction. This vision extends beyond technical fixes: it calls for software organized as flexible, remixable toolkits rather than monolithic applications, and for infrastructure that treats users as active co‑creators. The author points to a real-world example where a neurosurgeon partnered with an IT analyst to craft a faster, more intuitive medical-records interface tailored to their department's specific needs, which improved productivity and restored a sense of control—an antidote to the burnout caused by inflexible, one‑size‑fits‑all systems. Achieving malleable software, therefore, requires not just better APIs but a cultural shift that prioritizes adaptability and provides the means for users to share, combine, and evolve tools without the overhead of traditional software development.

Screenshot showing a list of plugins in the Obsidian application
Represents plugin systems that allow extensions but are often limited to authorized surfaces and require significant effort to author.www.inkandswitch.com

In the section examining adaptation strategies, the author notes plugin systems require crossing a chasm from installation to authoring, as exemplified by Obsidian’s plugin ecosystem.

Diagram illustrating a steep cliff labeled with challenges of browser extensions
Visualizes the steep learning curve and maintenance struggles of browser extensions as a modding approach.www.inkandswitch.com

The article describes modding via browser extensions as demanding reverse‑engineering, suffering from maintenance issues, and being platform‑limited.

Screenshot of an artifact generated by Claude, showing code output
Depicts AI‑assisted code generation, which creates new siloed tools but does not help tweak existing software or compose utilities into larger workflows.www.inkandswitch.com

The essay argues that AI‑generated code excels at making new tools yet fails to facilitate modifications to installed software or integration into cohesive workflows.