Ink & Switch offer an overview on the history, current state, and possible new approaches to providing end-users with more power over computation through various approaches of extensibility. From the introduction:
This article tackles the question of why this is so. We’ll start by describing three qualities we think are important for end-user programming: embodiment, living systems, and in-place toolchains. We’ll survey the prior art and try to illuminate what has made this problem so immensely difficult. Then we will document the experiments we’ve done at the Ink & Switch research lab in adding automation and customization capabilities to a digital sketchbook application.
We believe in a computing future where programming is within the grasp of everyone and hope this article can inspire and challenge our industry.