the toybox and the toolbox

Talking about design for hackability at Assembly Helsinki Summer 2014:


The first comment was one that we have heard many times. Programmers tend to be dismissive of visual programming, or anything that claims to be for making apps without coding. Visual programming has been around since 1969 in many forms, coders still work primarily in text editors, so visual programming must not work.

Our design has value for both play and serious coding, the toybox and the toolbox. Building modular code has been satisfying for play, VJing, tinkering, and experimentation. Working in a team on ambitious projects, FBP patterns become a powerful coding standard that make it possible to see other people’s work at a high level.

The primary design goal of my work with Flowhub and Meemoo isn’t to replace code with graphs. Rather, I want to be able to “wire in” the correct metaphor for the task at hand. So, editing a curve should happen by moving points on a canvas, keyframed animation in a timeline, tabular data in a spreadsheet, and logical manipulation in code.

We’re finding flow-based programming is a good fit to model UI event listeners, data transformation pipelines, A/V signal processing, electronics sensors and actuators, and Flux-like model/view synchronization for responsive UIs. This isn’t the entirety of programming, but we’re designing Flowhub to be flexible enough to switch and wire together metaphors as needed.

Coming soon: demo of wiring a keyframed timeline widget into a dataflow graph.