"Apparatus: A Hybrid Graphics Editor / Programming Environment" by Toby Schachman

An interactive diagram can be an effective way to communicate a mental model, because it can convey a way of seeing a problem or system. Currently, to create an interactive diagram one must write code to procedurally draw the diagram and respond appropriately to user input. Writing this code can take hours or days. Apparatus aims to reduce the time to create an interactive diagram from hours to minutes. Apparatus combines the direct manipulation capabilities of a vector graphics editor with the dataflow capabilities of a spreadsheet. Through this hybridization, Apparatus supports both spatial and symbolic ways of working in tandem. Dataflow defines the state space of a diagram, algebra driving geometry. Dragging shapes moves through this state space, geometry driving algebra. Instead of function calls or object-oriented inheritance, Apparatus uses a "call by copying" pattern for diagram reuse. Reused diagrams do not need to be explicitly parameterized. Instead of loops, Apparatus uses spreads which allow any value to exist in a "superposition". This allows shapes to be looped over implicitly. By decomposing shapes into paths of points, it also enables Apparatus to plot curves. Toby Schachman COMMUNICATIONS DESIGN GROUP Toby Schachman is an artist and interaction designer interested in new ways of seeing. He currently is a researcher in the Communications Design Group working on alternative interfaces for programming. He holds a master’s degree from the Interactive Telecommunications Program at NYU and a bachelor’s degree from MIT. He is a previous Eyebeam fellow.