ICM, Week 9, PHP

December 19th, 2007 by cdh263

Fun.

RETREIVING FILES

Dropping the following code string into the URL address field, the file pops up on my desktop as a downloaded file.
http://itp.nyu.edu/~cdh263/F07_ICM/Week9PHP/WaterfallFileFunction.php

The following do not seem to do anything
http://itp.nyu.edu/~cdh263/F07_ICM/Week9PHP/WaterfallFileGetContents.php
http://itp.nyu.edu/~cdh263/F07_ICM/Week9PHP/WaterfallOpenReadClose.php

ECHO COMMAND

Dropping the following code string into a URL address field, “Hello World” pops up in the Window.
http://itp.nyu.edu/~cdh263/F07_ICM/Week9PHP/hello.php

Toy Emissary

December 15th, 2007 by cdh263

Physical Computing and Computational Media – Final Project
Armanda Lewis, Cynthia Hilmoe

Toy Emissary with Table Toys Toy Emissary with Table Toys
A Curious Switch Wiring Toy Emissary

The Project Experience:
A great learning experience. Though it may seem straightforward from the outside — a box with some switches that activate lights, mechanical sounds and text — the project involved some tricky coding and persnickety circuitry. Considerable debugging made me a more confident “coder” and more experienced in physical computing. The project was a worthwhile effort that kept me headed towards my desired level of competency.

What is it?
The Toy Emissary is a felt-covered box with switches and buttons that tempt the curious. The Toy delivers messages displayed on an adjacent screen; makes noises and lights LED. Messages entered from an accompanying keyboard by one person are retrieved by another person by playing with the switches in combination. The recipient can pass text back by doing the same thing.

Motivation Behind Making the Object:
This is the beginning of an exploration into how interactive media can be used to help engage and empower communities or individuals faced with solving ambiguous, complex or contentious/divisive issues. The idea is to provide a playful environment where conversations, imagination and out-of-the-box thinking is stimulated among people with diverse interests. The goal would be to create common ground, build trust and a sense of hope and unity as a precondition to tackling the difficult issues. The objects and their installations would provide the platform for sharing stories, images and information that daylight implicit values and investments that transcend differences within a community.

A sketch
This sketch offers some examples of how they might be deployed: Community Bulletin Board made of hook material holds Sticky Balls borrowed by community members like library books. Mobile Kiosk for County Fairs and other public gathering spaces. Traffic Light Post Wheels (mechanism like a zoetrope or slot machine cylinder).

Project Scope:
In this project, we tested the idea of passing information between two people using a Toy Emissary. We postponed user testing until code and circuitry could be fully debugged.

Precedents and Inspirations:

    Table toys: observations illustrate the effect these toys have on interactions between people and individuals of all ages— stimulate playfulness, imagination, outside-the-box thinking and unsolicited mingling and conversation.
    Cultural: Message in a bottle; couriers (in ancient times, the very personal wax-sealed parchment);
    Yellow Bike Movement: Publicly placed bikes that circulate freely. Community trust; investment and empowerment; word of mouth. http://www.ibike.org/encouragement/freebike-details.htm
    Community Design Team experience: observations illustrate the power of hyperlocalism design initiatives.
    StoryCorps
    Stationary Information Kiosks: Interest in making functions mobile.

Challenges, Research and Experimentation:

Observation:
Before making this object, we observed the effect of randomly distributed table toys within a public environment. People easily approached the objects. Handling the toys, people gave them names, making them their own in a way. Typically, people turned to others nearby to share their amusement with the toy. While the conversations were initially about the toys, people soon were associating the experience with their dreams, aspirations and beliefs. People replied with encouragement, prompting the person to troubleshoot life’s obstacles.

Feedback:
Before making the object, we posed a set of questions to test the concept. People agreed that human communication, especially concerning difficult topics, could be helped by intervening objects. One person recounted a story in which he printed a message to someone to a printer, emailed the person to pick up the printout and bring it to him, knowing full well that she’d look at the contents. It worked like magic. Other people suggested the Toy Emissary could be used as a joke or Mad Lib box or in counseling and therapy.

