Archive for October, 2007
Conveyor Player: Further Developments



New Changes:
- code more modular
- multiple items selectable
- items bounce on the conveyor belt
- energy meter below belt gives player a timed challenge, but everyone wins in the end
- cool end animation with falling boxes
Play game here.
No commentsComp Form Exhibition

Sinan interacts with grass. See more pictures from the show on flickr.
Download OSX application of the piece to run on your own Mac here.
No commentsCan Couch Surfing Go the Direction of User-Generated?
Couch Surfing is a non-profit company established in 2004 by a well-traveled IT consultant from Alaska named Casey Fenton. Fenton found a cheap plane ticket from Boston to Iceland, but had no place to stay for the visit, so resorted to emailing a request to 1,500 students at the University of Iceland. In end he found many people willing to provide him a place to stay and decided to start CouchSurfing.com to organize travelers and their hosts. It is free to join CouchSurfing—the site makes its money off of members who pay to have their legal identity verified through credit card. The group currently has 286,000 members from 223 countries, living and traveling in areas as remote as the South Pacific and Antarctica.
On the surface CouchSurfing is a social networking site for travelers and the folks who accommodate them. A couch serves as a metaphor for everything from a room, to an extra bed, a hut, or just meeting for coffee. Surfing refers not only to movement, but a freeness of spirit and risk within reason.
CouchSurfing users tend to play the roles of host and guest at various points in time, staying on the couch of a person and then in turn offering up their own couch to a different person at another time. The site even claims, “You don’t need a couch to join, as long as you anticipate sharing your couch sometime in your lifetime, or have already shared it, you’ve 100% welcome here.” Couch Surfing works, yet if a site such as eBay had an approach where goods were given out with the intention of one day getting back goods, the site would most certainly fail, as greedy members would take more than their fair share, discouraging the users with a more karmic approach to giving and receiving. In couch surfing one generally gives to receive.
The prevention of an imbalance within Couch Surfing is two-fold. 1) The commodity traded involves shared experience and cross-cultural learning and does not carry a set monetary value such as a hotel room, which provides guests an escape from the very influences and ability to influence that CS promotes and profits from socially. 2) There are community regulations and norms established on CS that are enforced through a feedback system recalling face-to-face interactions with members, often over an extended period of time of several days. Members openly comment on each other’s profiles, offering their firsthand impressions of a host/guest to the community.
On the profile of CS user Zondra Skertich, Andre Fleutte of McMurdo Station, Antarctica writes: “Extremely Positive. ah zondra. she was sick when we met…but we’re friends anyway. talented and fun! I always enjoy hanging out with zondra and james!”
The CS mission statement says the site intends to, “to network people and places, create educational exchanges, raise collective consciousness.” If CS relies so heavily on trust, how can it also succeed as a site of user-generated content, to further it’s mission goals? Does opening up CS for creative expression pose a kind of threat to trust? With these questions of in mind, let’s examine the user profile and the small amount user-generated content that’s already in place on Couch Surfing.
The CS profile provides fields for a user to enter a personal description, experience, interests, type of people they enjoy, locations traveled, languages spoken. These fields are text-only, and typically a paragraph in length. Members are also permitted to have photo galleries. The remainder of page includes personal references from other members of the site, and also feedback received and left by the couch surfer.
Also featured on the profile are icons of various objects, including couches, coffee mugs, and other symbols. Members may choose to add these to their profile. Icons are reminiscent of toys or free toys on Facebook, but whereas a unicorn or muffin on Facebook may represent an inside joke between users, the CS Icons contain universal meaning and serve as a visual filter when scanning user profiles. There are a number of variations on the couch icon that describe the users couch situation, a thumbs up icon for verifications ( members may donate $25 to Couch Surfing to verify identity with a credit card ), a globe icon to show that a member meets with others to discuss the CS community, and ambassador icon for someone who is an active in the community and has level three verification.
User feedback is crucial information for couch surfers, because it not only establishes trust; it is revealing of a member’s personality or interests, perhaps even more of an indicator than the user listing those traits and interests out on the provided form. On eBay the fact that a seller is into online gaming or a vegetarian—which could be inherent in a user name or bid history—is of little consequence to the buyer, yet to a couch surfer it can be a deciding factor as to whether a member will accommodate another, not simply in terms of hospitality, but also in terms of accommodating conversation. Couch Surfing is not just about giving someone your couch for a couple days while of they explore your home turf. User Rafael Nussbaum of Switzerland elaborates, “If somebody visits your place…it’s like traveling from your own couch, you experience the world through his eyes.” In this observation he is touching on the nature of the CouchSurfing commodity as being more than just a binary host/guest relationship, but rather perspective of empathy and learning, which merges these seemingly separate roles into one.
The user-generated portions on the CS website are currently limited to the Video page, which features two video—an infomercial and documentary—about Couch Surfing and one downloadable song about Couch Surfing; and the Surf Shop—a not-for-profit store, where users can sell custom designed merchandise that relates to couch surfing, including posters and clothes, and deal with proceeds on their own terms. Currently neither section provides a feedback forum for user-generated media. It is also unclear how and additional user-generated media can be posted once submitted. Nonetheless the additional of user-generated content is a slow and careful step in a new direction for Couch Surfers.
What would it take for Couch Surfing to become a community of practice—a place where user-generated content is presented for critique by fellow users? One would hope the site would allow users the ability to upload videos or their couch areas and surrounding communities—an easy add-on. The prospect of Travel documentation seems to be just as valuable to users, providing even more point-to-point links within the community. A challenge however exists in presenting the medium of travel on a webpage. Travel embodies both physical movement and personal relationships, moving person through a wide, multi-dimensional, psycho-geography. Travel presents a documentation challenge that requires a combination of different forms of media for realization on the web.
On Couch Surfing Google Maps are already used to display the countries a user has visited, and also for members to search for other users based on location, but the current web interface on CS could be developed further to allow users richer documentation of their travels. The technology is available to integrate video clips and images into maps, so that a trip might exist in a form where it could receive utilization and critique within a community of practice, as well as lesson the development load by linking in pre-existing methods for uploading videos and images, such as YouTube and Flickr.
In one example a user on course of a well-documented trip could be persuaded to modify their planned route along the Trans-Canada Highway, which would be on display to couch owners living along the route, who had filtered their search to see nearby travelers. These maps could also be overlaid onto the maps of other users, so that travelers might see where their route will intersect another user’s route, to facilitate a meeting point, or similarly see where they had once crossed paths, to facilitate a recollection. By pulling data from these maps, statistics could be gathered about routes most and least traveled—currently lacking on the Couch Surfing Statistics page. Furthermore a protocol could be established using a secondary set of profile icons to describe what travelers would be willing to do if they meet up with other travelers—go to a bar, have coffee, share a tent, etc.
Does a need for trust diminish the potential for user-generated media on CouchSurfing? On sites like Myspace we have seen users create an overwhelming amount of content that is subjective and registers as noisy to the outsider. Photos are strategically angled, edited, or not photos of the person managing the profile at all. If one were to simply scan profiles, as members of the site often do, we notice that Myspace users don’t share a common goal such as travel. CS user Ana Smith of from the United States says CouchSurfing is, “creating a world not full of doubt, but one of friendships, love of new people, and bridges.” For creativity and trust to coexists successfully, CouchSurfing, must stay the course of the real world; and venture as far as possible from the fantasy world or small talk world in which other social networking sites thrive. So long as user-generated media on the site is created to that end, as is the case with the small, but growing group of videos and songs that already exist on the site and narrative mapping capabilities that will likely exist in the future, user-generated content and serve to inspire and benefit the Couch Surfing Community.
No commentsOpen GL Grass: Midterm Complete



