Blog Post

Code, Compose, Collaborate from Mighty Spicy at Parsons!

Code, Compose, Collaborate from Mighty Spicy at Parsons!

Hi from the Mighty Spicy Collective, a research group at Parsons School of Design in NYC! We are working on an open source educational coding platform (and accompanying curriculum) called “Code, Compose, Collaborate” (we refer to the project as “TripleC”). The main site for TripleC is: (it’s pretty raw right now but give it some time…). The main people leading the Mighty Spicy Collective are Michie Pagulayan, Kunal Jain, and me (Sven Travis), each of who has had a substantial relationship with Parsons Design+Technology (DT, programs over the past decade(s). We also bring in many DT grad students as research assistants, both in the technical and teaching realms. This is one of several techno-centric educational projects underway within Parsons DT. Other examples are GadgITERATION (, STEAM Punks (, BLINK BLINK (, and of course PETLab ( Anyone who wants to get involved with us in this domain at Parsons should just speak up!

Our intent on this first blog post is to provide an overview of the TripleC project, and describe a bit about ongoing activity, production and testing. Please contact us if you have questions, suggestions, or ideas for collaboration!

So what is TripleC? TripleC is a learning environment where youth from different cultures, with varying access to technology, can interact, create, collaborate and share using the neutral and safe mediums of sound and computation. Throughout the learning process emphasis is placed on combining computer programming with musical learning. When the DML/Hastac Trust Challenge was announced, we were intrigued by the possibility of using TripleC to combine coding and musical composition with critical online issues: privacy, ownership, and sharing. We were already undertaking initial work in different international locations (New Delhi, Manila, Shanghai/Beijing, and New York) so the idea of creating a networked extension to the project made a lot of sense. Networking the platform allows us to include national and cultural views of the online world as part of the learning deliverables. Hopefully learning to code collaboratively can enable youth to see creative computing as a tool for positively engaging and affecting the networked world.

So what are we making? TripleC is a onsite/online platform for learning to code by making music. TripleC uses open-source technology (Raspberry Pi, Linux, Python, Ruby, Git, Zanata) to produce a portable (kit-based) hands-on teaching environment—an environment within which youth can learn and collaborate. Participants are taught simple Ruby-based programming on the Raspberry Pi using Dr. Sam Aaron’s Sonic Pi (see First participants compose music with peers locally, and then at a distance in a “private” online workspace, and finally they present their musical compositions at a “public” online concert. This is all accomplished using TripleC’s “Code Combinator”, an application built to work seamlessly with the local Sonic Pi programming environment. TripleC is implemented through a series of workshops that teach youth programming basics while familiarizing them with online issues of collaboration, ownership, privacy, and sharing. This is both a technology project (design and production of the TripleC kits and programming/testing of the Code Combinator) and an education project (design and implementation of both teacher and student workshops, development of a support website, and in-the-field testing).

What is the TripleC experience? We hope that collaboration within the TripleC environment will occur in three layers. Each layer represents different levels of interactive privacy: from local, to distant-but-private, to fully public. The TripleC workshop modules and pedagogy link advancement of coding skills with greater access to online engagement. Care is taken to provide fully developed lessons that are executable regardless of several limitations, including:

--Language differences; can effective online collaboration be achieved when the only common ground may be the programming environment? TripleC solves this by providing comments within the teaching examples in multiple languages, and creating automated real-time comment translation using Zanata (see When a participant enters a comment within a line of code, it is automatically translated into whichever languages are needed, identified by participant location.

--Neutrality and safety of the online environment; can the online aspects of the pedagogy be seamlessly integrated into the local, especially when crossing national and cultural boundaries? Rules of Internet access vary drastically between sites (differences abound).

--Technical limitations; central elements of the curriculum be deliverable even given no internet access (i.e. local network only), and possibly no electricity.

--Time-zone differences; the TripleC server can be interfaced synchronously or asynchronously. An automatic commenting system chronicles online participant activity, along with a time-stamp.

--Live performance mode; can a performance mode be incorporated across cross-cultural boundaries? Yet to be answered as we move towards our first networked live collaborations.

TripleC (Mighty Spicy Collective) personnel will initially moderate both local and online sessions (in person, on site). As local teachers gain fluency in the system, they will moderate online interaction; this is built into the TripleC server through a “teacher channel”. Individual participants (students) in TripleC sessions will pass through four virtual “rooms”, each room representing greater connection to the external online world. Movement is from a local, unconnected machine, to the local networked classroom, to the connected but private Internet, and finally to the public concert space. Access to the “next” room or level is controlled by moderators (teachers, after training). Individual participants cannot connect with other participants without engaging in this process. Tracked TripleC system identity-- effectively anonymous beyond the local classroom-- will easily allow a returning participant to re-enter a collaboration occurring globally. Using kit-based Raspberry Pi computers, access can be easily programmed to allow only “approved” computers from official kits to join a network. While the intent is to scale the enterprise to include other forms of access, (i.e. other computer platforms)—these limitations initially are helpful and protective. Simple registration MAC-based network identification (and limitation) can work wonders when undertaking initial testing and still allow portability of hardware. Two additional types of access protection will help establish access controls. When undertaking interaction beyond the classroom, the TripleC distributed server present on each teacher station will be required to handshake and initiate a conversation. Finally, the idea of a “public” concert (final level) will be strictly one way. Compositions will be broadcast (with composer's approval) and listened to by an audience. That is it. Any interaction at this level will be internal to TripleC and within the collaborating groups, real time or asynchronous.

As noted, roll-out of TripleC will occur at schools in NYC, Delhi, Beijing/Shanghai and Manila. We know this is ambitious, so we have been implementing small-scale tests with initial groups in Delhi, NYC, and Beijing to understand what the biggest challenges will be. Ages differ depending on location (in Delhi and Beijing, we are working with 11-13 year olds, while in NYC, we are working with 13-15 year olds), and this is also part of our early testing (we aren’t yet certain what the ideal age group is for the activity involved, and we are somewhat limited by partners—middle-schools in China and India, high-schools in NYC and the Philippines. We’ve got write-ups of two of our early location tests here:

New Delhi:


(We just ran a third session with students from one of our NYC partners (the Urban Assembly Maker Academy High School) in early July, and we’ll be posting a report from that shortly.)

Eventually, we project that one week of teacher training will combine with one week of (youth) workshop sessions (one three hour session per day) at each site. Each session will include 3 to 4 separate activities lasting 30-90 minutes each. The plan assumes participants will be working in groups for exercises. Two members of the development team (one co-PI and one graduate research assistant) will be present at each local training workshop. After the initial round of on-the-ground training has been conducted for the main facilitators, they will provide local support to student participants. After our initial cycle of testing, we will begin to implement the fully networked version in at least two locations simultaneously, allowing for distance online pedagogy and technical testing to occur. Additional admin correspondence, training and collaboration will be remote thereafter (distance training and via online collaborative platforms).

What are the technical underpinnings of TripleC? The TripleC environment consists of six elements:

1) Raspberry Pi computer kit including software/hardware to program Sonic Pi, output results, and connect to the network (4-6 kits per site)

2) Teacher station containing one RPi kit, wireless router and projector. Software includes the TripleC distributed server (see “Privacy” below)

3) Centralized TripleC server (in NYC)

4) Teacher training package including three Sonic Pi programming lessons, and two proposed curricula for online interaction

5) Room with electric power

6) Internet connection

Emphasis is on ease of implementation (prepared kits), and assumption of zero computational experience of participating locations. Initial workshops in Delhi suggested the need to prepare kits for environments that do not have electricity (solar battery set-ups). Network connectivity is not a given (smartphone hotspots may be necessary). Initial teacher training assessment has sought to establish predictable levels of sustainable teaching and online interaction after 2 week teacher training sessions. It has been shocking to us how different the teaching environments are when comparing New Delhi/Beijing/NYC.

The technical design of TripleC is a hardware build and a software implementation in two forms: a workstation and a web application with these parameters:

a) TripleC kits will run Raspbian (see with customized Sonic Pi v2 (Code Combinator client). “Black box inside a glass box” design approach used here.

b) The TripleC central web server is a hardware-agnostic Linux/nginx platform running the Code Combinator web application.

c) The Code Combinator software will be built off Ruby-on-Rails based Sonic Pi platform, integrating a versioning system, translator, and a REST-based interface for data exchange between servers/stations. The final code will be open source.

d) The Code Combinator web application is designed as a secure network platform with a strong privacy model to secure all identification markers for contributed code.

e) Other application features: Direct output from Sonic coding window, viewing/contributing versions with comments + authors, live mode, node-based entity model.

For an in detail look at the tech side, shoot us an email and we’ll provide access to our GIThub site.

That’s it for now. It’s been a busy couple of months, and we’ll continue to add material as our initial coding of the Code Combinator and workshop testing of the TripleC platform happens. Right now it looks like we will be undertaking testing and training in Beijing during late October and Manila during early December, 2015. We will also continue work already underway in New Delhi (Rajmala School) and in NYC (UA Maker Academy). We hope to have the Code Combinator up and running for all sessions after October, so we will be able to test the networked version.

And to repeat, please contact us or comment if you have questions, suggestions, or ideas for collaboration!



No comments