Circuitry:
A goal of the project was to provide an intriguing complement of switches and playful responses as curiosities. Because analog switches proved persnickety and complicated the Processing side of the code, we focused on digital switches. We built a copper mesh and snap switch and included buttons. We abandoned flex sensor after reviewing information about resistance response on the ITP Sensor wiki. We tried alternate power sources (9V, 12V) and researched transistors trying to remedy inconsistent performance.

Computer Programming:
We decided that Arduino would manage the sounds and LEDs in response to turned switches and Processing would deliver the text in response to sequences of changes in switch state. We faced two main challenges in programming the box as we intended:Keeping track of the change in switch state;Remembering the sequence of changed switch states.

Click here for links to the code: Combination Lock Code, In-Unison Code, TestCount.
Combination Lock
In-Unison
TestCount

Initially, we talked about using switch patterns based on order (combination lock) and unison (simultaneous). We knew from the feedback we received to avoid interfaces that might frustrate the user. However, we also wanted to rely on chance as much as possible without hard coding the experience within a narrow range since users would experience the box multiple times.

Armanda initiated code for these two sequencing frameworks. In the process, I focused on developing code for keeping track of the switch state, debugging the Processing code with the circuitry and tweaking the Arduino code to provide playful feedback using mechanical sounds and LEDs.

At this time, the combination lock code works with our prototype circuitry and the in-unison code works with our final box circuitry. We prefer the combo lock code. The in-unison code is awkward; some of the switches are hard to hold down at the same time as others. Ongoing troubleshooting is a bit ambiguous. For some reason, Processing is not receiving the sensor values from Arduino in the combo lock version. Using serial.print/DEC and the serial monitor, we have verified that Arduino is reading the values. The box switches activate the electronic outputs managed by Arduino. Two different Arduinos have performed the code successfully using the prototype circuitry. The code, both Arduino and Processing work with a prototype circuitry. The problem may lie with serial communication code. I will continue to play with the circuitry, too.

While looking for the best way to keep track of change in switch state and remembering switch state sequence, I also tested an edge detection counting method. Edge detection for simple counting code didn’t appear to accommodate multiple switches operating fewer outputs. I looked at Shiffman’s Example 9.5, Snake following Mouse as an interesting template for keeping track of the sequence of changed states in a way that relied less on hard coding for the text response. Boolean variables seemed like a complementary option for tracking the change in switch state. Time prevented full investigation into these options.

Armanda developed a text entry interface built in JAVA, which we ultimately abandoned in favor of building our own in Processing. We both worked on various versions of reset code based on counting groups of changes in switch state.

Lessons Learned

    Pseudo Code helps communicate intentions between partners as well as develop code.
    Seek continuity in help received to avoid being pulled in too many directions because of reinterpreted goals or preferences in coding approach.
    Ohms Law points in the right direction, but is not necessary accurate.

Future Directions:

Untether:

    Incorporate XBees in order to operate the objects in the field remotely, enabling information/content updates and collection and to make the “objects” (users) talk to each other.
    Incorporate serial LCD monitors and keypads to untether from laptop computer.
    Power Source: Incorporate sustainable off-grid sources for remote maintenance and operation.

Interface:

    Aesthetics and Design of the Object: Make more audience specific. The soft cover makes people think the object is more for children than adults. Size and shape the object for easy handling. Make the object more “poetic.”
    Text Entry Interface: Develop better instructions. Revise code to pop up instructions to recipient for how to reply.
    Templates or Text Display Choices: Create templates or radio buttons or drop down menus to provide user with formats, text animation and attributes consistent with the intention of the message. Some suggested uses: Community Engagement. Psychological therapy. Mad Libs and Jokes. Sharing tender or difficult feelings. Congratulatory or Thumbs Up.

Coding and Operation:

    Make the object response more sophisticated. Right now the text response from the object is somewhat hard coded using switch combination lock or in-unison language. Investigate how chance might be incorporated in a more sophisticated way without frustrating the user. Continue to explore edge detection, Boolean variables and arrays.
    Modify Processing code to accommodate analog switch data.

