19.12.08

zero to one

does anyone else get scared that the last idea they've had for something is the last idea they'll ever had? that the magical place where they suddenly spring up from will just dry up and instead of making things you'll just spend the rest of your life trying to have an idea that never comes?

i think this sometimes. it's usually in a lull between projects like this one. i worry that the last project i've done is the last one i'll ever do, that for my next one my creativity will just go *poof*, and i'll spend the rest of my life in a creative block.

i then i start thinking about creativity, because i honestly have no idea where it comes from. and then i start freaking out a bit because i've based my whole life on something that i don't even understand.

i'm also in the middle of an identity crisis, which doesn't help.

12.12.08

the final thing



this is what it looks like, and that's what it all means.

final processing code:


//finds a word, sends a signal to the lilypad then stops the loop.

import processing.serial.*;

Serial port;

String[] tokens; //array
int counter;

void setup() {
size(100, 100);

println(Serial.list());
port = new Serial(this,Serial.list()[0], 9600);

//load file and split up words
String[] lines = loadStrings("http://twitter.com/fiowantscoffee");
String allText = join(lines, " ");
tokens = splitTokens(allText, " ,.?!:;[]-");

}

//so it's now pulling in that sentence and splitting it up.

void draw() {
background(255);
fill(0);

String s = tokens[counter];
counter = (counter +1) % tokens.length;
//look at the words one at a time please



// mood uno: cuppa -------------------------------------------------------------------------------


if (s.equals("coffee")) {
println("coffee");
port.write('A');
noLoop(); //DON'T LOOP IT BAHBEE.
}




// mood zwei: love -------------------------------------------------------------------------------

if (s.equals("love")) {
println("love");
port.write('B');
noLoop(); //DON'T LOOP IT BAHBEE.
}


// mood tres: sex -------------------------------------------------------------------------------

if (s.equals("sex")) {
println("sex");
port.write('C');
noLoop(); //DON'T LOOP IT BAHBEE.
}



// mood funf: fail -------------------------------------------------------------------------------

if (s.equals("fail")) {
println("fail");
port.write('D');
noLoop(); //DON'T LOOP IT BAHBEE.
}


// mood six: internet -------------------------------------------------------------------------------



if (s.equals("internet")) {
println("internet");
port.write('E');
noLoop(); //DON'T LOOP IT BAHBEE.
}


// mood seiben: twitter -------------------------------------------------------------------------------


if (s.equals("tweet")) {
println("tweet");
port.write('F');
noLoop(); //DON'T LOOP IT BAHBEE.
}




// mood acht: geeking out -------------------------------------------------------------------------------

if (s.equals("geek")) {
println("geek");
port.write('H');
noLoop(); //DON'T LOOP IT BAHBEE.
}

}


final arduino code:


//getting it to keep one light lit up

int timer = 10000000; // The higher the number, the slower the timing.




// geeking
int geek[] = { 3, 4 };

// fail
int fail[] = { 5, 6 };


//internet
int net[] = { 7, 8 };


//twitter
int twitter[] = { 9, 10 };

// cuppa
int drink[] = { 11, 12,};

// sex
int sex[] = { 13, 14 };

// love
int loves[] = { 15, 16 };







int num_pins = 18; // the number of pins (i.e. the length of the array)
int val;

void setup()
{
Serial.begin(9600);

int i;

for (i = 0; i < num_pins; i++) // the array elements are numbered from 0 to num_pins - 1

pinMode(drink[i], OUTPUT);


pinMode(loves[i], OUTPUT);


pinMode(sex[i], OUTPUT);


pinMode(fail[i], OUTPUT);


pinMode(net[i], OUTPUT);


pinMode(twitter[i], OUTPUT);



pinMode(geek[i], OUTPUT);





}

