Revive Raskin’s 3 laws of software with humane work that considers a dev’s duty of care
A NeoVim user’s persistent undo history was overwritten, destroying records of more than a decade of edits. The article uses the incident to argue that software should be designed with a duty of care towards users’ work and time.
It revisits Jef Raskin’s three laws of interface design: protect users’ work, avoid wasting their time, and respond considerately to human needs and limitations. The writer argues that free and open-source software often neglects these principles, while proprietary software has also forgotten lessons it once learned; Raskin also criticised modal interfaces such as vi.
- NeoVim overwrote more than a decade of undo history.
- Raskin’s laws prioritise protecting work and users’ time.
- The article calls for more humane software design.
New here? Start with this
Jef Raskin was an interface designer whose three laws outlined core principles for software development: protect users' work, avoid wasting their time, and respond considerately to human needs and limitations. His thinking emerged from a belief that software should serve people's needs rather than impose technical constraints on how they work.
A user of NeoVim, a text editor, recently discovered that years of edit history—records spanning more than a decade—had been erased. This incident prompted discussion about whether modern software still follows Raskin's principle of protecting the work users create.
The incident has raised questions about whether software designers maintain a duty of care towards their users. The discussion encompasses both free and open-source software and commercial products, examining whether developers consider how their technical choices affect the people who rely on their tools.
Both sides, in good faith
The strongest fair case each way — we don't pick a winner.
The case for
When a tool irreversibly destroys years of editing history without warning, it violates the implicit trust users place in software, particularly open-source projects where community stewardship is paramount. Raskin's principles aren't about limiting user choice but recognising that designers have an obligation to prevent catastrophic data loss and respect the time users invest. This duty of care reflects a basic human dignity—software mediates peoples' professional and creative lives, and thoughtful design that protects work and time matters profoundly.
The case against
A fair counterargument acknowledges that software involves genuine tradeoffs and shared responsibility—users of technical tools, especially in volunteer-maintained FOSS, bear some responsibility for understanding their tools and maintaining backups. Modal interfaces like vi offer efficiency and power that experienced users value; prescriptive design that removes choice in pursuit of 'protection' may harm them. FOSS maintainers already donate time, so demanding they meet commercial standards risks discouraging contribution, and the focus should centre on transparency and user education rather than preventing all possible actions.