Posts tagged in IxD

March 19, 2012

IxD Studio, project 3: Sound Garden v.1 is an interactive installation investigating the sounds water makes on various surfaces. Of the three objects used in our protoype, the potted plant was the most successful. Each leaf creates a different sound depending on its size, shape, proximity to other leaves, and location on the plant. For the final exhibition, we’d like to use a few more plants of different species. Our main purpose in using containers of water was to recreate some of the elements in the zen garden, such as the bamboo fountain and the pond, but because the plant was so successful, we intend to focus on that aspect for the final show at the end of April.

We also have photos!

Permalink: http://tmblr.co/ZtI-YwIFbPAT

February 15, 2012
The past couple weeks have been a haze of misery, despair, and Processing code, thanks to a data visualization project for Interaction Studio. It’s due on Thursday, so I almost backed out of tonight’s AIGA studio tour in favor of getting more work done. I’m glad I didn’t: seeing Stimulant's work reminded me of why I'm doing this to myself. Check out their awesome installation for Intel’s booth at CES 2012 (I’d embed it, but Vimeo won’t let me).

The past couple weeks have been a haze of misery, despair, and Processing code, thanks to a data visualization project for Interaction Studio. It’s due on Thursday, so I almost backed out of tonight’s AIGA studio tour in favor of getting more work done. I’m glad I didn’t: seeing Stimulant's work reminded me of why I'm doing this to myself. Check out their awesome installation for Intel’s booth at CES 2012 (I’d embed it, but Vimeo won’t let me).

Permalink: http://tmblr.co/ZtI-YwGS1aJU

December 14, 2011

final submission zip

Permalink: http://tmblr.co/ZtI-YwDGdAs3

final submission

December 14, 2011

So here’s the splash screen for my final submission. I’ll post a video later this afternoon.

Like it says on the screen, it displays weather data for one of four predefined U.S. cities at a time depending on button input. Four push buttons were connected via Arduino, each corresponding to a single city. I had intended to include positive and negative reactions to local weather conditions based on Twitter posts, but I wasn’t able to get Twitter and Wunderground working together even after creating a Tweet class to keep the API calls separate. It’s very likely that I just don’t know what I’m doing when it comes to writing classes, though.

I got to this point with the Twitter glyphs without the Tweet class: http://ccaweather.tumblr.com/post/14144364198/above-image-is-the-result-of-the-following-code

And go here to see the class I attempted to write: https://gist.github.com/1483478

I also ended up changing the Arduino code to send a single character on each button press, instead of the full city name or even the three-letter airport codes. Processing wasn’t consistently reading the entire string on a single line, and consequently the button presses didn’t always work. It’s not an ideal solution. It might be better to do something similar to the VirtualColorMixer example on the Arduino website, which essentially has Processing read comma-separated values. I wonder if debouncing the button input would also be helpful.

Final code is below. I’ve also zipped it up in this post.

Permalink: http://tmblr.co/ZtI-YwDGc0A_

home stretch

December 14, 2011

Thanks for your advice, Francis! My buttons are now controlling the weather (data)!

Code:

Twitter data next, and then I’m done.

Permalink: http://tmblr.co/ZtI-YwDEkjgu

December 13, 2011

Well, I pretty much have everything working separately, but putting it together is resulting in errors. I think it’ll help to put twitter and wunderground api calls into their own classes. Here’s the latest working piece:

Permalink: http://tmblr.co/ZtI-YwDDuOX8

switching gears

December 13, 2011

I was getting really fed up with the weather & Twitter stuff, so I worked on the buttons for awhile. I found an example in Programming Interactivity that I started modifying. I integrated it with an earlier version of my project that doesn’t include Twitter data.

Permalink: http://tmblr.co/ZtI-YwDBr3GJ

December 13, 2011

Francis pointed out a couple things in several emails:

On line 158 of your sketch code, you’re trying to load an image for SFOIconURL when you’re parsing the Honolulu data.

Ok, fixed that. As for the Twitter stuff not working (the line in bold is where I was getting a NullPointerException after fixing the Honolulu icon URL):