void loop()
{
int i;

if (Serial.available()) {
val = Serial.read();

//cuppa --------------------------------------------------------------------------


if (val == 'A') {
digitalWrite(drink[i], HIGH);
}
else {
digitalWrite(drink[i], LOW);
}



//love --------------------------------------------------------------------------

if (val == 'B') {
digitalWrite(loves[i], HIGH);
}
else {
digitalWrite(loves[i], LOW);
}


//sex --------------------------------------------------------------------------

if (val == 'C') {
digitalWrite(sex[i], HIGH);
}
else {
digitalWrite(sex[i], LOW);
}

//fail --------------------------------------------------------------------------



if (val == 'D') {
digitalWrite(fail[i], HIGH);
}
else {
digitalWrite(fail[i], LOW);
}


//internet----------------------------



if (val == 'E') {
digitalWrite(net[i], HIGH);
}
else {
digitalWrite(net[i], LOW);
}


//twitter --------------------------------------------------------------------------




if (val == 'F') {
digitalWrite(twitter[i], HIGH);
}
else {
digitalWrite(twitter[i], LOW);
}





//geeking out --------------------------------------------------------------------------



if (val == 'H') {
digitalWrite(geek[i], HIGH);
}
else {
digitalWrite(geek[i], LOW);
}


}


}


that's all a lot shorter than i wanted it to be, but oh well.

ok..

so half of it doesn't work, but lets concentrate on the nice half that does shall we?



LOOK! shiny.

i was originally going to have it looking for words that i had put into groups reflecting similar emotions, so the words coffee and tea would light up the coffee part, but as computers have no sense of common sense my approach of thinking "this technique worked for one word so it will work for a list of words" failed me. so i've just had to have one word for each bunch of LEDs. gutting. the app was behaving in a very different way, instead of going through the whole list of words in the program it just latched onto the first word it recognized, instead of going through the whole program to see if there was an earlier word that it recognized. i'm explaining that terribly and i apologize but that's what it was doing.

also, the LEDs signifying internet wont light up even though the circuit works. and the program looks fine.

this project has become very "flashish". i think i'm doing things right and i can't see any problems but it just says "NO" and wont listen to me.

11.12.08

making the final piece

my hands are seizing up after all this.



this is all the glorious stitching i've done.

half of which wasn't working when i tested it for reasons unknown. i've checked it for shorts and i can't see any problems. so i've just glued up every loose bit of thread or knot that is tempted to fray in the hope that it will magically work in the morning.



mmm.... glue.

you never know.

the main problems are that every circuit i've made including my prototypes were extremely temperamental. if the tiniest threads cross each other that's it borked. conductive thread likes to fray into the tiniest annoying crit ruining threads.

