Vision For Enchanting
The goal of Enchanting is to help young kids program their robots, especially their LEGO Mindstorms NXT robots.Right now, kids have two types of choices:
- graphical programming
- text-based programming
Text-based programming is a wonderful place to get to, but it is no place to start. Even beyond syntax errors and having to look up APIs, many children who are ready to thrive on robotics simply can't type well enough to have a successful experience.
Well, then, what of graphical programming? LEGO offers the NXT-G programming environment with NXT retail kits. It is, simply, frustrating to use. (Take a look at Brian Davis' Tips and Tricks for NXT-G 1.1
Knowing that children are accomplishing amazing things with Scratch
To our good fortune, the Lifelong Kindergarten Group at MIT
Enchanting will let children put down code tiles that snap together like LEGO bricks, to create their programs. Then they simply push the green flag and the program runs on their robot. The code blocks do not use obscure pictograms, but actual words, translated (hopefully) into the user's own language.
Enchanting also aims to integrate with Scratch. We are confident that children will come up with all sorts of creative ways to use this, from simply adjusting a slider on their screen in Scratch and have it affect their robot, to using their robot as a complex input device (motor as a fishing reel, anyone?) to having their robot be a character in a skit, interacting with sprites on the screen.
We also aim to take the media-rich environment of Scratch and transfer it, so far as possible, to the NXT. Thus, the NXT screen can act as a stage with black-and-white sprites on it, which will really make it easier for children to make games on their NXT or put interesting things on the screen.
Furthermore, the intention is to make it so that "difficult" tasks are as easy as possible. For example, it is surprisingly difficult to convey what is involved in calibrating a light sensor for a robot to follow a line. Enchanting aims to make this easy with blocks to help in calibration and by making it possible for the students to visualize maxima, minima, and current values.
Lastly, one of the original goals

