MITH-OAC Phase II Project Update for January 2012

Currently, the OAC development team at Maryland Institute for Technology in the Humanities (MITH) is busy working the ins and outs of their development milestones. As of now, there is source code available on Github ( containing the skeleton functionality and design for a Streaming Video Annotation tool. The tool itself has no streaming video, but it does contain functionality to draw shapes on an SVG (RaphaelJS) canvas and sync them with a timer.

Instead of just pointing to the source code and letting those interested and with technical knowledge pick it apart, let’s take a moment to explain our methodology and why we chose the path we took. Our annotation tool is written in Javascript with our own in-house framework, MITHGrid. MITHGrid is developed by James Smith as a faceted browsing system for client-side data that mimics the Simile and Infusion projects. MITHGrid widgets are written using Applications, which house any number of DataStores, or triple-stores, on the client-side. DataStores are broken up by Views, which act like filters for the data inside a particular DataStore (e.g. “Give me all the blue squares in DataStore A”). Presentations then take the filtered data from the Views and render them on the screen. This results in a chain-effect where all data added, updated, or removed within a DataStore flows directly into the Presentation rendering that data, thus allowing for quick updates.

Javascript is being used because of its flexibility with other browsers and its familiarity with the staff. The triple-store data format is being used along with MITHGrid as it conforms well to the principles of the Semantic Web and Linked Data which are recognized and mirrored in the OAC beta specifications. In the specifications, Annotations are defined as connecting two elements together: a Target and a Body (i.e. A Body points to a Target). To expand any annotation (e.g. Add creators, constraints to the annotation Target or Body, etc.) additional triple-store items are added to the main annotation object. This is reflected in a MITHGrid DataStore. Each item has key-value pairs that act as the other two-thirds of the triple store system. An annotation in a MITHGrid DataStore would be represented as:

Annotation [

id -> 1,
    hasTarget -> targetId
hasBody   -> bodyId
    -> creatorId


Going between RDF and the MITHGrid JSON data is therefore simplified, since both use the same principles of triples and data storage. Currently, we are working on approaching this problem using NodeJS to ingest external metadata and convert it into JSON. More on that topic will be in a future blog post.

The progress with the OAC Streaming Video Annotation Client is under an ECL2 License and available via Github to clone and pick apart (

OAC Phase II Project beginning Development at the Maryland Institute for Technology in the Humanities

We at the Maryland Institute for Technology in the Humanities (MITH), University of Maryland College Park, have recently begun development on a streaming annotation video client for the Alexander Street Press catalog of educational films. The service intends to use the Open Annotation Collaboration (OAC) beta specifications in order to store annotations on the client that coordinate with specific frames of streaming video. The schedule for development plans to have a full working prototype early next year (2012). As of now, we have managed to code a working prototype of the shape drawing canvas, which will be used to select regions of video for annotation.

In addition, I am attending the Interedition Bootcamp conference in Wuerzburg, Germany. Interedition is a focus group of domain experts to discuss and implement interoperable tools for the Digital Humanities. MITH was invited to attend the conference in order to offer our experience and learn from others on interoperability in online annotation tools. So far, the OAC beta specifications have gained a lot of interest among the participants due to their support for working across platforms. To learn more about Interedition and what is happening at the Wuerzburg conference, check their wiki or follow my posts at the MITH blog (Note: my posts are buried along with all the other interesting stuff going on at MITH!).

Grant Dickie
Web Programmer and Programmer for OAC Phase II
Maryland Institute for Technology in the Humanities
University of Maryland, College Park

jdickie at umd dot edu