Sketch Insert For Toy Emissary

December 15th, 2007 by cdh263

ubiquitoustoysforweb.jpg

Mary Oliver’s Poem “The Gift” — Audio Study

December 3rd, 2007 by cdh263

Communications Lab Week 13

After reviewing my work from the semester so far, I decided to revisit audio to produce something to my standards of quality (for now). I developed a storyboard to help guide me in crafting a soundtrack to Mary Oliver’s poem The Gift. The poet interacts with a mockingbird as she idles in a field, picking blueberries and lounging in the sun.

I focused on the soundtrack, but I am motivated to complete the corresponding FLASH animation in the near future. The storyboard is very complex, encompassing several scenes. Incorporating images of mockingbirds that I gathered from the Internet, I would make a simplified version that had a mockingbird moving through space on a guideline that responds to the audio track.

Storyboard 1
Storyboard 2
Storyboard 3
Audio Track

In Hot Pursuit of a Turkey

December 3rd, 2007 by cdh263

Communications Lab Week 12
Flash Animation
It’s Thanksgiving. Home with family, I am under the influence of my nieces and nephews. Yet, as is my practice, I found humor in the dark side of my favorite holiday of the year. My storyboards do not portray my final idea, but get me going in the direction of a turkey coming over a hill being pursued by hunters, depicted as two silhouettes of pilgrims. Never completed the animation; struggled to get FLASH. My process is recorded in the rough storyboards, my attempt at FLASH, and Marianne Petit’s remedy to my problem of getting the turkeys coming over the hill.

Storyboard
Flash Animation
Flash Fix

Physical Computing & ICM Final Project, Week 5(4)

November 29th, 2007 by cdh263

Toy Emissary — Ongoing DevelopmentFabrication: Muslin mock-up completed earlier in the week provided template on which to sketch switch tabs and take measurements for final felt cover. Finished fabricating the cover, drilling holes in box for wiring and securing breadboard and Arduino to inside of box. Using regular equipment rather than Arduino mini since it just fit inside box. Good thing since I had not ordered the reset button — SparkFun out of stock - 4 week wait; on slow-boat from China.

Circuitry: At conclusion of week, determined some of our homemade switches (flex, snap, conductive fabric) and playful responses (light, rattle) were not working as planned. (Got advice to avoid conductive velcro for now.) Troubleshooting will have to wait until we get a jump on some code revision, but will go ahead and develop two different options to replace the conductive fabric switch: copper mesh push-button or flap and FSR push-button.

Code: Got basic code working with surrogate switches. Met with D. Shiffman about JAVA text boxes and reset function. Partner and I talked more about interactivity issues (playful responses and text effect). Armanda will focus on the former; I’ll focus on the latter along with switch integration.

Physical Computing & ICM Final Project, Week 4(3)

November 20th, 2007 by cdh263

Toy Emissary
Cynthia Hilmoe and Armanda Lewis

Spent most of the week gathering remaining supplies for the Toy Emissary and working on code. Red’s class presentation did require most of my attention.

Fabrication: Muslin mock-up in progress. In response to my phys-comp list email, Tom Igoe dropped off a breadboard setup with Arduino mini — includes two other components…the USB connection and a reset button.

Code: Armanda and I passed the code back and forth by email. In order to provide a baseline from which to communicate about what we want the code to do, I ginned up pseudo code. I took a stab at coding the relationships between the switches, playful responses and the text displays. I also spent a serious chunk of time annotating the serial and text string framework that Armanda had built to make sure I understood it. Hope to cover questions with her or Resident Researcher. Resident Researcher availability is limited this week — Thanksgiving Holiday, etc. Will continue a conversation with Rob Faludi about “good” pseudo code after the holiday.

Storyboard for Flash Animation

November 20th, 2007 by cdh263

Communications Lab Week 11