Project uses blade placement algorithm co-created with Che-Wei Wang. In it’s presentation on a computer display it can can be stroked using a mouse cursor, which moves the blades as if a light wind were present. View full-size image here.
source code:
No commentsOpen GL Grass: Midterm Progress
I set out with the goal to make the most realistic grass using OpenGL, with hopes for making it a bit interactive. Watch the video below to see mouse X axis position increase the number of blades drawn on the screen, as if mowed by an invisible lawn. Each blade is composer of 50 Bézier curves, sagging to the degree an average grass blade might after recent shower. For added realism I incorporated a gradient side-to-side; for a rounded look, and top-to-bottom; to indicate the presence of the sun as a light source.
Grass Video ( featuring a 3:1 aspect ratio )

Che-wei and I–who have worked on separate models up this point–are thinking about combining our efforts and making a lawn, where the user can type text into the grass.
Source Code:
No commentsCoveyor Game Update


Pictured here installed on a Mac at Seton Pediatric Center.
We also installed the touchscreen interface and button controller.
Improvements:
- start menu to control speed / usability functions
- three speeds
- two button modes
- begin button with delay between game start
- boxes nod if match is correct, shake side to side if answer is incorrect
- added small points once object is falling to the matching box
- animation for when points are scored
- working belts
- piston to push new objects onto belt
- some additional modularity in the code
Play it for yourself here.
No commentsInclusive Conveyor Game
After spending several weeks working on a plan and starting a beta version “Sunshine” the video game, I have decided to can this project, at least momentarily, to work on a game that is more playable and adaptable to the children at Seton hospital. I am collaborating with Charlie Miller on a matching game, where kids sort objects out moving down a conveyor belt. While the object drifts down the belt, a teacher can coach the student on their choice, before it’s said and done. Matches are at first made by pairing identical objects together, but eventually by association; putting all fruits into one bucket, all vegetables into another. Also, to make matters more challenging, will be additional conveyor belts and buckets incorporated into later levels. Players are rewarded with points, sound effects, and kudos from their peers. Play the beta version here.
Xbee Critters: A Midterm Proposal
James Daher, YouJeong Paik, Keith Conway and myself have teamed up for the Collaborative Mesh Network Midterm. Our assignment is to design build a network of involving Xbee radios that responds to two constant streams of numbers–one repeating (1,2,3,4,1,2…etc) and once cumulative (234,235,236,237,238…etc)–transmitted wirelessly from Professor Faludi’s Xbee module. An addition to the assignment is getting our network to interact with the data stream another groups network–there are a total of four in the class.
It was helpful for us to draw out some of our initial ideas on a dry erase board. The ideas ranged from wearables to modeling distortions in space-time. In the end we settled on creating spirit animal that each member of the group will bring with them during their day-to-day interactions at ITP. The critter, constructed from soft, laser cut material, will include mood input; a sensor ( flex, touch or otherwise ) that once activated will display the critter’s individual mood on head-mounted LED “eye lights.” The individual mood will also be broadcasted of “telekeneticized” out to the whole group of spirit animals to establish a collective mood, that will affect the brightness of an additional LED around the navel area of the critter. This allows the human counterpart to visibly determine the mood of his/her critter, as well as the mood of the whole.

