Alice's Adventures in Wonderland Revisited expands on the first two iterations of "Alignment" and gives the reader multiple ways to read Alice in Wonderland by finding sentences that lie vertically across the text's paragraph structure. The result is a block of text that can always be read "normally" (left to right, top to bottom), but can also be rearranged (by clicking on whitened words) to reveal new, vertical sentences for further reading.
All of the sentences in this block of text are generated using a markov model. This maintains the consistency of Lewis Carroll's voice and makes it possible to form many unique sentences that use the same language. The vertical sentences, however, are markoved from specific chapters in Alice in Wonderland, while the horizontal ones use the full story as a source text. Each click on a white word rearranges the text to move the reader around a chapter. The reader can also choose to leave a chapter and move on to the next by pressing the spacebar. The vertical sentences carry a (slightly) more consistent plot, and the horizontal ones give the broader context that surrounds each chapter. The reader can see where the words in each chapter are used throughout the book and read part-way down a vertical line and then switch to reading horizontally to find further correlations. The result is an entirely different, less coherent, and hopefully enjoyable way of reading Alice in Wonderland.
While Alice in Wonderland is an acceptable text to use with this shifty interface (which is yet unnamed), I think that the piece would benefit most from a text that was written specifically to be used in this program. Although I am not certain what qualities a piece of writing needs to work best in such a space, I would guess that less order-dependent, more character driven pieces would complement it the most, which is part of the reason I chose to use Alice in Wonderland.
This project is inspired by many of Tim Ramick's works including Alloy and Meld.

