The Assignment:
Pick a known narrative (or create your own) and give the ‘reader/audience’ control over it. These will be performed next week.
My Challenge:
Coming up with an idea in a reasonable time — and then implementing it. I didn’t connect with much in the readings this week, save for the “Design as Storytelling” piece. So, hearkening back to the whirlwind days of making work for Spatial Design, I finally forced myself to crank out this project yesterday.
What Happened:
I build a Mad Libs Karaoke Machine using Processing and a little bit of sneaky AutoHotKey macro trickery. The program, which look quite a bit like a minimalist PowerPoint presentation, prompted the audience for a series of words, under the premise of collaboratively writing a story. As the audience responded verbally to the computer, I typed in their answers. After the final word was entered, the program took all of the audience-selected words and inserted them into a specially tagged version of lyrics for “Hotel California.” The audience was unaware of the gag they were about to participate in: the story they were writing was really an alternate set of lyrics I was going to sing with them. They were surprised to hear the familiar guitar arpeggio as the song began. I was more surprised when my program crashed before I could move to the first line of modified lyrics.
That was a big bummer — but I think I proved the strength of the concept.
I started off considering some of the stories I like. Many of them are novel length. At this point, I wasn’t sure which of the three assignment options I was going to do, but I was leaning towards the audience driven narrative.
I really like the The Rocking-Horse Winner by D. . H. Lawrences, and I played with physical interfaces ideas I could build to allow an audience to control the story. After my recording of the story clocked in at 39 minutes, I knew I needed to do something else for a five minute performance. I was really hoping to build something physical for this assignment, but the time I allowed myself didn’t seem realistic to accomplish something physical (or perhaps something physical and as involved as I was considering).
Kelly and I were bouncing around ideas for other things to do and she mentioned mad-libs. Too simple, I thought at first (oh hindsight, thy vision is perfect and thy irony knoweth no boundary)
Trying to constrain the parameters of the project, I started looking for shorter stories to work with. One extreme was “For sale. Baby shoes. Never used.” — apparently attributed to Ernest Hemingway. I considered an interface for mixing the pieces of the story around, but again, thought it was too easy.
I remembered some of the 55 word stories from the Comm Lab assignment. One of them I found was a distillation of the Lord of the Rings trilogy into three short paragraphs. It made me laugh, so I thought something like that might have potential. Maybe I could condense “Rocking Horse Winner” in the same way, but then it would need to be serious….
One good constraint I added to the project was that it needed to be fun. I wanted to be able to laugh while performing the project, or at least make the class laugh.
The phrase, “The quick brown fox jumped over the lazy dog” came to me, but didn’t offer much promise. Then, I returned to “mad libs.” The idea of writing one seemed daunting, so I tried to figure out a way to tell a fun story that wasn’t really dopey sounding. This led to a search for popular narrative songs to hack up into mad libs.
My initial list:
axis bold as love
hey, joe
daughter (pearl jam)
walk on the wild side
hotel california
piano man
The song needed to be popular (familiar — and easy to sing as karaoke), narrative, and not too serious (so hacking it up would produce laughter rather than disgust). In the end, I selected “Hotel California” by The Eagles for my Mad Libs Karaoke Machine. It doesn’t make sense to chronicle every stage of producing the project, but a few important points I want to remember are:
1. Trying to prototype using Open Office Basic was not the result of clear-headed thinking. I thought the scripting environment would be much like Office VBA (which still can be a bit of a pain). The “service” model for OO is really unpleasant to try to dig through. I started off that way at first to avoid having to deal with text entry and sound in Processing. I should have applied a very stringent time limit to this experimentation.
2. I was happy that I was able to hack away at this. Several times I stopped myself from trying to optimize some of the code. I was trying to solve for a more general case and allow for future expansion. The key point to remember is — hey, there might not be future expansion of this prototype — and why lock down the code so soon.
3. Failsafe measures are really important. I had a backup plan for recovering quickly if the music didn’t start playing, but I didn’t have one for recovering if the “slides” didn’t advance. It is critical to take the time to examine a performance system for its failure points prior to performance. I missed a big one.
4. It might be a good idea to keep the words in a file so a crash doesn’t lose all of the audience’s work. My sense is that I could have gracefully worked around the crash if I had the words saved, but I couldn’t restart the performance from the beginning. The novelty of the questions would no longer be there — and it would be an intense 3-4 minute process, that might fail again. That would have been too much to ask from the audience.
This might make a fun toy for TNO…

