https://notes.andymatuschak.org/z492hGrHvRvJiEY9UfB4Mby

Andy believes that enabling environments should ideally be built around something that is intrinsically valuable in and of itself (and not be an enabling environment to be an enabling environment). For example, Apple, NASA, research labs, and YC are enabling environments for the personal growth of a lot of people while serving separately meaningful purposes.

Enabling environments should:

  • expand the range of action
    • Photoshop’s content-aware resize tool
    • checklists in airplanes/hospitals
  • expand the upper bounds
    • Arabic numerals
    • non-linear video editing
  • design representations which subsume the expressive range of existing representations but with lower / different effort / expertise demands; e.g.:
    • Figma’s vector network bezier tool vs. Photoshop’s pen tool
    • automatic retain counting in Rust and Objective-C vs. manual retain counting
  • design representations which subsume the expressive range of existing representations but with smoother effort / expertise on-ramps; e.g.:
    • SICP
    • Minecraft’s 3D editor vs. pre-existing voxel editors
    • (many existing environments here, like SICP and most executable notebooks, interplay weakly with where the enabled action happens, which significantly limits their power)
    • (here’s the opportunity for dynamic Cognitive scaffoldingEnacted experiences amplify the power of narrative, and some other Primer design elements)