Game programming for children has been around for years. But these days, much of the software billed as "edutainment" falls much more into the entertainment than the educational realm.
That is not the case with ToonTalk, a program that really breaks the mold in children’s software. In fact, ToonTalk teaches children how to program, so one day they can make their own games. And I think most parents will agree that learning how to program a computer is a worthwhile use their child’s free time. It surly beats watching television.
We had an animated discussion with ToonTalk creator Ken Kahn about his program, the state of the children’s software industry and just how hard it is to get children to sit down and learn something on the computer without getting bored or frustrated.
Toon Talk – http://www.toontalk.com
GiN: You have an impressive background. Can you tell us a little bit about that background and how you came to found your company, Animated Programs?
Kahn: For nearly 30 years I’ve been active in three fields of research within computer science: programming language design, programming systems for children and novices, and computer animation. I first pursued these topics as a graduate student at MIT (Massachusetts Institute of Technology), later as a university faculty member, and then as a member of the research staff at Xerox PARC (where many of the inventions underlying personal computing were first created).
GiN: When did you first get the idea for ToonTalk?
Kahn: It was nearly ten years ago. I had been working on a very different programming language that was visual. I had discovered that novice programmers found my language too difficult.
I decided the problem was that the language was too abstract. What was needed was a way to express programs in a more tangible and less abstract fashion. I kept thinking that animation was the answer. Then while watching my fiancée and son playing video games it occurred to me that game animation and a game-like virtual world was the answer.
GiN: For those who do not know, can you basically describe the ToonTalk program?
Kahn: The ToonTalk 2 product includes an interactive puzzle game tutorial, ten demos, an open-ended programming system, and a manual in the form of a set of collector cards. When you want to build a ToonTalk program you start off flying in a helicopter over a city. After landing you are followed by a toolbox named Tooly. If you walk into a house and sit on the floor then Tooly opens up and reveals about a dozen animated programming objects and tools.
These include boxes, number and text pads, birds, nests, scales, trucks, and bombs. You can use the magic wand to copy things, Dusty the vacuum to erase or get rid of things, and Pumpy the bike pump to change the sizes of things.
There are also robots that you can train. When you give a robot a box you enter into the robot’s thought bubble. You train the robot by showing him what you want him to do. You can start programs running by giving a trained robot (or a team of robots) a box or by putting the robots and boxes on the back of pictures. Robots on the back of pictures can give the picture any behavior, including those needed for building computer games. So a picture can move, bounce, explode, or whatever because you’ve put robots on the back with the appropriate training.
You can learn all how to do this by playing the tutorial game, watching demos, or by following the advice of Marty the Martian. Or by reading the manual or on-line documentation.
GiN: Do you think that ToonTalk is unique among programs aimed at children? You have obviously been successful. There is a page at http://www.ioe.ac.uk/playground/gameplace/index.html that lets you download games actually created by children, and some of them are pretty complex.
Kahn: Nearly all software treats children as simply consumers of what the programs have to offer. What is unique about ToonTalk is that it enables the children to be producers of software as well. If children are interested in games they can do more than just play them — they can create them. Or if children are interested in animation or math or language, they can build programs that make these subjects come alive.
While there are a few other programming systems for children, ToonTalk is unique in how easy and fun the programming is. One can program ToonTalk before one learns to read or write. With ToonTalk, programming can be a playful and creative experience.
GiN: As a designer of educational software for children, what do you think about the overall market of games and educational software aimed at children? Do you find the overall market lacking in this area? Is there anything you would like to see more or less of?
Kahn: I think there are too many look-alike programs. And too many programs are oriented around drills of school material. Most children learn better by creating, by problem solving, and by being challenged to really think. Rather than buy the best software for their children, parents too often buy software that has licensed some well-known cartoon, TV, or movie characters.
Rarely is this the best software. And, ironically, even software with very popular licensed material and really good design and game play doesn’t sell well enough to sustain the business.
For example, Lucas Learning produced DroidWorks with Star Wars characters. In the game one learns in a playful fashion about mechanical design and physics by building droids to accomplish various tasks. Despite great reviews, the company has stopped producing consumer titles like this. I want to see more titles like DroidWorks, The Incredible Machine, Lemmings, SimCity, and The Sims.
GiN: Have you personally collected any feedback from families and children who use your program? What about ToonTalk did they especially like?
Kahn: Yes, I collected much of that feedback into these web pages: http://www.toontalk.com/english/endorse.htm and http://www.toontalk.com/english/users.htm. It is really hard to pull out just a few things that families and children really like. Being so open-ended, ToonTalk can be many different things to many different people. Everyone, however, loves Bammer the Mouse who runs out with a big hammer and smashes numbers together to do arithmetic.
GiN: What is the ideal age group for a ToonTalk player?
Kahn: When ToonTalk was being designed and tested before becoming a product, would have answered 8 to 12 years old. Since then I’ve seen much younger children really master ToonTalk. As a matter of fact, a European research project named Playground worked with ToonTalk with 6 to 8 years old and the children built some very impressive games. See http://www.ioe.ac.uk/playground/gameplace/index.html. There is a Portuguese graduate student working on his doctoral thesis to see how much 3 to 5 year olds can understand and accomplish in ToonTalk.
In the other direction, I know of several university level courses that have used ToonTalk. Despite ToonTalk’s game-like exterior, underlying it is a state-of-the-art model of computation. Advanced students can explore concurrent and distributed programming in ToonTalk.
GiN: How important is it that children and parents play together?
Kahn: Very important. What is nice about ToonTalk programming is that both children and parents can learn together. And sometimes the child turns out to be the one to master it first. ToonTalk can provide an area where parents and children can collaborate in an authentic manner.
I have heard reports of parents who installed ToonTalk and before they had a chance to show it to their children, the kids had discovered it and were able to get quite far on their own. ToonTalk includes many learning tools that are particularly important when there are no parents, teachers, or older siblings around.
GiN: What are the most important skills that a player learns and practices when playing ToonTalk?
Kahn: A ToonTalk player learns the underlying ideas of computer programming. These ideas are presented as playful tangible elements of ToonTalk but they preserve the basic properties of the computer science concepts. ToonTalk boxes, for example, are easy for even five year olds to master. But they correspond directly to the data structures of more conventional programming. A player understands how to get parts of their program to work together and coordinate by having birds deliver messages to their nests.
Perhaps more important are the general thinking skills that one learns when programming. You learn how to take big problems, break them into small manageable pieces, how to build those pieces, and then how to assemble them together. And what programmers call debugging is mostly fixing the problems that arise when the pieces don’t quite work together right. Programming is a fertile ground for learning problem solving, planning, and representation. Rather than treat everything around them as black boxes they get a sense of the mechanisms underlying much of the technology that we rely upon daily.
GiN: How do you keep a young player’s interest level when they are playing? Is there any type of balancing that occurs so that players with higher skill levels are not bored but lower-skilled players do not become frustrated?
Kahn: The answer is very different depending upon whether one is talking about the ToonTalk puzzle game or ToonTalk’s open-ended free play. In the puzzle game the player is helping Marty by building things in the house next door. The more advanced players try to solve each puzzle without coming back to Marty for help, hints, or advice. Other players find it fun to make more rapid progress by coming back to Marty repeatedly to get more and more hints.
Free play by its nature is self-balancing. A 5 year-old can play with the same LEGO pieces as a professional architect. They just set different goals for themselves but they are building with the same materials. Similarly, with ToonTalk you can try to build a complex adventure game or just train a robot to spell your name.
GiN: ToonTalk 2 was recently released. What improvements or new areas does the sequel incorporate?
Kahn: The ability to create games was greatly enhanced. In ToonTalk 2, games can be built by combining behaviors defined by robots in a very flexible ways. These games can be "published" by having ToonTalk convert them into Java applets that can be played on any web browser.
ToonTalk 2 is Internet aware. You can load in sounds, pictures, and ToonTalk games by providing their URL. Web pages can link to ToonTalk objects. Furthermore, the birds in ToonTalk 2 can now fly to nests on other computers that are also running ToonTalk 2. This enables children to exchange games and messages while staying inside of ToonTalk. And it enables the building of games that work between players on different computers that are networked together.
ToonTalk 2 can now run with much greater screen resolutions, providing both sharper graphics and more room to work and play. A much broader range of drawings and clipart can be imported into ToonTalk 2 and used in games and animations.
GiN: Creating ToonTalk and ToonTalk 2 was certainly a great accomplishment. Any ideas as to what you and Animated Programs might work on next?
Kahn: We are busy working on ToonTalk 3. We are planning on extending the way "long-distance" birds work so that ToonTalk can become a tool for remote collaboration and play. The graphics will be enhanced to deal with true color imagery. Arithmetic will be enhanced so that numbers can be any size and by using fractions the arithmetic can be exact unlike nearly all other programming systems. It isn’t hard to create a ToonTalk number with so many digits that if put on the ground you can walk for many blocks before reaching the end. We plan to support many more media types, like video and MP3s.
We are also planning on working closely with a new European research project where ToonTalk will be used in six countries over the next three years to help children create their own science and math programs. Building upon ToonTalk, this research project aims to enable children to make web pages that not only discuss topics like gravity, bouncing, or randomness but will include live simulations and games created by the children.