FabCode, is a visual programming environment using which one can create designs that can be manufactured using digital fabrication techniques like 3D printing. This project is primarily about making accessible and enhancing the kinds of ‘thinking’ that the computational medium is capable of supporting and spreading.
FabCode is situated in the context of design and engineering of objects, and is based on the premise that programming 3D models for personal fabrication would enable practice of computational thinking for the same. Children will learn as they work on personally meaningful projects—building, describing, printing and playing with things, and debugging and discussing their processes and outcomes.
FabCode could serve as a ‘Mathland’ inspired by LOGO, because through programming designs of objects, one can let math do the making. All objects can then possibly serve as objects-to-think-with while playing with them, and in the process of making them by considering aspects such as their mechanical functions, needs fulfilled by them, and attributes.
Currently the site which hosted this project Fabcode.org is down unfortunately ( 🙁 ) after Stormpath and Heroku updated their usage policies. Will get this up soon again!
Here is our final report detailing the project and its design.
This is the short research paper we wrote about it at the Interaction Design and Children conference.
Agrawal, R Jain, P Kumar, P Yammiyavar. FabCode: Visual Programming Environment for Digital Fabrication. IDC 2014.
[PDF]
This diagram shows how the system interface works (creating a fractal here):
We haven’t had the chance to extensively try this platform out with people. Gave it to a few friends to play with.
Some of the stuff people have made: