May 12, 2014 by Amanda Visconti

Infinite Ulysses: Spring 2014 Tech Update

As spring warms up and I'm rapidly approaching the halfway point for my dissertation, I realized I've been blogging basically all theory and design, neglecting a discussion of the tech choices I've been making. So: a quick update on the state of the participatory digital edition I've been designing and coding! (I'll blog some more in-depth posts about weekly tech work once summer begins and my full time belongs to the dissertation.)

I received a fellowship from my department to work full-time on the dissertation (starting in June). That full-time work (Full time, full time full time—as much as I love my job, can you tell I'm excited to devote the entire week for months to my project?), combined with the good place I'm at with my current tech stack, should result in some significant tasks finished by the end of August; I'll also be able to meet my goal of beginning alpha testing of the site this September. Additionally, I met with my awesomely supportive dissertation committee at the end of April to make sure we were on the same page as to what dissertation deliverables will look like at the time of my defense next spring, and everything seems to be on track (despite switching the core code off which I'm building the site).

What I've Been Working On

The last sixth months were devoted to wire-framing, blogging and working through every design challenge I could think of encountering, and reading up on existing work with digital editions and the online communities from which I'm drawing social mechanics (Reddit and StackExchange). I also set up an Islandora site on a VPS (virtual private server; like a web host, except in addition to managing your web files you manage the entire server as well), and spent some time customizing that and working with Modernist Commons' digital edition modules.

Switch to Building Off Annotator.js

I've moved from basing my site on Islandora plus Modernist Commons, to working on a straight Drupal 7 website (I'm keeping a close eye on developments of Drupal 8 so that I can upgrade the site when 8 takes over); as I mentioned in my post summing up what I learned about Islandora set-up, the Modernist Commons platform is very promising, but relies on several technical requirements that cost a lot of effort to use properly/maintain (e.g. a second database for Fedora in addition to the Drupal database (Fedora in particular was a resource drain in both senses: taking up a lot of memory = paying for more memory on my virtual server.) ) to support features much needed by the digital editing community, but out of scope or not applicable to my current project (Modernist Commons will be great at supporting collections of editions that want to incorporate versioning, TEI, and RDF). Modernist Commons is a great project that I look forward to watching develop, and I encourage anyone interested in developing that type of scholarly edition to get in touch with their team.

So: I learned some really useful sysadmin-type things, and I'm comfortable with Islandora if I ever need it for a future project. The current tech suite for my project is much better streamlined, only requiring the code needed to run my specific project, making it easier for me to create a generic set of code so that others can easily spin up their own participatory digital edition like mine.

I'm now building off the Javascript Annotator code from the Open Knowledge Foundation; there's already a (limited, slightly buggy, but very useful) implementation of a Drupal module to port this code to Drupal usage and to allow storing annotations in the Drupal database. My goal for this month (May 2014) is to finesse how annotations are stored; they're already accessible in Views, but tags aren't stored with the annotations (meaning that tags you create on annotations are lost with each page refresh) and existing Drupal modules for upvoting and other social mechanics aren't able to act on the annotations.

Summer Plans

Once I address those two issues, I'll be set to spend my summer months (June through August) full-time on site theming, user workflows, and setting up another basic feature of the site: "curated" editions. (I should probably start calling these "custom" editions—I understand how some people have Strong Opinions about the use and misuse of "curation"—but I like the connotation of thoughtful gathering of annotations the word lends to the feature, so I'm being lazy about my diction).

Whatever I end up calling it, the “curation” feature will let users easily toggle on a set of tagged annotations so that custom versions of the edition (just with those tagged annotations) may be shared. For example, a professor could annotate all the appearances of books, letters, and other forms of writing in the text and use this as the basis of a discussion with her students; students could also create their “own” editions singly or in groups, either by presenting an edition with their own collected annotations, or a combination of annotations they’d written and curated from existing annotations on the site.

One nice thing about ironing out storage issues means that I can start inputting my own annotations of Ulysses and not worry about losing that effort; I'll also be able to provide a guarantee to early beta testers of the site that any annotations they create will be retained in the official release of the site (even if that means I need to export and import them after further tech changes).


I spent some time reading the docs and trying out several frameworks, from ones I was familiar with (I've used earlier versions of Zen and Omega before) and hadn't heard of before (Aurora):

  • Omega (too tied into using the GUI to customize the theme for me)
  • Aurora (interesting, but not as widely used as Zen and therefore not as well documented)
  • Zen (accessible, good balance in amount of code and GUI-hand-holding between Aurora and Omega, and something I've used before)

I'm leaning toward building off Zen, but we'll see how things go as I start to work on mobile theming and figure out how to make the site as universally accessible as possible. In the weeks ahead, I'll be writing about how I'm incorporating usability and accessibility studies from other domains into my digital edition site design.

Thanks for reading! Don't forget you can watch a quick, 3-minute video about my dissertation here.

I successfully defended my digital humanities doctoral dissertation in Spring 2015. The now-available Infinite Ulysses social+digital reading platform is part of that project; come read with us!