Earlier this month, Nicole and I traveled to the MIT Media Lab for the 2016 Scratch conference. At the event, we led a workshop on scratchpaper and shared some of our recent experiments around computational tinkering. After the conference we stuck around the lab for a couple days to share ideas with members of the Lifelong Kindergarten (LLK) group, continue to work through prototypes, and plan next steps around tinkering in the digital world.
We're interested in the possibilities of developing a programmable light play activity. Earlier in the year, some of the LLK team visited us at the Exploratorium to share initial prototypes for rainbow colored lights, adjustable motors and a special version of scratchx that can control the components. The group at MIT has continued to test out versions of the hardware and now we are ready to start experimenting with the parts and thinking about the experience.
We ran an impromptu workshop with a few members of the Scratch team to share initial ideas around lightplay. One thing that we noticed was that it felt nice to use the big white walls for the programmable displays instead of containing the light and shadow elements inside small boxes. As we continue to think about combining the physical and digital, it will be important to pay attention to the scale of each aspect.
The next day we continued our explorations by trying out scratchpaper one more time with the scratch team. With this group, the wide walls of the activity shone through. Since this group had more scratch experience, they created some really complex projects like a reaction time game, a fortune telling machines, and a skydiving simulator.
One project that I thought was really interesting had a blue monster both in the real world, with the little vibrating pager motor paper, as well as animated on the screen. It felt really natural for participants to switch between both modes, but we wished that the grey arduino blocks on the scratchx screen could feel as friendly and playful as the colorful paper circuit examples.
Eric Rosenbaum joined us and combined the scratch arduino extension with another experimental version that he's been working on the adds a synthesizer to the sound library. He combined the specialized sounds with a light sensor to created a space-age theremin-like instrument with a really cool effect. It would be fun to think more about adding sound and music to the mix of examples and starting points with this activity.
Cassia, a educator from Sao Paulo who has been spending the summer in residency with the lab, also shared some of her recent experiments with using a different type of arduino connection to make pinball machines in her after-school program. Her team's work to lower the threshold for programming physical elements has inspired us for a long time and we are looking forward to exploring adding scratch elements to homemade pinball machines, maybe in one of the tinkering after-school programs.
Our experiments have continued back at home with both light play and scratchpaper and we started involving more members of the team to help prototype new ideas. Since light play will be the first in depth computational tinkering exploration, we started by setting up a screen in the LS and gathering some familar elements.
I was inspired by Mitchel's keynote at the Scratch conference where, in a tribute to the ideas of Seymour Papert, he explained the importance of learners embodying the programmed element, from the turtle to the sprite. This idea got me thinking about servo motors and the control that they offer to the light play system. I re-purposed the inner workings of Nicole's Scratch xylophone from East Bay Maker Faire to make a little programmable "light turtle" that could be controlled through scratchx.
We were able to write a quick program for the light to follow the movement of the mouse or a sprite on the stage. While I'm not sure how easy it is to get started programming servo motors, I liked how the light turtle instantly had a poersonality depending on the movements. It's a little bit of a side track to the programmable rainbow lights and motors, but I think we could be thinking of multiple entry points to the activity.
Getting back to the world of scratchpaper, I built a wooden arduino mega board with copper nail connections for all of the digital and analog pins. This massive circuit board isn't the right scale for beginners but I thought it might come in handy as we continue prototyping more complex scratchpaper ideas.
And finallly, last weekend, Jie Qi, an artist from MIT who got us started thinking about paper circuits many years ago, stopped by our workshops to share some of her latest experiments with me and Sebastian. She is working on a really cool circuit board that can connect to a paper circuit with a binder clip and can be programmed using a cellphone. We'll be really excited to test out these ideas when we can get our hands on a more finished version.
Jie also helped me go a bit further in my experiments with attiny and arduino programming. One big shift from Scratch to the arduino IDE is that creating parallel programs can be a challenge. We used the timer function to create different patterns and trying to use the sensors from scratchpaper to make some simple projects. I like how the pysical elements of scratchpaper can be a stepping stone to programming arduinos or attinys, but we'll need to do more experimentation to scaffold the experience.
Jie inspired me to get going on another project we've been talking about for a while, a computational version of Nicole's tinkering verbs tile wall. I'm excited about creating something in the workshop space to give people the sense of possibilities from programming.
Sebastian suggested a different way of constructing the prototype so that the the process and materials that go into building it can be made visible through exposed alligator clips and copper tape. So far I only have made tile with verbs related to LEDs but some other programming suggestions by the tinkering twitterati include spin, shake, invert (servos) listen, see, press (sensors) and more general things like loop, repeat, wait, random, and reset!
We're excited to continue experiments with tinkering with programming and ways to combine physical and digital world. We'll keep sharing our ideas and prototypes as we experiment ourselves with these topics.