Livecoding the SynthKit: Little Bits as an Embodied Programming Language

LittleBits (little Bits.cc) is an open-source hardware library of pre-assembled analogue components that can be easily assembled into circuits, disassembled, reassembled, and re-used. In this paper, we consider littleBits - and the littleBits SynthKit in particular -- as a physically-embodied domain specific programming language. We describe the littleBits system, explain how littleBits "programs" are constructed as configurations of physical modules in the real world, and describe how they are typically used to control physical artefacts or constructions. We then argue that littleBits constructions essentially "visualise themselves". We describe how littleBits' liveness, embodiment, and plasticity assists both learning and debugging, and then evaluate littleBits configurations according to the cognitive dimensions of notations.

[1]  Alan F. Blackwell,et al.  Liveness in Notation Use: From Music to Programming , 2010, PPIG.

[2]  Alan F. Blackwell,et al.  Cognitive Dimensions of Tangible Programming Languages , 2003 .

[3]  Li-Wei Chan,et al.  GaussBits: magnetic tangible bits for portable and occlusion-free near-surface interactions , 2013, CHI Extended Abstracts.

[4]  Thomas R. G. Green,et al.  Cognitive dimensions of notations , 1990 .

[5]  Steven L. Tanimoto,et al.  VIVA: A visual language for image processing , 1990, J. Vis. Lang. Comput..

[6]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .

[7]  James Noble,et al.  Metaphors for Electronic Music Production in Reason and Live , 2004, APCHI.

[8]  Ayah Bdeir,et al.  Electronics as material: littleBits , 2010, TEI.

[9]  Thor Magnusson,et al.  Herding Cats: Observing Live Coding in the Wild , 2014, Computer Music Journal.

[10]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[11]  Alan F. Blackwell,et al.  Collaboration and learning through live coding (Dagstuhl Seminar 13382) , 2013, Dagstuhl Reports.

[12]  Ken Arnold Programmers Are People, too , 2005, ACM Queue.

[13]  Sergi Jordà,et al.  The reacTable: exploring the synergy between live music performance and tabletop tangible interfaces , 2007, TEI.

[14]  Click Nilson Live coding practice , 2007, NIME '07.

[15]  Nick Collins,et al.  Live coding in laptop performance , 2003, Organised Sound.

[16]  Timothy Jones,et al.  [Demo abstract] LittleBits synth kit as a physically-embodied, domain specific functional programming language , 2014, FARM '14.

[17]  Alan F. Blackwell,et al.  The Programming Language as a Musical Instrument , 2005, PPIG.

[18]  James Noble,et al.  Patterns as Signs , 2002, ECOOP.