Index | About | Me | Jump to Menu Section

Malleable System

The user wants open software, software that can be modified, and that can participate in a progressive improvement process.

— J.C.R. Licklider, Some Reflections on Early History (1986)


  1. Software must be as easy to change as it is to use it
  2. All layers, from the user interface through functionality to the data within, must support arbitrary recombination and reuse in new environments
  3. Tools should strive to be easy to begin working with but still have lots of open-ended potential
  4. People of all experience levels must be able to retain ownership and control
  5. Recombined workflows and experiences must be freely sharable with others
  6. Modifying a system should happen in the context of use, rather than through some separate development toolchain and skill set
  7. Computing should be a thoughtfully crafted, fun, and empowering experience