A tweet I got from @DIYEngineering (which I re-tweeted to everyone following MCC's @ControllerCntrl account) introduced me to a nifty toy, just in time for the Christmas season. What prompted me to blog about it, however, is the fresh perspective the design of Sifteo blocks brings to human machine interaction. Instead of a cursor or keyboard, this user interface lets you reach out and grab things to manipulate them as you will.
Sifteo Cubes (formerly called Sifters) are easiest to explain visually. So, here is a TED Talks video by the company's CEO that describes what these devices do. If you don't have the time or bandwidth to view the video, though, let me say this much: These blocks can sense motion and touch, detect one another's presence, network together and with a base station, and adapt their display and interaction based on these physical characteristics.
Consider, for instance, that old child's toy, the letter blocks. You can use these blocks to practice spelling out words, leave messages, and so on. With the Sifteo cubes, you can have a game that changes the letters on the blocks and challenges you to assemble as many words from them as you can before time runs out, checking each against a dictionary for scoring. When you run out of time, the system then changes the letters on the blocks for the next round. The more blocks you have, the more challenging the game can become.
The blocks are a very clever piece of engineering that combine many features I have been exploring in my own projects. Features include a small display, proximity sensors, movement and position sensors, and wireless networks. But their combination and the way the blocks are programmed to interact is totally unique (to me). And it changes the way you interact with the computing system.
I can imagine, for instance, a circuit design simulation that uses these blocks to hold individual components. You can then assemble a circuit simply by tiling the blocks together, and getting the resulting signals and waveforms sent to a display using a probe block you move around. Reconfigure and change components or adjust their values and see what happens. You might even do the same thing for image processing algorithm development, with the blocks assembled into the processing flowchart for simulation.
Today's blocks may not be powerful enough for serious engineering work, but they might do very well as a teaching tool. And it is simply a matter of time before they could be used for more serious work.
Meanwhile, it is the Sifteo's way of interacting with the computer that I find so interesting. We have all become accustomed to typing and clicking and so tend to think that way in envisioning user interfaces (UI) for our next-generation designs. Try thinking of a UI that involves picking up and arranging objects instead.
What could you create using a UI based on manipulation and arrangement of objects?
I downloaded the dev kit and tried the simulator on a few example designs. Looks very easy to create simple apps. Anyone else want to try to put one together and post the results here? I will try to put one together sometime next week.
Any ideas for a simple example we could try together?
The Sifteo Software Development Kit is freely available for folks to play with, and if you are a serious game developer they have a partnership program you can get in on. The developer link is here: https://www.sifteo.com/developers
So, you can freely create your own apps for these cubes if you like.
These look like great teaching tools. I'd be very interested in doing some development.
I can't wait till these get smaller- to the size of a lego block- with programmable magnets so they can easily connect themselves, self organize into large structures and create higher level functional units.
I vaguley recall the Little Bits. Your game idea sounds workable, design first (with simulation) then build, but since building is so easy with these things, why not just go straight to build?
Upon reflection, I think the processing algorighm development idea (assemble flowchard elements) seems a more practical application. Otherwise you need too many blocks and keeping them separated means you need even more just to act as straight wires. But as the expense goes down, that may not be a problem.