Music256b Final Project

Exquisite Cache

A social, location-based, sound-image game

Luke Dahl, Winter 2010

The idea

The original goal of this project were to create some kind of social interaction on the iPhone that includes some audio or musical aspect.

My app is called Exquisite Cache and it combines two ideas: Geocaching and Exquisite Corpse games. Geocaching involves leaving objects at locations for others to find.  Exquisite Corpose games typically involve a group of people constructing a story or picture in a sequence. Each person creates one part, but they cannot see the entirety of others' contributions.

In this app a 'cache' is a sequential strings of images and sounds which is virtually cached at some location.  A user can create a new cache by physically going to some location, they then take a picture and record a short (less than 12 seconds) sound to accompany it.  Users can use a mapview in the app to discover existing caches and view them.  Users can also add to a cache by physically travelling to the cache location, and then taking a new picture and recording a new sound.  Subsequent viewers of a cache see a sequence of previous images accompanied by their sounds.

 

How it works

Users interact with this game with an iPhone app called exqCache, which is buikt almost entirely in Cocoa and uses the MKMapView to display google maps, MKAnnotationViews and related protocals to display caches on maps, and  UIImagePicker for taking photos.  The momu api is (or rather will be) used for audio in and out.  Cache data is stored on a mySQL database and php is used for talking to the database.

My Code - how it doesn't work

This app is incomplete and buggy.  I struggled with many technologies which were entirely new to me.  Right now most of the interactions are implemented with images, but it will crash frequently.  Sound capability will be added when everything else works (that's the easy part for me.)

Here's the code for the app if you want to look at it.  I don't recommend running it.  Email me if you want the php code (currently only runs on my machine.)

exqcache.zip

Evaluation of project

I learned a ton while working on this.  I had absolutely no previous experience working with databases of any kind, mySQL, php, or parsing xml (required when getting data from the database.)  Also my previous experience with cocoa was very limited, and this project required figuring out quite a bit of cocoa-specific coding conventions as well as the use of specific iphone sdk objects.  I would like to add that mus256b taught none of these things.  A few code examples were provided (thanks Jorge and Nick!), but otherwise this project was learn by process of try, fail, repeat.