The Scope of Annotations and the SVG Monster
I just came back from the Open Annotation Collaboration (OAC) workshop, working to develop a standard format for annotations on images, video, text and other resources.The group's current work is on the right track--there are two parts to any annotation: the 'constraint' which is the part of a resource we're focusing on, and the 'body' which is the metadata describing details of that constrained section of the resource.
A 'constraint' is mostly a simple section of an image like on the right where I circle the embedded rotating calendar in a ~17th century book on Hebrew Calendars, but the general idea of a scholarly annotation can be very complex. Just how crazy? Well, perhaps I want to show a certain rotation of the discs...
The OAC is planning to use a graphic standard called Scalable Vector Graphics (SVG) to represent complex sections of an image. The problem is SVG is an incredibly complex specification that can do all kinds of manipulation.
I've made an SVG document which references the Hebrew manuscript page, but also clips out each disc and rotates it a certain amount. Furthermore, it includes Javascript, just like HTML which lets you rotate the discs just like you can with the original manuscript:
This transformation on the image is a legitimate target of annotation. An academic might want to show the discs aligned in a certain way to make a point. To SVG's credit, we can do just that, and more -- we can make it possible to rotate the discs differently and refer back to how much it is rotated. When script tags are included (which SVG allows), each annotation can be a complete computer program.
While this is a powerful tool, the reason we are interested in a standard for annotations is so that we can interchange them across systems. That means each system needs to be able to understand annotations from other systems.
While the Media Fragments W3C group is helping to define annotations with a conservative scope -- box areas in images and timecodes in video, the OAC ambitiously is going after a much wider understanding of annotations.
We'd like our multimedia annotation platform, MediaThread (which already supports mediafragments) to support the OAC both for importing annotations from elsewhere and for exporting the annotations made by users in the system. This should make us able to consume more media across the web, and hopefully, as the OAC is adopted across platforms, provide a useful file format for multimedia compositions.
MediaThread is unlikely to support the calendar annotation anytime soon. For images, we allow 'laser-pointer' annotations which are about highlighting some subset from a resource, and probably covers the vast majority of reasonable annotations for scholarly reference.
These should be simple to make and simple to parse, so I think we'll need to standardize the very small subset of the SVG specification for these kinds of annotations.
I'm looking forward to that and other challenges with the OAC. An annotation standard will create huge opportunities for tools to engage archives and for academic publishing.