Virtual wiring

There’s a nifty little program called GraphEdit that I have been using to, um, “work with” the rights management in TiVo-To-Go files. The interface allows a virtual re-wiring of the audio and video inputs and outputs for a video file. For example, if you want to compress a video you would grab the output “lead” from the video and wire it to the input of a box in the chart representing whatever compression you liked. This interaction modality achieves in a single view the ideal of being both intuitive (out connects to in, and on and on) and completely explicit (the flow that you manipulate represents exactly what the program is doing). As a bonus it is also kinda fun. The bastard child of Storyspace and Media Cleaner.

I employed an interface like this for a piece of software I wrote in graduate school, but the links I allowed between video files implied sequence in time not transformation of one node by another. This distinction highlights a unique opportunity. What if you could link two video files to a single output file, creating a merger of the two? The links themselves could function as the transform filters — overlay, embed, distort, etc. Now that would be interesting!

I once played with a program that did visual transforms of images using a spreadsheet interface. You placed files into cells and then put together formulas — essentially filters, as in Photoshop — between the cells. The resultant file in a new cell was your output, just like spreadsheets work. (Anybody know what this program was called?)