Ariel Lepor

ICAM 40

10/16/2011

Project 1: The Alice Project

The Alice Project is a play on hyperlinks, narratives, and websites. The very first topic discussed in ICAM 40 was (metaphorically, perhaps) rhizomes (plants with branching, spreading roots), the concepts of hyperlinks, and the branching of related concepts in general. The prompt for this project also got me thinking about "an interesting way to relay a narrative using tools we use" and "the functionality of hypertext and hyperlinks as well as how one can make choices in an interactive work." This came together, in my mind, as a website that tells a story through user choices.

My concept made many changes through its various stages, starting with a story about an endless tech support loop, changing to a game where users click through synonyms to try to beat the record and find a target word with the shortest possible number of steps, and finally to a story that, based on synonyms a user clicks, writes a customized story. Inspiration for how to customize the story from synonyms came from my research of Oulipian writing, works from the French Ouvroir de littérature potentielle. One Oulipian writing constraint in particular that sparked my creativity was "S+7," where every noun is replaced by a noun seven dictionary entries later, effectively changing what a text is about. In deciding what text to choose, I thought Alice's Adventures In Wonderland would be the ideal story to re-write, since it's been told so many times before. (Believe it or not, I haven't read the story before doing this project!) The choice also had the plus of being in the public domain, so there were no legal copyright issues to deal with.

My project, then, is to take the text of Alice's Adventures In Wonderland, have the user click on a hyperlinked word (be it a noun, a verb, an adjective, or an adverb), have all related words show up on the side (via an external Thesaurus API, in my case words.bighugelabs.com), and prepare this as a website. Upon clicking one of those words, a snippet of the story appears, with a matching noun, verb, adjective, or adverb having been replaced by the synonym (or antonym) of the previously chosen word.

The technical process of making this possible includes the following aspects:

  1. Code the framework and stylesheet of a website to display the project, and tag words in the story as being nouns, verbs, adjectives, or adverbs.
  2. Write a PHP script capable of loading the synonyms, in a JSON object, in a local file from the external API.
  3. Write the script, using JavaScript/jQuery, that can take the word that was clicked, send it to the PHP script for synonym retrieval, process the returned JSON object to get the list of related words in a usable manner, detect which of the related words the user then selected, find the next matching word in the story, replace the word, and show the new snippet.

Having already had experience with making websites in general, the first step wasn't very difficult (except this was the first complete site I made on the new HTMl5 platform), but the last two proved quite challenging. After much experimenting, I figured out the ideal way to use PHP to get the JSON object of synonyms. The JavaScript/jQuery front-end processing was also complex and required much effort to get a working algorithm and make all the functions do what I wanted them to.

In the end, I got a working product. I would have liked more time to put more of the story up, but at least I finished the first two paragraphs as a working concept. I can also see how improvements for working with grammar and making more dynamic snippets would be ideal, but alas, my resources for the project are limited.

I hope you enjoy the concept and writing your own version of Alice's Adventures In Wonderland!