iBalls, or information balls, are packets of code and data that can hold pictures, animations, and text messages, and can be programmed with simple behaviors. People can design their own iBalls, mutate ones that they got from someone else, share them with friends, or collect them. In our prototype, the iBalls live on key-chain-sized video-game devices that can communicate with each other.
A person's device can also hold personal information, such as age, height, and favorite color, that can be used to change an iBall's behavior. For instance, a kid could create an iBall that shows one message, "party after dark," to other kids, but a different message, "lights out at 9pm," to adults. iBalls can also be programmed to bounce from one device to another, perhaps if certain conditions are met. With these and other constructs, people can create a variety of complex iBalls, including hot-potato games and scavenger hunts.
Each iBall records its travels from one device to another, and remembers whether it was created from scratch or derived from another iBall. With this information we can track the propogation of iBalls through a community.
iBalls were created by Rick Borovoy as part of his research at the MIT Media Lab exploring digital folklore. I was responsible for user-interface and visual-programming-language design and implementation.
For more information see our SIGCHI 2001 paper (pdf).