also, i was unable to use the lovely lilypad LEDs that i now have a new found love of that i used in my protoyupes. because it would have cost me around £100 to have enough LEDs (i've already spent around £85 on this project, which i think is enough on my income thank you), and they were out of stock anyway. so i decided to use these square high flux or whatever LEDs that i read about in "fashioning technology" that i mentioned in an earlier blog post. that scratched at my fingers and fell out of the fabric after i stitched them in and generally made me want to cry.

now lets see if my program works.

9.12.08

fingers fingers ow ow



it's blurry because my fingers are BLEEDING.

prickly prickly ow ow.

now i need to do the sewing! hope they all work...

8.12.08

i've decided.

i'm not going to define what feed the piece has to follow. i'm going to make several versions of the code that follow several different feeds. it's up to the user what feed they want to follow.

yes.

incredibly short blog post.

5.12.08

more on 100 feelings felt

These are some screen shots of the web site used to create the cards.







I like how soft and delicate it all feels, the burst of colour and the way the feelings fade in and out.

more patterny ideas


mmm... LED tetris. thinking of using this to show geeking out / gaming.


trying to make something resembling thought bubbles to represent bored.

i'm still trying to come up with the words that i am going to use... need to trawl through some twitter feeds methinks.

2.12.08

28.11.08

i'm not the only one!

true, he's using we feel fine, and he's making them into nice little cards, but Brendan Dawes is looking for feelings online.



here's a little sketch of how he envisioned it working, originally planning to use stickers.



and these are some of the cards.



I like this idea, as it gives you a static and tactile way of holding onto the feelings that would otherwise be lost in time. My idea is quite different, as my piece is going to be as fleeting as the data on the internet, but it's answering the same basic problem: getting emotional data offline and displayed in another way.

pictures taken from his flickr feed.

project related rant.

I've been looking around various processing and arduino sites, trying to find a piece of work that is similar to my idea, and i'm not really finding it anywhere. It seems people are more interested in getting data or information from the real world into the virtual, instead of the other way round.

There are several reasons why i chose to do this project this way, and make myself this brief. One is that technology is constantly becoming more and more personal, with mobile phones and ever smaller laptops. I don't think the internet is going to stay on screen forever, i think there are alternative ways of displaying the information and i think it's going to try to integrate more into the real world.

The reason i chose twitter for this project as the website to bring into the real world and display in an alternative way is because it's a tool that quite a lot of people use. It's a tool that people use to communicate with each other and also with themselves:



This data that people update whenever they feel like expresses how they are feeling in that moment in time, or just what they're up to. But it just sits on a web page, or in their widget, or in a feed somewhere in the internet. this information that expresses their thoughts isn't being expressed in a very expressive way (too many expressives, i know).

The reason that i'm choosing to display this information in patterns is because i'm trying to get it away from a screen, i don't want to recreate a standard display. i want it to be visual as that's personally my favourite sense, and i want there to be a level of secrecy in what each pattern means as there is a level of deciphering that needs to be done in twitter, with all the leet speek and emoticons.

I admit that i do need to work on what words the program is looking for, but that just means trawling through the twitterverse to see what the most popular and most relevant phrases are.

I hope this finally gets people understanding what i'm trying to do. I'm finding it quite frustrating that no matter how many times i try to explain this, no body seems to get the point of it.

cool wearables



I want this coat. It seems pretty unassuming, but is actually a tool for people who crave personal space in crowded places or are just shy. Depending on how infringed the user feels, the coat emits the sound of a dog barking. It can be anything from a poodle's yap to a rottweilers bark. By Suzi Webster and Jordan Benwick.



This lovely little piece of jewelry is by Mouna Andraos. It displays the distance to a special physical place, such as your home, in relation to where you are now. It's designed to make the user feel more attached to a place that is important to them, and make the world seem a little smaller or bigger.



Jayne Wallace made this hand worn piece for her friend, as a symbol of her relationship with her homeland in Cyprus. A sensor in Cyprus detects when it rains and controls the piece which is in London. When a set amount of rain has been detected, the flower blossoms, letting the wearer feel connected to her homeland.



This piece was also made by Jayne Wallace, made for another friend. The piece contains various files which reflect the wearers memories, stories and dreams. The piece projects these files onto digital displays near the wearer, acting as a constant reminder.

27.11.08

the lilypad (omg)

The lilypad was developed by Leah Buckley and Sparkfun electronics. The aim of the project was to create a mass producible easy to program microprocessors to get a broad range of people experimenting with wearable technology.



This is the e-textile construction kit version 1.0, which introduced the idea of a construction kit for wearables. All the pieces were very square and bulky but show the basic idea.





Here are some soft version of the lilypad, which are more flexible than the mass producible version which i have, but couldn't be mass produced. The flexible version is made of conductive fabric, and the connections are made from conductive thread.

22.11.08

think i should explain it really...

my boobs lighting up actually has a communicative purpose.

each LED shows when a certain word is found in this twitter feed.



and here's the code controlling it all:

arduino code:


//getting it to keep one light lit up

int timer = 10000000; // The higher the number, the slower the timing.
int happy[] = { 5, 6,}; // an array of pin numbers
int sad[] = { 7, 8 };
int meh[] = { 9, 10 };
int love[] = { 11, 12 };
int fuming[] = { 13, 14 };
int num_pins = 10; // the number of pins (i.e. the length of the array)
int val;

void setup()
{
Serial.begin(9600);

int i;

for (i = 0; i < num_pins; i++) // the array elements are numbered from 0 to num_pins - 1
pinMode(happy[i], OUTPUT); // set each pin as an output
pinMode(sad[i], OUTPUT);
pinMode(meh[i], OUTPUT);
pinMode(love[i], OUTPUT);
pinMode(fuming[i], OUTPUT);
}

void loop()
{
int i;

if (Serial.available()) {
val = Serial.read();
if (val == 'A') {
digitalWrite(happy[i], HIGH);
}
else {
digitalWrite(happy[i], LOW);
}


if (val == 'B') {
digitalWrite(sad[i], HIGH);
}
else {
digitalWrite(sad[i], LOW);
}

if (val == 'C') {
digitalWrite(meh[i], HIGH);
}
else {
digitalWrite(meh[i], LOW);
}

if (val == 'D') {
digitalWrite(love[i], HIGH);
}
else {
digitalWrite(love[i], LOW);
}

if (val == 'E') {
digitalWrite(fuming[i], HIGH);
}
else {
digitalWrite(fuming[i], LOW);
}
}


}


and the processing code:


//finds a word, sends a signal to the lilypad then stops the loop.

import processing.serial.*;

Serial port;

String[] tokens; //array
int counter;

void setup() {
size(100, 100);

println(Serial.list());
port = new Serial(this,Serial.list()[0], 9600);

//load file and split up words
String[] lines = loadStrings("http://twitter.com/allemotional");
String allText = join(lines, " ");
tokens = splitTokens(allText, " ,.?!:;[]-");

}

//so it's now pulling in that sentence and splitting it up.

void draw() {
background(255);
fill(0);

String s = tokens[counter];
counter = (counter +1) % tokens.length;
//look at the words one at a time please



//is the word there?
if (s.equals("happy")) {
println("happy");
port.write('A');
noLoop(); //DON'T LOOP IT BAHBEE.


}

if (s.equals("sad")) {
println("sad");
port.write('B');
noLoop(); //DON'T LOOP IT BAHBEE.

}

if (s.equals("meh")) {
println("meh");
port.write('C');
noLoop(); //DON'T LOOP IT BAHBEE.

}

if (s.equals("love")) {
println("love");
port.write('D');
noLoop(); //DON'T LOOP IT BAHBEE.

}

if (s.equals("fuming")) {
println("fuming");
port.write('E');
noLoop(); //DON'T LOOP IT BAHBEE.

}

}


i need to think more about the words that i'm looking for, they really need to reflect what people say in twitter.

20.11.08

my boobs light up!

sheer awesome.



the mister approves.

this is what fail looks like.

trying to sign my processing app in terminal and failing miserably.

following this tutorial.



obviously i've blocked out my name and password because i don't want any of you hacking my mac, but that's what i'm trying to get working. but it wont. i don't know why.

why didn't i just do animation?

having to cheat in an ugly way

when / if i get this working, it will either be pure genius or horribly grotesque. Or simply not as efficient as i would like it to be.

Since the only thing that i've found that even points me slightly in the right direction on how to reset my processing app after it finds a word is this extremely uninformative thread in the processing forums, i think i'm going to have to cheat a bit.

Instead of getting the app to reset itself, i'm thinking of putting it in a web page that is set to refresh every few minutes, therefore refreshing the app.

hopefully.

the only problem with this is that since the app is being exported to a web page it needs to be signed, so it is allowed to access the lilypad. damn security restrictions on java apps!!!

This means i have to go into terminal and do some scripting on the java docs from there. SCARY. i haven't done any apple scripting on my mac (terrible, i know).

Although there is the redraw() function in processing, my problem is that my string of the twitter feed is pulled in inside the setup tag, which can only be loaded once. i've tried putting it inside the draw tag which can be loaded as many times as you feel like, but it isn't having it.

I'm also quite aware that we've got a crit tomorrow and what i have isn't that visually stunning. :/

14.11.08

looking at twitter

I've now got a piece of code that looks at a twitter feed and sends that information to an arduino board:

arduino code:

//getting it to keep one light lit up

int timer = 10000000; // The higher the number, the slower the timing.
int happy[] = { 6, 7,}; // an array of pin numbers
int spiffing[] = { 8, 9 };
int num_pins = 6; // the number of pins (i.e. the length of the array)
int val;

void setup()
{
Serial.begin(9600);

int i;

for (i = 0; i < num_pins; i++) // the array elements are numbered from 0 to num_pins - 1
pinMode(happy[i], OUTPUT); // set each pin as an output
pinMode(spiffing[i], OUTPUT);
}

void loop()
{
int i;

if (Serial.available()) {
val = Serial.read();
if (val == 'A') {
digitalWrite(happy[i], HIGH);
}
else {
digitalWrite(happy[i], LOW);
}


if (val == 'B') {
digitalWrite(spiffing[i], HIGH);
}
else {
digitalWrite(spiffing[i], LOW);
}
}
}


processing code:

//finds a word, sends a signal to the lilypad then stops the loop.

import processing.serial.*;

Serial port;

String[] tokens; //array
int counter;

void setup() {
size(100, 100);

println(Serial.list());
port = new Serial(this,Serial.list()[0], 9600);

//load file and split up words
String[] lines = loadStrings("http://twitter.com/allemotional");
String allText = join(lines, " ");
tokens = splitTokens(allText, " ,.?!:;[]-");

}

//so it's now pulling in that sentence and splitting it up.

void draw() {
background(255);
fill(0);

String s = tokens[counter];
counter = (counter +1) % tokens.length;
//look at the words one at a time please



//is the word there?
if (s.equals("happy")) {
println("happy");
port.write('A');
noLoop(); //DON'T LOOP IT BAHBEE.


}

if (s.equals("spiffing")) {
println("spiffing");
port.write('B');
noLoop(); //DON'T LOOP IT BAHBEE.

}

}


it's not perfect. i just need to sort out a way of getting the program to delay then restart after finding a word. That piece of code is eluding me at the moment.

13.11.08

the else function is a LIE.

but i have code that works the way i want it to, so i'm chuffed.

//the else function is a LIE. but the loop is working how i want it to, which is nice.

String[] tokens; //array
int counter;

void setup() {
size(100, 100);


//load file and split up words
String[] lines = loadStrings("words.txt");
String allText = join(lines, " ");
tokens = splitTokens(allText, " ,.?!:;[]-");

}

//so it's now pulling in that sentence and splitting it up.

void draw() {
background(255);
fill(0);

String s = tokens[counter];
counter = (counter +1) % tokens.length;
//look at the words one at a time please



//is the word there?
if (s.equals("happy")) {
println("happy");
noLoop(); //DON'T LOOP IT BAHBEE.

}

if (s.equals("spiffing")) {
println("spiffing");
noLoop(); //DON'T LOOP IT BAHBEE.

}

}

stalking allemotional:

i've created a new twitter account, called allemotional, to use with my processing program. All it says at the moment is that it's happy, but as i test out more and more words it'll soon build up. I've also used yahoo pipes to create a RSS feed of the twitter feed that processing likes. It didn't like the twitter RSS very much.

I'm working on Liams mini mac, it's freaking tiny!!!

7.11.08

it is actually finding cheese

in an RSS feed.

i made this code yesterday, but i didn't think it was finding cheese. i don't know if it was the server being dodgy or if i just didn't let it run long enough, but it is actually finding the word.


//Trying to get it recognizing words.
//Would be nice.

String[] tokens; //array
int counter;

void setup() {
size(100, 100);


//load file and split up words
String[] url = loadStrings("http://fionnualamurphy.blogspot.com/feeds/posts/default");
String allText = join(url, " ");
tokens = splitTokens(allText, " ,.?!:;[]-");

}

//so it's now pulling in that sentence and splitting it up.

void draw() {
background(255);
fill(0);

String s = tokens[counter];
counter = (counter +1) % tokens.length;
//look at the words one at a time please

//is the word there?
if (s.equals("cheese")) {
println("CHEESY!");
} else {
println("no cheese.");
}
}


// trying it out on a RSS feed. actually works!


i've spent most of my day messing around with XML, getting the program to look inside specific tags, which could hopefully speed the whole thing up if i get it working, but at least i have something that works!!!

6.11.08

playing..

with last years scripts....



cos it makes me feel like i know what i'm doing in processing.

still needs work.

it works...

with plain old fashioned .txt files, haven't got it working with streams or plain old HTML yet.



cheesy.

The document it's reading only contains three words, the only three words i could think of at the time: "pleh", "cheese", and "moo".

it found no cheese!!

After this it will now find cheese.
because i've typed in cheese.

The following code looks through my blog for the word cheese, and then prints the result.


//Trying to get it recognizing words.
//Would be nice.

HashMap words; //hashmap object

String[] tokens; //array
int counter;

PFont f;

void setup() {
size(500, 500);
words = new HashMap();

//load file and split up words
String[] lines = loadStrings("http://fionnualamurphy.blogspot.com/feeds/posts/default");
String allText = join(lines, " ");
tokens = splitTokens(allText, " ,.?!:;[]-");
f = createFont("Calibri-Bold", 36, true);
}

//so it's now pulling in that scentence and splitting it up. It's also going to show it in Calibri-Bold, size 36.

void draw() {
background(255);
fill(0);

String s = tokens[counter];
counter = (counter +1) % tokens.length;
//look at the words one at a time please

//is the word there?
if (words.containsKey("cheese")) {
System.out.println("CHEESY!");
} else {
System.out.println("no cheese.");
}
}


// IT FOUND NO CHEESE!! SUCCESS!


There was no cheese.



EDIT: doesn't work, i'm sad now.

EDIT: Got it working with a .txt file, just not an RSS feed.

getting somewhere....

I found some stuff on Daniel Shiffman's site about Bayesian Filtering, whilst i don't understand it completely i think it's what i've been looking for. Using Hashmaps you can search a document for words, and have the program state that it's found or how many times it's appeared etc. It's the system used to detect spam coming into your inbox.

I've found a relatively simple example in java, and a bit more complex version in Processing. i'm hoping to mush the two together to get a bit of code that works.

31.10.08

if you consider yourself to be a nice person...

and you use social networking at all, in any sense, please come and join my new shiny ning site and chat about how social networking has affected you. If you think it's a good or bad thing, when you started using it, what sites you use. Wether facebook bores the crap out of you or if it's the centre of your life.

NINGY NING NING!!!

25.10.08

for the unbelievers

it didn't work at the presentation yesterday because a bit of thread ripped. But my first Lilypad circuit works now.



It flashes LEDs. Simple enough but i'm glad everything is working. It's running an example sketch called Loop which I edited slightly so it found the LEDs.

17.10.08

it's here.....

and it came in a pretty little box and it's tiiiiiny.



i want to play now.

14.10.08

just show words

This code, put into Processing, shows you the words that are in my blog.
It looks for the things that separate words, and then spits them out.

As it's reading an RSS feed it often spits out some HTML but that not really a problem, i just need it to be aware of where a word ends and begins.


//i'm now trying to break the script down more, as i don't want it to tell me how many times it finds the word, i only want it to show me it.

PFont f; //holds onto the font
String[] fiosblog; //array to hold onto the text in my blog
int counter = 150; //where to start in the text

//delimiters (stuff that breaks up the words)
String delimiters = " ,.?!;:[]";

void setup() {
size(400,400);

f = loadFont( "Dialog-32.vlw" ); //loads the font

//this bit imports my blog anf makes it into a array of strings
String url = "http://fionnualamurphy.blogspot.com/feeds/posts/default";
String[] rawtext = loadStrings(url);

//join the strings back together, into one long string
String everything = join(rawtext, "" );

// the big string now needs to be split into individual words
//using splitTokens() a spaces and punctuation are the delimiters.
fiosblog = splitTokens(everything, delimiters);
frameRate(5);
}

void draw() {
background(255);

//pick a word
String theword = fiosblog[counter];

//Display results
textFont(f);
fill(0);
text(theword,10,90);
stroke(0);
fill(175);


//move onto next word
counter = (counter +1) % fiosblog.length;
}



I've basically just taken this code by Daniel Shiffman and edited it so it only presents me with the word.

I've got it separating words, now i just need it to start recognizing them. I think that's going to be the hard bit.

13.10.08

we feel fine



We feel fine is a web app created with Processing, with the database and data collection side of things handled with Java, Perl, MySQL and Apache. The application searches sites such as blogger, livejournal, myspace and flickr for posts including the words "I feel" or "I am feeling". Once it finds one of these phrases it looks for the sentence it is in, and and then pulls it into the feed.



After it finds the sentence, the app then looks for an emotion, from this list. Emotions are represented by different colours inside the app, yellow being happy, red being angry etc. To view a post you click on a coloured circle or square, which also contain pictures that are linked to the scentence. The interface of this app is really intuitive and sensitive to the movements of the cursor. When you click in the app the dots fly away from you, but after a while some clump around the cursor.

There are several different ways of viewing the data, each called "movements". There are six in total but i'm only going to talk about a couple of them. The view below is called "murmurs" and reminds me a bit of twitter. The dots aren't there to be played with, the data just happily makes it's way to the bottom of your screen.



You can also just see how many people are feeling what within the last couple of hours. At this moment in time a lot of people are feeling better, which is nice. Even when the data is presented in this quite static form, it still jiggles about, like it's alive.



The process is completely autonomous, the program keeps on running without any human intervention, collecting any data it finds about how people are feeling.

I think this is a really interesting site, and while i was only looking at it because it pulls in feeds of emotions which is what i want to do in my project, i've actually ended up spending quite a bit of time on the site. It's not only interesting to see what people are feeling, the interface of the app is really nice to interact with.

4.10.08

wordle



This is all my year three posts, made into a word cloud.

Wordle takes a web page, looks for interesting words and makes it a bit more visually pleasing.

CuteCircuit are awesome.

And they make awesome things.



Accessory Nerve is a sleeve that reacts to your phones signals. When you're getting an incoming call, pleats appear on the fabric. If you're a little busy you can just straighten out the sleeve, which will then trigger the phone to send a text message to the caller saying "I'll call you back later". A lot more subtle than getting your phone out.



This item is particularly ingenious. This is the hug shirt, which allows you to send a hug to a loved one using your phone. Sensors detect the touch, warmth and heart beat of the sender and recreate the sensation for the receiver. Bluetooth sends the hug signal from the phone to the top, and a java application called "hug me", reads the sensor data and recreates the hug.

wearing data feeds - News Knitter

RSS feeds make lovely warm jumpers.



Using 24 hours of news data feeds, News Knitter makes the daily political news into a lovely snuggly jumper. One piece of software receives the data and another analyzes the feeds and makes them into different patterns. The final product is then produced on a fully computerized knitting machine.



I think this is a very nice example of how to take the internet off screen. Although some people wouldn't really think of this as a digital product as there's no circuits or programming on the actual finished product, the information used to create the pattern was gleamed from the internet, and software produced the patterns, making the jumper a product of the internet.

30.9.08

the sooper amazing wonderful plan.

of joy.

Last term I decided I was all interested in ubiquitous technology and wearable technology, and that I would like to make some. I have since realized that it could get quite complicated and possibly even a bit expensive on my lowly budget but I'm still going to give it a try. As I have no idea where to start, I started off by buying some books.

My hope is that by combining this one:



With this one:


(it may have the word "fashion" in the title, but it tells you how to make circuits with conductive thread, which makes it cool. and anyway, you should be in awe of my lovely laminate flooring.)

I can make a piece of potentially wearable technology that can communicate with other computers.

I think it all sounds rather magical. Here's a diagram of how i envision it all working:



A processing application on a website allows you to send information through the internet to the program on a computer with bluetooth, which then transmits a signal to the micro-controller on the device, which then does it's thing. I could do this with wifi and potentially get rid of the computer with bluetooth, but that would be so complicated it would make my head explode, and as this is my first attempt at doing this sort of thing I want to keep it as simple as possible.

Now I just need to look into the little bits and bobs that I need to get this working.

15.9.08

nuvver web layout idea



tell me what you think.

18.8.08

grab it and run



which is what i did.

me and ben with D&AD guy at the D&AD awards.
picking up second prize for the solar century project.
for those that don't know me i'm the one looking comfortable in the middle.

LOL.

you can see the rest of the night here.

and yes i will create a new blogger template soon.

24.6.08

to my friends...

i say this. i will not play WOW, but i might play this:

'Warcraft' Sequel Lets Gamers Play A Character Playing 'Warcraft'

22.6.08

friggin hell.


Weird Fishes: Arpeggi from flight404 on Vimeo.

why can't i do that?

opening night...

group collaboration:

not that impressed, at all:

my piece set up and working: