Gradual Enhancement

  • Adam Wiggins' story (paraphrasing) - friend wanted to have a clock on his website, Adam gave him a PHP snippet, and coming back a few weeks later that friend cobbled together an amazing interactive website, by piecing together various random PHP bits
  • gradual enhancement seems like important idea for end-user programming - allowing users to change small pieces of functionality without feeling overwhelmed, and slowly "luring them in"

Consider the typical trajectory of Emacs power users. They start by downloading Emacs, and learning enough of it for their editing needs. At some point, they want to do some basic customization. Then some less basic customization, which is likely to be the first contact with Emacs Lisp, even if it's only a copy-paste of a small function found on the Emacs Stack Exchange. With the confidence gained from such minor tweaking, they move on to more ambitious tasks. Some end up developing and maintaining major Emacs Lisp packages, but most don't, and that's perfectly fine.

Szymon Kaliski © 2021