Learning to code isn’t just about knowing symbols and syntax —it can help unlock kids’ imagination by inspiring them to build new things and interact with everyday objects through discovery and play.
With that in mind, Google Creative Lab came to IDEO to help with user experience and product design on their new coding tool for children. The result of the collaboration, Project Bloks, is a simple and interactive experience that teaches kids how to code using physical blocks. This establishes a new paradigm for learning computer science: it takes a language typically only understood through screens and keyboards, and makes it tangible.
Project Bloks was also designed as an open hardware platform, enabling developers and educators to build tangible programming applications that are innovative, educational and fun.
From the very beginning, how kids physically play and learn were at the center of the project. Designers quickly iterated using sketches, foam core, paper, Play-Doh, and 3D-printed models to see how slight changes informed children’s experiences. Understanding what deepened kids’ engagement, increased their curiosity and changed their behaviors drove the language, taxonomy, architecture, and physical form of Bloks.
Because play and physical building is an important way in which many kids develop skills, designers began with a set of blocks and sought to help them discover coding through tangible objects. Each block was given a specific function and shape, guiding kids to arrange, combine, and rearrange the blocks to create commands and control things like robots or speakers in the real world. Children could also create block patterns together by physically building on each other’s ideas.
Designing for early learners also forced the team to rethink how a new language could be taught. An early version of the blocks was based on how programmers typically code, from top to bottom. However, the team quickly realized that the orientation had to be driven by the child’s natural instincts. Given young children are just learning to read from left to right, designers observed that the switch in directions was too confusing and changed the arrangement of Bloks commands to go left-right in addition to top-bottom.
The final outcome of Project Bloks was an interactive coding kit comprised of three key parts—pucks, baseboards and a brainboard. The puck is a critical component that controls a command, whether it’s an on/off switch or the ability to move in a particular direction. It’s the piece that enables children to move from words to the world of graphics and play. The puck is easy to produce and can take an unlimited range of forms and functions, enabling the Bloks system to scale.
The baseboard reads the puck’s instruction and is activated when a puck is placed on top. The brainboard provides the power and connectivity. When hooked up to a baseboard or a chain of baseboards, the brainboard sends the instructions—turn left, jump, get louder—to a connected object, like a rocket or a speaker.
The boards can be rearranged, sequenced, and packaged however kids like, opening up a vast realm of possibilities. Children can code anything from a toy robot drawing a shape on a piece of paper, to a sensor turning on a fan when the temperature gets too high.
Beyond a tangible coding kit, what makes Bloks unique is that it’s an open platform. Educators, developers, and designers can build on it to accelerate new ways of teaching and exploring tangible programming. The platform can fit into various curriculums around the world. The pucks can take on different shapes and graphics. The material used can be fabricated by 3D printing.
The Bloks platform is a new vernacular that allows kids to interact with the language of code in a way that’s less prescriptive and more open-form, like a sandbox. And the more kids play with Bloks, the more opportunities they discover for what they can create with a little bit of code.