fromCONCENTRATE

research blog of artist John O'Shea

I’m afraid of making things.

Just before yesterdays presentation I asked two fantastic helpers to draw on the back of these demo lanyards “something which they know nothing about” (and would like to learn about.)  Connie and Eve (daughters of Jane Dudman – thanks!) suggested ’swimming’ and ‘the deep sea’ to go on the back of their lanyards:

I chose this example to illustrate that it isn’t such a big deal for children to express that they don’t have knowledge about something, but I think, as we get older (and more ’specialised’) it can become increasingly difficult (and socially embarrassing) to admit that our knowledge or ability is in some way inadequate.

This very lo-fi demo brought up some interesting questions about what exactly the project is trying to do.  In the above example – wearers draw or write on the back of their lanyard something which they want to learn about and then they are in control of when (and to whom) it is revealed.  This is akin to the kind of ’speed-dating’ or ’social-networking’ games which already take place within conference environments and is not really the type of interaction I’m trying to get at…

The device which I am building would not be activated by the wearer – instead it would be activated by the presence of others members of the community and it would *involuntarily* reveal inadequacies (or short-comings) in the wearer’s knowledge or ability.

DOING progress…

here is a quick summing up of my progress in developing this ‘augmented inadequacy’ device for my DOING assignment:

Progress…

1.  Arduino —> Programmable Display

I used this LCD display:
http://www.coolcomponents.co.uk/catalog/product_info.php?cPath=45_71&products_id=151

And this tutorial helped a lot: http://www.arduinoprojects.com/node/13

Problems:

* need to make secure connection to LCD

* need to control contrast of LCD

Code already called the LiquidCrystal library at setup and interfaced seven of the arduino digital pins to the LCD:

// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 9, 10, 11, 12);

I put the wire controlling the LCDs contrast (pin 3 on the datasheet excerpt below) into the arduino digital pin 5:

// contrast variable to digital pin 5
const int contrastPin = 5;

And then established the best contrast level for this 16×2 LCD using PWM (which runs from 0-255) via analogWrite – 118 seemed a good value:

//PWM value
analogWrite(contrastPin, 118);
//info http://arduino.cc/en/Tutorial/PWM


* need to work with Arduino Nano


* http://www.arduino.cc/en/Main/ArduinoBoardNano
* http://www.ladyada.net/learn/lcd/charlcd.html
* http://www.maplin.co.uk/Module.aspx?ModuleNo=1500

2. Programme —> allow switching of display

(Demo with tilt sensor shows principle)

3. Transmit / Receive Infra-Red Signal

bought these IR components:

http://www.maplin.co.uk/Module.aspx?ModuleNo=10379#features

sought advice here:

http://tthheessiiss.wordpress.com/2009/08/05/dirt-cheap-wireless/
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235097384

got stuck!

tried this instead:
http://www.instructables.com/id/How-to-make-an-arduino-IR-link/

