Campaignr: a participatory sensing software architecture for cellphones
Campaignr is a software architecture for cellphones that enables owners of smartphones (specifically Symbian S60 3rd Edition phones) to participate in data gathering campaigns. Campaigns are set up by individuals or groups of people that are interested in exploring a specific piece of the urban environment. Campaignr can upload the data collected by the cellphone to any online storage place that supports XML (or JSON) or can store the information on the phone's memory for later retrieval. It is designed to work without connection to support data collection in areas of poor to no connectivity so that the cellphones can be used in places without any network coverage for more rural or even wilderness applications. Campaignr provides easy access to the hardware sensors such as camera, microphone, cell tower information, and GPS (whether internal or external). It also can access metadata that provides relevant and useful information, such as the current time of the phone, the globally unique serial number, and user generated text input. Campaigns are defined by an XML file that contains options on which sensors to collect, how to collect data from those sensors, where to put the collected data, and how the user interface behaves.
The use of XML files allows Campaignr to be highly configurable without having to change the underlying code. No recompiling, testing, debugging, or reinstalling is needed. This is useful because developing applications or the embedded smartphone environment is significantly more challenging than for the desktop.