可塑软件:在锁定应用的世界中恢复用户能动性 --- Malleable software: Restoring user agency in a world of locked-down apps
|最后更新: 2025-12-17
Status
Like
Saved
Dec 17, 2025 09:23 AM
链接
The original promise of personal computing was a new kind of clay—a malleable material that users could reshape at will. Instead, we got appliances: built far away, sealed, unchangeable. When your tools don’t work the way you need them to, you submit feedback and hope for the best. You’re forced to adapt your workflow to fit your software, when it should be the other way around.
In this essay, we envision malleable software: tools that users can reshape with minimal friction to suit their unique needs. Modification becomes routine, not exceptional. Adaptation happens at the point of use, not through engineering teams at distant corporations.
Realizing this vision will require confronting many barriers. From programming languages to operating systems and app stores, every layer of the modern computing landscape has been built upon the assumption that users are passive recipients rather than active co-creators. What we need instead are computing systems that invite every user to gradually become a creator. Tools that compose into custom workflows, rather than siloed monolithic apps. Systems that support local groups in communal creation.
Fortunately, there’s a lot of inspiration to draw on—both research work and commercial products spanning the past several decades. In this essay, we synthesize ideas from that body of work, as well as lessons learned from years of testing our own prototypes. Whether you’re a software developer, a researcher, or any kind of computer user, we invite you to join us in striving towards a world of malleable software.
guitar.jpg
Please cite this work as:
We welcome your feedback: @inkandswitch or hello@inkandswitch.com.
guitar-workshop.jpg
kitchen.jpg
wall-board.jpg
A wall of index cards is a malleable medium for managing software development.
epic.jpg
Inflexible electronic medical records systems are driving doctors to burnout.
settings.png
Settings allow for certain customizations chosen in advance by an application developer.
obsidian-plugins.png
The Obsidian Markdown editor offers a rich ecosystem of community plugins for extending the editor's behavior.
extension.png
An example of a browser extension serving a niche need: BoA Checklist adds a persistent checkbox next to each transaction on the Bank of America website, to track if you've already reviewed that transaction.
pull-requests.png
Users can propose changes to an open source project on GitHub.
claude-workout-artifact.png
Building a workout timer tool using AI in Claude Artifacts
maclean-cliffs.png
Going from changing settings to full programming is a sharp "cliff" that's hard to scale. (figure from MacLean et al)
maclean-slope.png
A gentle slope of tailorability, made up of many different customization techniques. (figure from MacLean et al)
spreadsheet-slope.png
Spreadsheets offer a gentle slope of customization, from use to deeper modification.
hypercard-levels.png
In HyperCard, users could select a "level" to restrict their editing capabilities.
hypercard-slope.png
Each level in HyperCard represents a modest step up in power and skill.
browser-extension-cliff.png
Going from installing a browser extension to making one is a steep cliff. It requires leaving the browser and doing involved programming.
arc-styles.png
Arc Boosts lets users restyle a website with direct manipulation interactions from directly within the browser.
avocado-slicer.jpg
An avocado slicer is specialized to one use case.
kitchen-gadgets.jpg
There are specialized gadgets available for an enormous variety of tasks, from stripping corn to cutting lettuce.
knife.jpg
A knife can cut an avocado, and much more.
Loading...