Just looking at your code, I’d also be worried that you’re parsing for weather data first regardless if it’s a weather request or a twitter request:

void responseReceived(HttpRequest request, HttpResponse response) {
 //// check for HTTP 200 success code
 if (response.statusCode == 200) {
   println(response.getContentAsString());
   JSONObject results = response.getContentAsJSONObject();

   locationInfo = results.get(“current_observation”).get(“display_location”).get(“full”).stringValue();
   currentTime = results.get(“current_observation”).get(“observation_time_rfc822”).stringValue();
   tempF = results.get(“current_observation”).get(“temp_f”).floatValue();
   …

If it’s the response from a Twitter request, you’ll be getting a whole bunch of NullPointerExceptions from this code.

And because I didn’t get it the first time:

What request is being handled when the NullPointerException occurs?  As I mentioned previously, you’re handling all successful requests coming as Weather API requests, which will cause problems when the Twitter API responses start coming in.

I looked at the Processing console and it was indeed the Twitter data that’s being handled right before I get the error. I’ll be working on a solution to that tonight.

Permalink: http://tmblr.co/ZtI-YwDBnQqV

for future reference

December 12, 2011

Links so I can work on this over winter break or something.

SparkFun forum - 2x2 button pad
http://forum.sparkfun.com/viewtopic.php?f=14&t=24321

Diode Small Signal - 1N4148
http://www.sparkfun.com/products/8588

Permalink: http://tmblr.co/ZtI-YwDB5QvF

programming for interaction project proposal

November 30, 2011

UNDER THE WEATHER?
visualizing reactions to the weather on twitter

INTRODUCTION
Weather is the most immediate way in which we interact with the environment. We can’t help but be affected by it. It’s one of the first topics we reach for when we’re making small talk or idly posting to Twitter. But as we know, people’s perception of the weather is highly subjective: we’ve probably all overheard, or even participated in, a lighthearted debate over whether or not 50˚F is “freezing cold” or “t-shirt weather.”

Under the Weather? is a Processing app that juxtaposes positive and negative reactions to the weather for a particular city. When the program is run, the user is presented with a choice of four cities across the U.S. City selections are made by pressing a switch connected to the installation. Selecting a city will display a screen split horizontally into three sections: the top section displays the number of positive remarks about the weather made by people in that city, the middle section displays the current weather in the city, and the bottom section displays the number of negative comments.

IMPLEMENTATION
Weather data from four cities will be collected in a Processing sketch using the Weather Underground API. Tweets will be collected from Twitter’s Search API, which includes tools to search public tweets specifying parameters such as location, positive tone, and negative tone.

Buttons or switches connected via Arduino will allow the user to select the city for which they wish to see data. Weather data will be displayed in the center with the city, date, temperature, type of weather, and additional information.

The top and bottom sections contain glyphs that represent the number of tweets expressing positive or negative sentiments about the weather. Each glyph will represent one tweet. Twitter data will be limited to the past 6 hours.


Appendix A: Hardware
Button Pad 2x2 - LED Compatible
http://www.sparkfun.com/products/7836

Button Pad 2x2 - Breakout PCB
http://www.sparkfun.com/products/9277

Button Pad 2x2 Bottom Bezel
http://www.sparkfun.com/products/8747


Appendix B: Software Libraries
HTTP Library for Processing
http://francisli.github.com/processing-http/

Weather Underground API
http://www.wunderground.com/weather/api/

We Feel Fine API
http://wefeelfine.org/api.html


Appendix C: Sample Code & Tutorials
Twitter API: Search by time
http://stackoverflow.com/questions/6819211/twitter-search-api-searching-by-time

Using the Twitter Search API
https://dev.twitter.com/docs/using-search

Your Random Numbers - Getting Started with Processing and Data Visualization
http://blog.blprnt.com/blog/blprnt/your-random-numbers-getting-started-with-processing-and-data-visualization

Using SparkFun’s 2x2 RGB LED Button Pad with an Arduino
http://www.aarongoselin.com/active-posts/28-using-sparkfuns-2x2-rgb-led-button-pad-with-an-arduino

Final project proposal [PDF]

Permalink: http://tmblr.co/ZtI-YwEJM-40