GSoC/GCI Archive
Google Summer of Code 2012


Web Page:

Mailing List:

Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context, Processing also has evolved into a tool for generating finished professional work. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

To find out more about Processing, and to ask questions about contributing, please post a message under "Library and Tool Development" in the Processing forum.




  • Debugging Tool for the Processing Development Environment The goal of the project outlined in this proposal is to develop a working prototype of a tool for debugging Processing sketches. One of Processings main strengths is its suitability for learning and teaching programming and generative design. Having an easy to use debugging feature available should facilitate teaching and understanding program flow in general as well as fixing actual bugs. Features include the ability to set breakpoints on specific lines and subsequent stepping through the code while examining variable values.
  • Sketch Assistant Processing’s simplistic design is targeted towards beginners. Presently, the PDE lacks a feature which is essential for beginners getting started with programming, as well as experienced programmers – real time checking and reporting of errors and warnings. These could be syntax or compilation errors/warnings. This is a standard feature of Eclipse and one of the reasons why it’s loved a lot. This project aims to bring this functionality, and some additional features to the PDE as a tool.
  • Streamlining Bluetooth Connectivity in Processing for Android Bluetooth connectivity is ubiquitous amongst Android devices, but there are no libraries that handle actual device-to-device communication Android. As a result, klunky calls to the Android SDK libraries are required to use basic Bluetooth communications in a Processing app running on Android. I propose developing a library that, at the very least, streamlines basic serial communication over Bluetooth so it is as easy on Android as it is in a desktop Processing application or on an Arduino device. Time permitting, the library will also be made more robust by implementing methods to use Service Delivery Protocol (SDP) and increase the ease of use for other protocols.