I decided to work alone on this project due to Red’s class presentation this week and Holiday travel next week. Pulled together two storyboards. The original one involved the word “snake” — the S transformed into a snake and the NAKE ran away from it. After considering Marianne’s warning about complexity, I decided to use the one linked below — ketchup bottles popping their tops.

Because this isn’t a full-length animation, some of the Frank and Ollie tips that Marianne covered applied more than others. I paid closest attention to ’squash and stretch’ and ‘anticipation.’ I paid less attention to ’staging’ and ’secondary action.’ Since the objects don’t have pendulum-like features, strictly speaking, ‘arcs’ do not apply. However, I had arcs in mind while drawing so maybe their essence is apparent. Tips ’solid drawing’ and ‘appeal’ were things I don’t necessarily have the skill for right now, but can aspire to. I didn’t understand the notes about ‘straight ahead and pose to pose animation.’ I had trouble depicting some of the the following techniques in the storyboard, but anticipate dealing with them during actual animation work: ‘Follow through and overlapping action,’ ’slow-in and slow-out’ combined with with ‘timing.”

Bottle Tops

Physical Computing & ICM Final Project, Week 3

November 13th, 2007 by cdh263

“Toy Emissary”
Cynthia Hilmoe, Armanda Lewis

ICM Summary

ICM Final Project Proposal: Groups submitted project proposal for ICM final during class this week. Someone from ICM class kindly volunteered to work with me on the project.Armanda and I reviewed work I’d done so far and got a start on the code. Scheduled help sessions with Demetrie and Dan for Week 4. Biggest challenge for now: confirming how Processing will be put to work. For now, we’re using a modified combo lock scenario.

Still collecting supplies and parts as the project logistics become clear. Ordered an Arduino stamp and USB connector today. RCA LCD arrived, but Armanda and I set it aside for now since it merely displays what the laptop does without serial communication. We’ll use laptop for display for now.

Next up: No later than midweek, we need to verify the test code; start refining the game logistics and exact role of Processing; and begin fabricating soft switches and building structure prototypes. I am not sure how much Armanda will want to work on the pComp elements. She is doing this projct for ICM, not pComp. I have Red’s Class Presentation this week and Thanksgiving week follows! Yikes.I think this is really officially Week 2 of the final, but I had tried to get a jump start because I knew Red’s class and Thanksgiving break would probably set me back.

Sound Piece

November 6th, 2007 by cdh263

Communications Lab Week 9 - 10
Ja In Koo and Cynthia Hilmoe

play this!

Gathering Sounds

M-Audio device makes collecting sounds a breeze. Although some of the sounds I’ve collected from off the streets of Brooklyn and Manhattan are shrill and loud, playback always calms me down. How perverse it can be to find comfort in the familiar.

Because of our conflicting schedules (partner involved in preparing presentation for Red’s class, etc.) my partner and I collected sounds separately and did not define our intention for final product at the outset.

Technique: Convert m3a files (iTunes music tracks) to WAV format
1. Itunes>Prefrences>Advanced>Importing>Select WAV encoding from drop down
2. Select song in main iTunes window.
3. From Menu Bar at top: Advanced>Convert to WAV. AppleI to confirm file format.

Compiling Sounds

My partner and I decided to create a mood / sound environment after reviewing our audio clips. After laying the foundation together, we worked separately on additional tracks. Piecing together sections from our found sound files into altogether new tracks was an unexpectedly painstaking process. By the last session I had a feel for where I was taking this; the work felt as good as it feels to pull together a meal from whatever is in the frig. Quite nice.

Things to think about next time

  • Children and teachers on a playground, conversations and general street noise do not produce much contrast within their audio signal. They are harder to edit as a result. They do not produce much content for cutting and pasting into compiled tracks in proportion to the time they take to record.
  • Set intention at the outset to help define types of sounds to collect. Among the things I’ve learned these last seven weeks: Especially for arbitrarily-assigned or forced group work, quickly define an intention at the outset, one that can be modified as the exploration unfolds. With that intention as a guide or glue, the group is usually better able to weather the difficulties encountered during execution without compromising the project’s integrity.