interactive experimental glass

This blog is a documentation of the "Interactive, Electronic and Experimental glass class held at Pilchcuk Glass School in Stanwood WA, from August 15- September 2

Sunday, February 05, 2006

Monika has a show

Hi folks, I just got an email with good news from Monika.... she's taken the work she started during the class and evolved it into a piece that she is showing - check it out at http://www.altperspective.com/river.htm.
Please post your own shows when you have them! I've heard a bit from Josh and others.

Tuesday, October 04, 2005

The class in the Casting Shop

Josh and Brian casting Brian's long rope piece.

Josh gathering while Brian pours.


Removing the cast from the sand to transfer it to the annealer.

Not everyone chose to cast in our second session - but it was a lopt of fun.

Saturday, September 24, 2005

Oops, that last entry was mine... (Monika)

...despite what it says at the end. yeah, so i finally got my own blog post thing going on, i think. um, this is monika and the posting following this one is also from me. just to clarify.

~monika

Open Question

hey, everyone! i hope everyone has settled into their digs and reacclimated to the world outside of pilchuck. slowly my faculties seem to be returning. so, do any of you remember that proposal that i (with monumental help from zen) was working on while at pilchuck? well, i got it! but now comes the hard part - executing it!

so, i am having trouble remembering what i need to do to allow for more that one LED per pin on the stamp. i know it had something to to with additional hardware, putting some other component on the breadboard, but goddamn, i can't recall the name of what i need. i have been perusing bookstores for various stamp programming books and looking for the microprocessor cook book (that's what it was called, right?) but am unsure what would be most helpful in this endeavor. any and all info from you wonderful interactive, experimental, electronic folks would just make me jump for joy. and feel free to email me at monika@altperspective.com.

ps: is this amnesia normal? hmmm.

Saturday, September 17, 2005

Thoughts on interactivity

As you head into working on your own projects, here are some of my thoughts on starter concepts for good interactivity.

** Reactive or Responsive? **
=============================
Computers, and simple circuits, are best at REACTING to input from your user: an action triggers a single reaction. However, life and living beings tend to be RESPONSIVE: your actions become part of a dialog with those around you.
Creating reactive work can be beautiful, as we saw with Simone's piece, and it can have unexpected results for the viewer. However, sometimes your message is better conveyed by building a system that enters into a physical/emotional/visual (etc) dialog with your audience. While it's often very complex to make something feel life-like, or be truly and uniquely responsive to an individual, it's often worth thinking about, like Monika discovered.

As you think about something 'responsive' - observe your interaction with a child or a pet, or the subtle dialog with those around you on the subway - start thinking about the elements of input and output. It needn't be dry - the clues living creatures give each other are extremely complex and touch all our senses.


In my work, I find that little can be truly responsive - no response built of code and circuits can approach the complexity of human response, intention etc etc - but there are many subtle indications I can provide that suggest responsiveness.

  • Immediate response
  • Surprise
  • Patterns
  • Change over time
  • Variance

** Immediate Response **
=============================
Standing on that crowded subway, if you accidentally bump someone, they will respond immediately.

The immediacy of this response lets you know that the other being is very aware of you. In a piece, this immediate response begins a dialog with your viewer - much as the sudden darkening of Timmy's piece was a clear message to viewers.


** Variance **
=============================
On the subway again, if you bumped that person, they might react in many different ways - anger, support, suspicion. This might be based on their personality, or something about you. Variance can be used to shape a more unique dialog with viewers, and it also suggests that your piece is making decisions.

Variance also comes into play if you ask people to engage with your piece over time. Few living creatures react the same way all the time, their responses are colored by repetition, your responses etc. Building into your system something that changes with repetition can be interesting - perhaps your piece is bored with this user, or shares something new after they have been there for a while, perhaps the visuals change - the options are endless and provide the viewer a reason to stay.

** Surprise **
=============================
Surprise is an aspect of variance - and it's something living creatures do to each other all the time. My grandfather used to tell me that surprise is the spice of life and what keeps us on our toes. I think it's the same with good artwork too. I find surprise in all sorts of art - many of them completely non-interactive.

Imagine yourself on that subway, think of actions you might take that would surprise someone - a quick approach, talking to them, pulling something unexpected from your bag, smiling at them... how would they respond? How might they surprise you?