Alice's Adventures in Wonderland Revisited
History
This project has gone through a lot of subtle changes since its creation, so this section is intended to document some of those changes that one might not see by simply looking at different iterations of untitled.
I started with a program that would vertically search through a block of text, looking for sentences that appeared in the source text and coloring them. I'd like to return to this idea at some point, but my earlier iterations were not very succesful at finding complete sentences. So the first major change I made to the program came after a couple ofpeople told me the same thing: to generate vertical sentences first and synthesize the horizontal ones afterwards. This feedback led to Alignment (see above link), which had a visual aesthetic that I've stuck close to since its creation.
Since then, and in order to make the reading feel more continuous, I added the effect of fading out previous white sentences to grey, so that they become a part of the main body, and fading in new white sentences from the grey, so that they emerge from text that is already partially on-screen. This was supposed to suggest that there is but one chunk of text (which is a lie), and that the reader is simply passing through it, rearranging it, and finding highlighted vertical sentences along the way.
I'll mention here that these were the changes that I expected not to be noticed (besides the flashy intro). From here onward, most everything I did was "behind-the-scenes" and invisible but to closer readers.
In order to make the reading infinite, so that one didn't just cycle through the same preloaded five sentences over and over again, I had to change data structures from Arrays to some kind of List (I went with ArrayLists because I am most familiar with them). I was then able to successfully make the reading endless. After each alignment, a new sentence would be generated and positioned at the irregular edges of the main body of text.
At this stage, the horizontal sentences were being generated with the markov's getCompletions function, but I was really only using that in order to find actual sentences in the text that had the words I needed. This was neither a good use of a markov nor what I wanted it to do so I changed the arguments of my getCompletions functions to be only the first/last four words of the forming sentence instead of the entire thing.
Next I added a functionality I had wanted for a long time which just ensured that clicking on white words on the side of the screen would align them a little towards the center, so that they'd still be readable. There were difficulties with this (and really with anything new I wanted to do with the alignment of sentences), and I began to realize that I probably hadn't used my data structures in the most effective way, but everything worked, and it wouldn't be worth restructuring, so I kept going.
I had long wrestled with the lack of interest most viewers tended to have with the grey horizontal text as compared to the vertical white text. I tried moving unreadable edge fragments away from the central, complete sentences, which occasionally had an appealing visual effect, but this movement also pushed away future white words offscreen. In addition, I think I like the sentences that run off. Although the reader can't always finish them, he or she can wait for them to move into more readable positions.
In the project's current iteration, I tried to overcome this lack of interest in grey sentences by forcing the reader to look at the grey text for a certain amount of time before the white words fade in. I don't think this is completely succesful. Zach McCune recently gave me the brilliant and simple idea to just highlight entire horizontal lines instead of vertical ones every once in a while, so I might try this out in future iterations.
After talking in class about what text I was actually going to stick in this interface, I ended up liking the idea of modifying Alice in Wonderland so that the horizontal sentences were from markoved Carroll and the vertical sentences were my own creation, so I began to read the book. I wrote down words that I thought I could use as I read and began to realize (for some reason unknown to me) that I might be able to write an Alice in Wonderland erotica using only Lewis Carroll's language. I ended up writing down words like "peeped", "nibbling", "housemaid", and more obvious things like "blows", "lips", "wet", and "pleasure". I wrote sentences like, "Alice and the White Rabbit were but two of the animals trembling at the party", "You are full of mischief, said Alice as the Mad Hatter went on nibbling at her neck", "The Mad Hatter often spent time with his eye to his telescope, peeping on Alice's pink and golden parts", and "What sort of mushroom have you slipped in my mouth? she asked." Thanks to some feedback from some friends, I realized that these sentences were not terribly interesting. In fact, I discovered that any different story I wrote with Carroll's words would be "too easy." It would be something that could be done with any text, and it wouldn't be unique or compelling, and I ended up really disliking the idea on which I was previously set.
So I began to think again about how I really wanted this piece to just be another form of reading a story and how I wished I could write the text for it if only I had enough time. I discovered that there really wasn't any reason for me not to use the text I'd been staring at for the past month with this "different form of reading" idea, and that was that. I had previously thought the chapters would be too short for proper markoving, but it wouldn't actually matter. The vertical sentences would just be very similar to the original text, but the experience of reading would remain just as changed (almost). So although I won't get a chance (until the Summer) to write something with the intention of it getting markoved, which should be interesting, this project remains much closer to my original goals than I think anything else I've tried so far.
Unkempt Things from the Past Lie Below This Red Sentence.
Untitled (iteration 0)
Untitled (iteration 1)
Untitled (iteration 2)
Untitled (iteration 3)
Task List (1 is high) <--------- out of date
1) Text Block Creator -- creates vertical and horizontal sentences (necessity: 1; difficulty: 3)
2) Sentence Aligner -- rearranges lines of main text blocks to display vertical sentences (necessity: 1; difficulty: 4)
3) Plot Advancer -- creates some sort of evolution or development in the text (perhaps a grammar?) (necessity: 1; difficulty: 1)
4) Text Block Highlighter -- highlights readable sections of main text block (probably defined by lines that begin on-screen), perhaps by physically separating non-readable sections from readable sections (necessity: 4; difficulty: 2)
5) Text Tracer -- shows the reader how he or she is progressing through the texts (necessity: 1; difficulty: 3)
Risk Areas <--------- out of date
1) Finding complementary texts to markov could be a challenge. I'll need to break one up into sections in order to create the developing plot. Perhaps I'll use a found text as the source and write my own texts or supplement another text to make the texts for the verical, plot-moving markov. Whatever the case, the project could fail if I can't find a way to enforce a coherent plot development.
Schedule <--------- out of date
4/25 - Make sure all generated sentences are complete. Begin finishing text cycle (how the lines move and reveal new white words).
4/26 - Keep working on text cycle.
4/27 - Finish text cycle (try to get feedback in class and at salon).
4/28 - Begin working on the markov-switch (the thing that drives the development) and looking for a text to use/augment.
4/29 - Continue work on the markov-switch and begin to divide the found text into useable chunks.
4/30 - Keep working with text. There are bound to be things that arise that need solutions by this point. Work on those.
5/1 - Finish markov-switch.
5/2 - Complete the "readable-text highlighter."
5/3 - Complete the "text-tracer."
5/4 - Finish things, and keep finishing things until the presentation date.