Fail Gracefully

People make mistakes.

Every human endeavor shows this to be brutal truth, but it stands out starkly in software, where years of work can be undone in microseconds.

Despite this, most software punishes us terribly for mistakes.

Undo, for instance, should make changing our minds less dangerous. Instead, most implementations drop all divergent histories when you redo, making it deadly for anything more than typo fixes.

Emacs and Vim avoid this pitfall, but they still need plugins to match Adobe Photoshop's History palette.

Software should embrace our failures, errors, mistakes, and regrets. Rather than shackling us with safety, it should let us wander freely and help us homeward when we lose our way.

Other Articles In 'meta'


  1. Know Your Tools

    Musicians have instruments. Programmers have editors.