In this two-day workshop participants built and calibrated their own iPhone compatible/connectable Galvanic Skin Response Sensors (GSR) to record subtle changes in their emotional arousal. Participants will also collaborated to develop a networked performance intervention that engaged with the social benefits and ethical implications of disclosing such personal information as arousal levels within the public realm. Participants learnt to solder and connect their own GSR sensors, connect them to their iPhone/Android and share their sensor data online. There was a discussion of the implications of this technology and the increasing issues of privacy as pervasive computing technology is increasingly able to record and reveal personal details.
Instructions for building the Galvanic Skin Response interface, with associated Arduino code, is available from Tom Keene.
I wanted to develop an application that would run on both iPhone and Android, written in C++, and also didn’t want to develop on an Apple Mac (see Tom’s paper detailing his similar (horrific) experiences of developing software for iPhones) so I chose to use a development system called Marmalade.
They have since changed their pricing structure so we originally got away with only having to pay Apple for the pleasure of writing software for their platform. Marmalade now seems to charge for all usage these days, though they do apparently offer free licenses for students and educational institutions.
You will need Microsoft Visual Studio (I used Visual Studio 2010) or Apple XCode to compile applications with Marmalade.
Download Biosensing and Networked Performance iPhone/Android Application and get the source code and compiled iPhone and Android binaries.
Deploying to Android is as simple as copying the apk file to the device and opening it. Deploying to iPhone in its current form almost certainly won’t work due to Apple’s device handling restrictions.
Originally I wanted to have all the phones involved in the performance to be able to create an ad-hoc network, detecting which device is sending the information and connect automatically without the user having to do anything.
While I initially had this working with Marmalade’s zero-conf implementation on Android, it just wouldn’t work properly on iPhone (at the time).
My only choice was to create a desktop server application that acted as the arbitration point.
Biosensing and Networked Performance Server source code
Requires Qt 4.7+ to compile
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.