** Patterns **
=============================
Surprise often comes from breaking an established pattern. Good surprises tend to create new and more interesting patterns. Bad surprises tend to seem to emerge with no reason.

Humans seek patterns in things around us - when interactive art creates patterns that are not discernable or too complex, people tend to get irritated or dismiss the work with a "well, I don't get it". Think about developing interesting patterns of response in your work. Think of how the patterns might vary with different kinds of users or user actions. Then think of the meaning those patterns suggest.

With all this, I suggest experimenting with the tools, sketching ideas, imagining impossibilities, iterating towards the impossibilities, and talking to others. Observation of people, like the subway, and of people with your prototypes is critical.

work by Casey Reas (his site

** Change over time **
=============================
If the user stands in front of your piece for 10 seconds do they see the same thing as if they stood there for 1 minute?

If you seek to engage your viewers in an evolving dialog, consider how time is an element of your work and how the interaction might be shaped over time.


** User or Viewer **
=============================
I use the terms 'user' and 'viewer' fairly interchangeably here. However, when I make work I do consider whether I want my audience to be users or viewers. Viewers watch a piece happen, but often, in my view, do not have much effect on it - they trigger playback. Users actively must engage with the work for it to be formed and to evolve.

Creating a piece for viewers tends to allow you more control over what they will see. Creating a piece for users opens your piece to much more interaction, and often the users will discover things you did not plan for. This can distract from your message or add to the joy of discovery in your work.

Either way, I find it helps to be aware of HOW I want people to engage with my work.


** Analog? Digital? Kinetic? Static? **
=============================
Should my piece be....? Really it is up to you. But I suggest that simpler is often better: more robust, more elegant etc. But it's only better if it still conveys what you seek to convey.

I have been disappointed in the experience of work that I find technically amazing, and overwhelmed by work created with extremely simple materials and a beautiful sense of meaning.

Good luck! And post project here when you're done or want feedback!

Wednesday, September 07, 2005

Timothy's SILHOUETTE project




Code for Lights
' {$STAMP BS2sx} 'refer to imeges 5&6
' {$PBASIC 2.5}

' -----[ Declarations ]----------------------------------------------------
adcBits VAR BYTE 'declareing variable (ie adcbits is variable)
' -----[ Initialization ]--------------------------------------------------
CS CON 0
CLK CON 1 'declaring pin constants (ie cs is always pin 0)
DataOutput CON 2

' -----[ Main Routine ]----------------------------------------------------
DO
GOSUB ADC_Data ' gets the data
GOSUB led 'related the led to sensor
GOSUB Display1 'go to subroutine to show the numbers

LOOP
' -----[ Subroutines ]-----------------------------------------------------
ADC_Data: 'runs the commands for the ADC
HIGH CS
LOW CS
LOW CLK
PULSOUT CLK, 210
SHIFTIN DataOutput,CLK,MSBPOST,[adcBits\8] 'declare value of adcbits
RETURN 'returns to main routine

led:
IF adcbits >= 024 THEN LOW 8 'tells led to turn on when there is no one
IF adcbits <= 023 THEN HIGH 8 'in fron of the sensor and off when there is
RETURN

Display1: 'opening and running debug window
DEBUG HOME
DEBUG "hex value: ", DEC3 adcBits, CR
'no person = steady 0, 1meter = between 2-50
RETURN

Timothy's ANDY







ANDY'S CODE FOR SOUND
' {$STAMP BS2sx} 'refer to image 12

' -----[ Declarations ]----------------------------------------------------
adcBits VAR BYTE 'declareing variable (ie adcbits is variable)
i VAR BYTE
f VAR WORD
' -----[ Initialization ]--------------------------------------------------
CS CON 0
CLK CON 1 'declaring pin constants (ie cs is always pin 0)
DataOutput CON 2
C CON 2092 'declaring note tones
D CON 2348
E CON 2636
G CON 3136
R CON 8



' -----[ Main Routine ]----------------------------------------------------
DO
GOSUB ADC_Data ' gets the data
GOSUB mary 'related the amp/speaker to sensor
GOSUB Display1 'go to subroutine to show the numbers

LOOP
' -----[ Subroutines ]-----------------------------------------------------
ADC_Data: 'runs the commands for the ADC
HIGH CS
LOW CS
LOW CLK
PULSOUT CLK, 210
SHIFTIN DataOutput,CLK,MSBPOST,[adcBits\8] 'declare value of adcbits
RETURN 'returns to main routine

mary:
IF adcbits >= 024 THEN lamb 'tells system to activate if someone in front of sensor
RETURN

lamb: 'tells system what notes to play
FOR i = 0 TO 28
LOOKUP i,[E,D,C,D,E,E,E,R,D,D,D,R,E,G,G,R,E,D,C,D,E,E,E,E,D,D,E,D,C],f
FREQOUT 8,1000,f,(f-8) MAX 32768

RETURN

Display1: 'opening and running debug window
DEBUG HOME
DEBUG "hex value: ", DEC3 adcBits, CR
'no person = steady 0, 1meter = between 2-50
RETURN

Tuesday, September 06, 2005

Projects with motion sensors

This was a great interactive window display (Sarah - public spaces, response to passersby etc) - see http://www.idonline.com/imdr03/power.asp

Neon flowers light as you pass by - triggered by motion sensors like we used in class.

Monday, August 29, 2005

Monika's basic code for "breathing" LED's

' {$STAMP BS2sx}
' {$PBASIC 2.5}

' -----[ Declarations ]----------------------------------------------------

x VAR Word
y VAR Word

'ooh, breathing LED lights.
'thank you chuck. you rock.

allup:
DEBUG CR
HIGH 6
HIGH 7
HIGH 8
HIGH 9
HIGH 10
HIGH 11
HIGH 12
' PAUSE 2000
GOTO main


main:

DEBUG "This is accelerating"
DEBUG CR
FOR y= 15 TO 1 ' for each time (y) do this (flicker rate)
FOR x= 1 TO 15 ' stretches out flicker rate
HIGH 6
HIGH 7
HIGH 8
HIGH 9
HIGH 10
HIGH 11
HIGH 12
PAUSE 16-y ' keep it on for 16-y millisec
LOW 6
LOW 7
LOW 8
LOW 9
LOW 10
LOW 11
LOW 12
PAUSE y ' keep it off for the same # of millisec as round of loop (y)
NEXT ' do the loop again (y=y-1)
NEXT

HIGH 6
HIGH 7
HIGH 8
HIGH 9
HIGH 10
HIGH 11
HIGH 12
PAUSE 1000

DEBUG "This is decelerating"
DEBUG CR
FOR y= 1 TO 15 ' for each time (y) do this (flicker rate)
FOR x= 1 TO 12 ' stretches out flicker rate
'DEBUG "off"
LOW 6
LOW 7
LOW 8
LOW 9
LOW 10
LOW 11
LOW 12
PAUSE 2*(16-y) ' keep it on for 2*(16-y) millisec
' DEBUG "on"
HIGH 6
HIGH 7
HIGH 8
HIGH 9
HIGH 10
HIGH 11
HIGH 12
PAUSE y ' keep it off for the same # of millisec as round of loop (y)
NEXT ' do the loop again (y=y-1)
NEXT

FOR x= 1 TO 67 ' for each time (x) do this
LOW 6
LOW 7
LOW 8
LOW 9
LOW 10
LOW 11
LOW 12
PAUSE 10
HIGH 6
HIGH 7
HIGH 8
HIGH 9
HIGH 10
HIGH 11
HIGH 12 ' keep it off for the same # of millisec as round of loop(y)
PAUSE 10
NEXT
LOW 6
LOW 7
LOW 8
LOW 9
LOW 10
LOW 11
LOW 12
PAUSE 10

GOTO main

Projectors and glass

Today we looked at different glass treatments and the effect that they have on a projected image. Some of the glass worked as a portal for the images to travel through and be changed other glass namely sand-blasted worked as surfaces to be projected onto. Below are a list of the surface treatments and the image effects.

Looked at 220 and 80 grit sandblasted glass - the heaver the sandblast the sharper the image. With holes or shapes cut out of the glass the image travels through these onto the back wall. With shapes such as blobs and squares the image does not travel trough the glass onto the posterior of the object. The image does create some colour on the sides of objects but no readable image. Objects with organic shapes that were sandblasted did not have a big distorting effect on the image.

Sandcast lens and other obects do not throw images onto the back wall they arrest the image at the object - in the case of the lens transmitting it to the back of the object (unclear image - really colours only). On the whole a watery cracked image. Frit with sandcast work had a nice combination with the colour of the projector.

Hot cast objects (in this case we only tried a flat panel) that have been cast onto graphite have a faceted surface that throws the light and spilts it into different spectrums. Because of the amount of faceting this was the treatment that gave the greatest amount of distorted light effects. The image from the projector was not clear. This was just lighting effects with even the mouse turning into a four dimensional moving 'tinkerbell' type image.

Projection onto water and fabric were nice and clear but no particularly interesting effect except the image folded up the side of container.

Untreated Lens filled with water had a nice effect - proably more due to the facets on the edges where it had been cut. Light was defracted and also great soft large images of cords in the glass and small bubbles. The image is not arrested by the glass but is projected onto the back wall.

The facets in Monikas blob where the cut had been made for the LED and the surfaces that were both Convex and Concave (unsandblasted) had one of the best effects once again splitting the light and creating great four dimensional light shapes onto the back wall . THe actual image being projected was not readable on the back wall at all.

Halved blown glass ball with frit - great effect on the object with the colour really coming to light and nice light movement through the glass but no image on the back wall.

Dark glass with etched image. Glass becomes quite translucent and etched image becomes opaque on the back wall.

White antique glass holds the image with no good distortion and no casting of light or image onto the back wall.

Tim's code for having two IRS sensors light Two LEDs

This is a progam that uses information from two Infra RED sensors tomake blink two LEDs

' {$STAMP BS2sx}
' {$PBASIC 2.5}
' -----[ Declarations ]----------------------------------------------------
adcBits VAR Byte 'declareing variable (ie adcbits is variable)
adcBits1 VAR Byte
' -----[ Initialization ]--------------------------------------------------
CS CON 0
CLK CON 1 'declaring pin constants (ie cs is always pin 0)
DataOutput CON 2
CS1 CON 12
CLK1 CON 11
DataOutput1 CON 10
' -----[ Main Routine ]----------------------------------------------------
DO
GOSUB ADC_Data ' gets the data
GOSUB led 'related the led to sensor
GOSUB Display1 'go to subroutine to show the numbers
LOOP
' -----[ Subroutines ]-----------------------------------------------------
ADC_Data: 'runs the commands for the ADC
HIGH CS
LOW CS
LOW CLK
PULSOUT CLK, 210
SHIFTIN DataOutput,CLK,MSBPOST,[adcBits\8] 'declare value of adcbits
HIGH CS1
LOW CS1
LOW CLK1
PULSOUT CLK1, 210
SHIFTIN DataOutput1,CLK1,MSBPOST,[adcBits1\8] 'declare value of adcbits
RETURN 'returns to main routine
led:
IF adcbits >= 024 THEN LOW 8
IF adcbits <= 023 THEN HIGH 8
IF adcbits1 >= 024 THEN LOW 9
IF adcbits1 <= 023 THEN HIGH 9
RETURN
Display1: 'opening and running debug window
DEBUG HOME
DEBUG "hex value: ", DEC3 adcBits, CR
DEBUG "hex value: ", DEC3 adcbits1,CR
'no person = steady 0, 1meter = between 2-50
RETURN

Artists: Other

- Roxy Paine (http://www.feldmangallery.com/pages/exhsolo/exhpai97.html
- Rebecca Horn (http://www.the-artists.org/ArtistView.cfm?id=507A019C-26A5-4288-A01274A99AF6DC44)

Artists: Mary Flanagan

"artist; inventor-designer-activist, NYC; professor + director, tiltfactor research group, Hunter College." (from her site). Media art. Gaming. Activism. Gender Studies. and the cross between them all.

For those interested in video art, gender, 'women's work' - check out Kaleidoglobe. Also an intersting projection challenge.

Her site is http://www.maryflanagan.com/.

Image from her online interactive game.

Artists: Tiffany Holmes

Interactive installations, interactive CD-roms. Lots of video projection. Her site has many Quicktime movies documenting the work. She deals with the body, culture, and science. I prefer her generative coded artwork (like in this course.) which tends towards the cellular and life-like.

See her site at http://www.tiffanyholmes.com/.

Artists: Ingo Maurer

Okay - so he's not really an interactive artist, but he does a lot of beautiful product design using glass and lights. His techniques for setting LEDs into laminated glass are great (you really can hardly see any wires).
See http://www.ingo-maurer.com/ - go to Products, and LED Lamps, then the LED Bench. Sarah - many cool architectural projects in here too. The LED Bench, 2002