Breadboard is a platform for designing and running social network games online. Breadboard provides fast and robust tools for graph structure representation and manipulation, addresses the problem of long development cycles required to produce software to run online experiments, and makes it easy for researchers to run experiments online using Amazon Mechanical Turk (AMT) workers as participants.
We have made Breadboard publicly available at breadboard.yale.edu.
At its core, Breadboard maintains the state of a network in a fast in-memory graph representation. It provides functions for generating common network structures (random, ring, preferential attachment, small-world, etc.), graph traversal, and manipulation. Breadboard also displays a real-time visualization of the network so the experimenter can monitor the progress of the game.
The core code, which changes infrequently, is written in Java and is compiled and deployed using standard methods. The experiment code, which changes frequently, is written in Groovy, a dynamic language and changes can be made without recompiling the source or redeploying the framework. The Groovy scripts are stored as plain text in the database and compiled “just-in-time.”
After designing, developing, and testing an experiment, Breadboard facilitates recruiting subjects from a pool of AMT workers. The experimenter specifies a title, description, show-up fee and Breadboard posts a job to AMT and handles the issues of gathering the workers together, preventing repeat play if desired, and paying any applicable bonuses.
Future planned development efforts include a scheduler for automating data collection, exploring other sources of participants (oDesk, Facebook), and enhancements to the core framework to increase its flexibility, performance, and stability.