I spent two years at the University of Virginia in the Media Studies Department, building tools for humanities scholars. Here are the projects I contributed to. These projects will be released under an open source license.


Ivanhoe allows multiple "players" or research students to undertake a collective investigation of a given text or field of texts by manipulating and transforming the material in order to expose features and meanings that the original text or field of texts ignores, suppresses, or puts at the margin. The playspace licenses imaginative acts of re-interpretation — as if one were to ask: how would Scott's Ivanhoe look if its materials had been so arranged that the novel ended with the marriage of Ivanhoe and Rebecca (an outcome many of its initial readers wanted and thought the novel demanded)? It is a tool ideally suited both for pedagogical and classroom work, and for high-order investigations of difficult literary questions (for instance, how to edit Blake's The Four Zoas). The tool emphasizes and encourages interpretive subjectivity, on one hand, and collaborative interaction on the other. A notable feature of IVANHOE is that players make their interpretive moves not in propria persona but en masque. This procedure multiplies the game's power of self-reflection — one of its signal features.

Ivanhoe has been used in classroom settings in undergrad and graduate level humanities courses at UVA and elsewhere. The Ivanhoe website has lots more information and a demo version of the game.


Juxta is an interactive collation tool. Juxta compares dozens of texts at a time, fluidly changing perspective, taking any of the texts as the base text for comparison. The comparison results are displayed as a “heat map” overlaying the document text. The darker areas show areas where more documents differ. Clicking on a highlighted area brings up a list of the differences at that location. A histogram graph allows the user to quickly locate hot spots in the text. Differences can then be annotated and output as a web site. Juxta can operate on lineated or unlineated text.

I designed and wrote Juxta, working collaboratively with the smart folks at ARP. Juxta is now 1.0! You can get it here.