This summer I am working in the MIT Media Lab's Aesthetics and Computation Group under Professor John Maeda. I am assisting graduate student Jared Schiffman with the creation of visual programming languages.
Currently, I am modifying Pablo. Pablo allows simple programs to be written connecting simple functions. I recently added buttons to make the program easier to use.

When a function is selected, the inport, outport, evaluate, and clear buttons are visable. To rotate the function, one drags the yellow ring around and the function rotates correspondingly.

If one of the ports are selected, the evaluate, clear, value, and list value buttons are visable.

My buttons move with the functions and rotate in and out of view.

Here's a Quicktime movie of them in action.