GEEKS may quake. Their intricate programming skills are no longer required. A new computer program has been invented that allows anyone—it is aimed at children—to create interactive animations that mix pictures, sound and movement. The project, called “Scratch”, is the brainchild of Mitch Resnick and his colleagues at the Massachusetts Institute of Technology's Media Lab. All that is needed is a computer, the ability to read and a familiarity with building blocks.

Most computer languages are designed with the computer in mind. They are fast and efficient, so long as the program contains no errors. The language championed by Dr Resnick and his colleagues is different. Although it is less speedy, it is more forgiving. It even allows the code to be changed while the program is running. The upshot is a simple and intuitive way to create interactive games, stories and animations.

Scratch replaces complex computer codes with building blocks that can be manipulated using a mouse. By dragging blocks on to a desktop area and stacking them on top of one another, a person with no programming skills can, with a few minutes practice, create a dancing cat that changes colour and meows. All he need do is download the necessary software, which is free. (It comes from the same laboratory as the One Laptop Per Child initiative to give children computers costing no more than $100.)

Moreover the person can add his own images and manipulate these. Want to create a video of yourself gliding on a magic carpet over the Hanging Gardens of Babylon while drinking mint tea and singing an ode to Amytis? Just add some electronic images and tunes, then stack some bricks. Want to share the fruits of your new-found skills? Just add your handiwork to the Scratch website and anyone will be able to take a look—and comment on it.

Each building block—and there are 90 or so of them to cover most eventualities—contains computer code. The edges of each block are shaped such that only certain other types of blocks can be stacked above and below them. That abolishes the need to know the obscure syntax that bedevils more traditional computer languages. For example, a block that will run an “if” command (“if the flying carpet is above a fountain”) will fit only with one that gives an appropriate answer (“yes” or “no” rather than “ten”). The type of command that controls other commands, such as “repeat the following ten times then go on to the next thing”, is represented by a C-shaped block. Blocks describing what is to be repeated slot into the space surrounded by the C. This allows the flying carpet to circle the fountain, say, ten times—then fly to the Tower of Babel.

Using blocks eliminates another fiendish enemy: the typographical error. Traditional computer programs do not tolerate even small slips of the typing finger. Replacing a comma with a dot can stop them from running. Such slip-ups are impossible using blocks. Even when something other than expected happens—the flying carpet may head off in the wrong direction—the program still runs and this means mistakes are more quickly identified. Such simplicity will make nerds of us all.