but also does not seem to work :-(

4.  (received vibration motor – have not yet integrated into programme)

5.  Cut out a simple housing on the laser cutter to demo the concept and give an example of layout:

IR transmitter and receiver mounted above and below electronic display.  (I added a button to the bottom right which would allow the device to be triggered ‘manually’ by the wearer themselves.)*

*added later – in retrospect, the last minute addition of a ‘manual’ button, allowing the wearer to trigger the device themselves is totally unnecessary and undermines the concept of the device.

what I am wanting to do

Insight into the development process for my latest DOING assignment:

This piece is part of a larger dialogue/work ‘AUGMENTED INADEQUACIES’ which you can read about here:

http://www.intersectionspublicart.org.uk/project2.php?id=00028

and here:

http://www.intersectionspublicart.org.uk/project3.php?id=00033

more soon!

wearing medals

The ubiquitous conference lanyard-pass (which is basically a wearable device combining properties of ‘ticket’ ‘pass’ and ‘identity badge’) allows individuals entry to talks and events and is worn to indicate membership of this temporary and exclusive community.   Different coloured passes are given to different actors within the conference (‘delegate’ or ‘artist’ or ’speaker’) and different passes also indicate different levels of involvement (‘weekend pass’ ‘day pass’ ‘organiser pass’ ‘punter pass’…)

The combined properties of ‘exclusivity’ and ‘around-the-neck-ness’ mean that the device is, in a sense, a medal*.

The lanyard pass communicates an individuals name and affiliation and acts as a ’social signifier’ indicating the individuals own specialist status and subscription to the specific conference concerns.

I intend to develop a device for use within conference environments which would facilitate individuals in sharing (rather than hiding!) gaps in their knowledge.  I think it is appropriate that such a device might be incorporated into the design of pre-existing conference lanyards.

The device would have an electronic display with two states:

  1. passive/dormant state – electronic display shows usual delegate information: name, affiliation, role etc.
  2. activated state – when in the presence of another device further information is revealed – the wearer displays a ‘gap’ in their knowledge

* ‘Thinker of the Year 2008′ medal awarded by close friends on my birthday that year – to this day I am still unclear about the irony:sincerity ratio of this gift.

‘Prosthesis not as a sign of loss but as symptom of excess’

(part of statement by Stelarc during his visit to Culture Lab on the 19th of March.)

Technology = ‘prosthesis’ – not ‘literal’ artificial body parts – legs / hearts / breast implants – but objects which extend and transmit an individual’s conception of self in a way which is more than mere metaphor.

Augmenting Inadequacy?

The final submission for the Digital Media DOING module requires a response to the theme of “Extensions of Man” – invoking a McLuhanesque conception of communications media & technology as extensions ov our human capability.

This relates nicely to a new project I have been developing – Augmented Inadequcies – in collaboration with the artist Alan Smith and Allenheads Contemporary Arts:

Augmented Inadequacies

by John OShea

Traditional technological developments promise ever greater speed, power and independence and foster a notion of autonomous identity. Invention, a beloved offspring of necessity, solves problems and bridges gaps, effortlessly articulating both will and whim, diluting distance and domesticating desire. Through an open-ended dialogue and iterative process, John O’Shea will work in collaboration with Alan Smith, to propose and prototype new technological works – “strange inventions” – which will run counter to prevailing technological trends and attempt to make our human vulnerability, fallibility and mutual inter-dependence more visible and tangible.

Demo ov ‘Constant Agitation’

(for info regarding this, see previous post.)

Constant Agitation?

My first assignment of the DOING module (Simple Twisting Interface) introduced me to questions regarding the potential ‘resolution’ of information within a simple and intuitive twisting gesture – in that case turning a potentiometer and triggering audio samples within a MAXmsp patch.

For my second assignment of the DOING module (presentated 17/3/2010) I had an idea, which would work in a conceptually opposite direction:

I have begun to outline concerns regarding tokenistic ‘one click’ digital engagement with legal and political frameworks thru handheld devices and the web (see previous posts.)  Further to this, I am also alert and suspicious of the current ‘mania’ regarding the use of gesture, touch and interaction with digital technology and especially in relation to the new breed of ’smart phones,’ and home physical computing (iPhone, Nintendo Wii etc.)

And, since the title of the project brief was ‘Mirrors,’ I decided to work on something which could bring to the fore this fascination with our own (seemingly) reflected action.

I had an idea to develop some kind of application which could reflect and make apparent the (pathetic) nature of a users contribution.  This application would require a constant interaction in order to provide a very limited and basic feedback.

My idea was to use Processing to create a sketch for a potential iPhone application which would do NOTHING UNLESS SHAKEN.  On shaking the device, a looped video file will play but then, if the user stops shaking, the video will pause.  Since the video is set to loop after only a few seconds this constant user effort will return a very limited response.

In terms of the media file, I wanted something silly and banal and I decided to use a video of someone playing the maracas.  A suitable media file, which I found in the incredible Prelinger Archives and sampled in order to produce the loop, can be viewed here:  http://www.archive.org/details/Havana-Madri_2

Below is my sketch – which is extremely simple – embedding the video and overlaying an image of an iPhone.  Mouse movement over the sketch is used for the purpose of the sketch as an analogous ‘demo’ signal in place of actual, physical iPhone ’shaking.’

//SKETCH ‘Constant Agitation’ – John O’Shea
//DM MRes. / Culture Lab / 17-3-2010

import processing.video.*;

Movie video;
PImage img;

void setup(){
size(400, 400);
frameRate(10);
img = loadImage(“iPhone_template_400_400_240_160.png”);

video = new Movie(this, “MaracusLOOP169QVGAzoomed.mov”);
video.loop();
}

// callback function (below) seemed to result in undesired flickering
//so used ‘if’ function within ‘draw’

//void movieEvent(Movie m) {
// m.read();
//image(video,140,40);

void draw(){

//call video
if (video.available()){
video.read();
}

//video image positioned at desired location
image(video,40,40);

//boolean statement below checks for mouse movement
if (pmouseX == mouseX && pmouseY == mouseY){
video.speed(0);
}else{
video.speed(1);
}

//overlay image inserted at the very end so that it is on top
image(img, 0,0);
}

The complete file (with required media components) can also be downloaded here.

Processing Perception

Wandering thru a graveyard in Prenzlauer Berg one morning (one of my favourite tourist pastimes) I encountered this unusual and beautiful marble gravestone with a bold repeating circle design in the place usually reserved for an epitaph.

This stone was the most interesting art object that I encountered during my visit to Berlin’s Transmediale.10.

The dead individual (whom this stone is representing) presents us with a subtle, final-word: a challenge to living-beings.

The ‘optical illusion’ of physical depth against this pristine, flat, surface evidences our flawed and filtered sensory apparatus and disturbs any complacency regarding attempts at understanding the nature of perception (and by extension: space; consciousness; life; and death…)

I have begun working with the design from the stone to test out some ideas in Processing.

(My initial code for the above outline is shared here.)

int a;

void setup()
{

size(500, 500);
background(255);
smooth();
noFill();
stroke(0);
a = 10;

ellipseMode(CORNER);

ellipse(125, 250, 250, 250);

for(int a=0;a<360;a=a+10)
{
pushMatrix();
// move the origin to the pivot point);
translate(250,250);
// then pivot the grid
rotate(radians(a));

// and draw the square at the origin
noFill();
ellipse(-125, 0, 250, 250);
popMatrix();
}
}

Simple Twisting Interface

As outlined in previous posts I have developed a Mk 1 hardware element of a ’simple twisting interface’ based on the intuitive and inventive action familiar to anyone who has ever experienced, what is technically known as,  a cassette tape fuck-up.

I presented a working prototype for my internal assessment at Culture Lab on the 9th of December 2009, where I used the device in conjunction with an arduino board which was relaying the analog information to MAXmsp in order to trigger and control sample audio files.

Thoughts on interface:

Aspects of the Mk 1 hardware are not ideal.  The prototype device is not using a truly ‘continuous’ potentiometer (if such a thing were to exist) – it is using a standard potentiometer which has been butchered and hacked to go all of the way round. The problem is that this leaves a gap in the turn (the resistive element inside is ‘c’ shaped rather than a continuous ‘o’) and as a result of trying to work with this, the principles of code for the current Max patch are heavily compromised.

The demo MAX patch is very buggy and only worked intermittently during the presentation – it is clear that it needs much more rigorous development.

  • For a Mk 2 it would be highly desirable to find a better solution than the modified potentiometer for sending ‘full twist’ analogue data to arduino.
  • A new MAX patch could then be developed which uses ‘clean’ change in acceleration data rather than periodically polling for difference in values  (which is the clumbsy way the demo ‘worked’)

Thoughts on concept:

During the presentation I was asked ‘why exactly THIS twist?’ and ‘why THIS outcome?’

The action of twisting a pen or pencil in the reel of a cassette tape is something that the majority of the adult population will at some time have done – regardless of technological confidence.  The ‘twisting action’ is the result of some kind of inate human inventiveness which arises in an attempt to fix the tape.

I had begun working with this simple twist because the action is very satisfying, and I wanted to see what kinds of things could be done with the resulting data output that might have some kind of ‘intuitive’ relevance to the cultural associations of the object and so, conceptually speaking ‘feedback’ or echo…

This approach relates to aspects of our recent theoretical study where we considered J. J. Gibson’s ‘Theory of Affordances’ (1977. pp 67-82) in the context of designing for interaction.  Early in the article Gibson, talking about the origin of his theory quotes from ‘Principles of Gestalt Psychology’ (1935, Koffka.)

Each thing says what it is…

…the handle “wants to be grasped” and things “tell us what to do with them

Later though, in a footnote, Gibson warns about making naive assumptions about the simple consequences of our interaction:

THINGS THAT LOOK LIKE WHAT THEY ARE

If the affordances of a thing are perceived correctly, we say that it looks like what it is.  But we must, of course, learn to see what things really are – for example, that the innocent-looking leaf is really a nettle or that the helpful-sounding politician is really a demagogue.  And this can be very difficult.

Strategy:

It is very interesting to work simply from this one ‘action’ and to try and see how much ‘resolution’ there is within it.  In order to make a successful Mk 2 ’simple twisting interface’ I will take the following steps:

  1. use bourns continuous potentiometer to make MAX patch work ‘properly’ for demonstration.  This potentiometer allows 10 full turns (based on an internal spiral) so this will allow full development of the patch – key is that I understand how to calibrate MAX and control samples using the device.
  2. Make MAX patch work with Rotary Encoder (Encoder to Arduino – how? then Arduino to MAX – filter prior to debugged patch?)
  3. Make processing piece using rotary encoder - Arduino to Processing-
  4. Do something interesting!

Finally

What might be  interesting outcomes if this were to be a kind of instrument for triggering music tracks, for instance, rather than a mere demonstration of principle? (and art object?)

It might be interesting if:

  • initial turning ie. too slow, too fast, speeding up corresponded to audible experience (akin to ’scrubbing’ the playhead)
  • turning at a consistent speed for a set period (eg. 5 seconds) allowed the track to take over and play itself
  • twisting fast toggled thru available tracks (in this way, more than one track could be played at a time and tracks could be cued using the scrubbing action.)