The broadcasted repeated numbers 1-4 are used to read a response from each of four critters in turn, after which a collective mood level is established in the following function: (a1+a2+a3+a4)/ 4 = collective mood. This function is computed by all animals. The cumulative count works in a way that each number is a time stamp instigates larger mood swings throughout throughout the life cycles of these creatures, introducing new variables that might present mood challenges.
Here are some of the sketches posted on YouJeoung and James’s blogs:
Sketches 1
Sketches 2
The idea of Xbee critters is loosely inspired by the concept of dæmons presented in the novel “The Golden Compass,” by Phillip Pullman. Critters are essentially Dæmons 2.0 with the ability, through the magic of Collaborative Mesh Networking, to send their mood out to the collective.

Synopsis:
“The first book in the series, The Golden Compass / Northern Lights (confused?) introduces readers to the world of Lyra Belacqua - a precocious orphan who roams the streets of an Oxford parallel to our own. Lyra’s universe is similar to our’s, but different in many ways - not least in the existance of daemons, shape-shifting animals who represent a human’s soul. The nature of daemons is integral to the plot of His Dark Materials. ”
http://www.bridgetothestars.net/index.php?d=trilogy
Quotes from text:
“Lyra and her dæmon moved through the darkening hall, taking care to keep to one side, out of sight of the kitchen.”
“‘Oh, Pan, dear, I can’t go on! I’m so frightened ? and so tired ? all this way, and I’m scared to death! I wish it were someone else instead of me, I do honestly.’”
“‘Why do they do these things to children, Pan? Do they all hate children so much that they want to tear them apart like this? Why do they do it?’”
No commentsBezier Curves in OpenGL

Problem 1. Create a function that takes as input a number of steps, and draws that many points, evenly spaced between the last two mouse clicks.

Problem 2. Create a function that takes as input a number of steps, and draws that many intermediate shapes between a start shape and an end shape. The start shape and end shape should be defined by an array of vectors (i.e points), and should have the same number of points. Extra credit for those who can make this work for two shapes with an unequal number of points.

Problem 3. Create a function that takes four points (Vec2d) as input and draws a single Bezier curve based upon those four points.

Problem 4. Create a function that takes as input an array of points (Vec2d *) and the number of points in that array (int), and draws a shape composed of several consecutive Bezier curves.

Problem 5. Create a function that draws a head of hair composed of 500 bezier curves. Extra credit for highlights.
source code: Read more




