Sam was finding that the kids he was teaching robotics to, were having trouble transferring their paper written program ideas to the computer. So he decided to do something about it.
He's taken three Sifteo Cubes (although it looks like you could add many more) and designed a system where each cube represents a single command, Go forward, Go Back, Wait for Brighter etc. You change between each command by pressing the screen of the Sifteo.
The way to customise a block is to tap with another upside down block, allowing you to increase or decrease durations.
ie. Set the Sifteo to the Go Froward command. Hold another Sifteo upside-down and tap against the first to increase the Go Forward time.
Line up all the Sifteo Cubes together and the last magically turns into a 'Run' button.
Watch the video, seriously, it does a much better job of explaining it than I do :)
The project boils down to two hardware elements and two software programs. Sifteo Cubes, Lego NXT, a C# program and a NI Labview Program. I wrote a program in C# controlling the sifteo cubes. This program was the brain of the entire project, waiting for user input from the Sifteo Cubes and then pushing that data to the Lego NXT side. Then, I wrote a separate program using NI Labview, which would recieve the Sifteo user data (commands, order, etc.) through a TCP connection. Finally, through Bluetooth, the Labview program sends the commands to the Lego NXT Robot. The entire process is controlled by a central computer.
You can get more information from Sam's webpage -http://woolfsam.com/?page_id=9