Project Dates: 2016-2017
Tangible Programming for Preschoolers
Project Bloks is a research project with the goal of creating a platform to enable designers to create new and creative tangible coding languages and kits for children.
Our contribution to this design space was born from our insights into the value of a platform-based approach, demonstrated by the success story of Blockly. The goal is to follow this model, helping the community build their own languages and products. Project Bloks aims to be to tangible programming what Blockly is to on-screen block programming.
The Project Bloks system enables educators and makers to create new tangible programming languages without having to deal with low-level technical details. We want to create a platform that will allow the emergence of lots of new designs based on Papert’s and Resnick’s idea of low-thresholds, high ceilings, and wide walls. We should make it easy for novices to get started, but possible to build complex and diverse creations once children’s confidence develops—the tool grows with the child as opposed to being a disposable one-off design.
That’s how Project Bloks was born—designed in partnership between Google Research, Google Creative Lab, IDEO, Paulo Blikstein, and with contributions from Arnan Sipitakiat (Chiang Mai University). We want to allow designers, educators, and makers to spend more time experimenting with form factors, materials, and feedback channels (haptic, visual, and auditory) rather than getting stuck in the technology. In other words, we want to enable them to be more creative with language paradigms and abstractions rather than having to spend most of their time thinking about the technical side of things. The goal of Project Bloks is to offer a powerful, open hardware and software platform that makes it easy to implement sophisticated programming ideas such as functions, recursion, and complex control structures. It talks to the child’s world by allowing seamless communication with external devices and sensors, making use of today’s standard protocols and providing modules that are based on inexpensive, extensible, and customizable components. It uses open frame electronics, which allows the creation of different shells and packaging.
One of the key innovations of Project Bloks is that its architecture uses three types of circuit board module: a Brain Board, Base Boards, and Pucks. The Base Boards contain all the electronics and have connectors on all sides, so they can be put together in a number of configurations, allowing for different programming flows (vertical, horizontal, or even a grid in two dimensions). Each is fitted with a haptic motor and LEDs that can be used to give users real-time feedback. Pucks go on top of the Base Boards, and are incredibly cheap and easy to make. They use an inexpensive, capacitive ID system which does not require active electronic components. Pucks can be made with any material (children can make their own too!) and they can contain different mechanical triggers (“physical” faders, buttons, sliders, dials), enabling different user experiences and interfaces to be created. The Brain Board is the processing unit of the system. It receives the commands from the Base Boards, interprets those commands, and sends them via WiFi or Bluetooth to a connected device. This architecture enables designers to focus their energies on making the most of tangibility and physicality.
This provides power and connectivity. When you connect multiple Base Boards to the Brain Board, it can read their instructions and send them via Wi-Fi or Bluetooth to connected devices. It’s built on a Raspberry Pi Zero.
When you place a puck onto a Base Board, the board reads that puck’s instruction through a capacitive sensor. You can connect multiple Base Boards together.
These can have different forms, interactivity and can be programmed with different instructions (e.g. turn on/off, move left, jump, play music).