Supporting Open Annotation
In its mission to connect the world’s knowledge and thoughts, the solution Hypothes.is pursues is a web-wide mechanism to create, share and discover annotations. One of our principal steps towards this end is providing a browser add-on that works with our annotation server, enabling people to read others’ annotations on any web page they visit, and to publish their own annotations for others to see.
I spent my summer interning at Hypothes.is to work towards a longer term goal, taking annotation sharing to the next level: an open, decentralised approach. In this post I will describe how such an approach could work, how standardisation efforts are taking off to get us there, and how we are involved in making this happen – the first step being support for the preliminary Open Annotation data model.
An annotation ecosystem
While we are glad to provide a service enabling people to create and share annotations on the web, we by no means want to become the sole annotation service provider, as this would imply creating a monopoly position and a single point of failure. Rather, we encourage anyone to build annotation tools and services, possibly using the same code we use. Of course, a problematic consequence of having multiple organisations each running separate systems is that even more information silos emerge on the web, and quite likely the most popular service would obtain a monopoly position after all.
To prevent either fragmentation or monopolisation of the world’s knowledge, we would like an ecosystem to evolve, comprising interoperable annotation services and client implementations. Such an ecosystem would promote freedom of innovation, prevent dependence on a single party, and provide scalability and robustness. It would be like the architecture of the web itself.
W3C’s Web Annotation Working Group
A great step towards bringing this envisioned ecosystem to life is the recent formation of the Web Annotation Working Group at the W3C (World Wide Web Consortium). By standardising the annotation data model and exchange protocols, the group aims to make annotations an integrated part of the web. The group intends to build upon work by the Open Annotation Community Group, who have been working on this vision for a few years already and drafted an Open Annotation Specification, proposing a Semantic Web-based data model for annotations.
In the upcoming standard, an annotation will be a web document itself, identified with a URI of its own. The annotation specifies the target it annotates, which can for example be several words in a particular text, or a region of an image. The target could be regarded as a hyperlink, but with greatly improved precision to exactly express what the link is pointing at inside a document. As they are distinguishable documents too, annotations can even be annotated themselves.
Annotation discovery and distribution
Being able to formalise an annotation, the next question is how to find annotations for a given document. The draft standard suggests a distributed approach. Of course, the document’s publisher could supply annotations along with the page it presents, but that would bring only a minor improvement to the web we have now. The real beauty of a model that allows to precisely target pieces of others’ documents is that annotations can be stored independently from their target, and can originate from other sources.
In a typical use case, annotations are fetched to obtain people’s commentary on an arbitrary web page. When visiting the page, the browser (add-on) queries an annotation service, for example Hypothes.is, to ask it for annotations about this page. This annotation service kindly returns annotations that target the page, and your browser can show them in context. Being interoperable, several annotation services (or annotation search engines) could be queried at once, and their results combined.
For a more elaborate explanation of a decentralised annotation architecture, flip through this sleek interactive infographic created by W3C’s Doug Schepers:
Democratising the web
Separating discussion about a page from the page itself is an essential step to free discussion. Nowadays, one can only comment on (for example) a news article if the publisher provides you the opportunity to do so. Of course, you can publish your comment on Twitter or wherever else, but we lack tools that find and show those comments in the context of the page. Having discovered some commentary, I can follow the link it provides to the page it talks about, but how would I have known about this while being on the page itself?
Open Annotation could effect a fundamental change in the way we browse the web: when visiting a web page, you will not be limited to see what the publisher of that page wants you to see, but can also explore what others would like to show you in that context. I call this concept meta-browsing, as while browsing through pages we also discover documents about those pages. Automating the healthy habit of checking some independent source(s) for their commentary will, we hope, greatly improve knowledge exchange and reduce misinformation.
No longer depending on the publisher to provide the discussion tools also allows the technology to improve. Features such as cross-website user identities, spam filtering, up/down-voting and message ranking could all be innovated upon without having to wait for the websites to incorporate them.
The term annotations may also be interpreted in a much broader sense than just textual comments. Surpassing the paper mindset, an annotation can be any media form that in some way targets something. By making the standard extensible, any party can add to its functionality. For example, a web-wide ‘Like’ feature could just be implemented as a special kind of annotation. I see great potential for many kinds of machine-readable, ‘semantic’ annotations.
Like with the annotation’s content, the range of items an annotation can target can be extended too. For example, annotating regions of 3D websites could be made possible when they make the scene. And, thinking beyond documents, why not annotate, say, the Eiffel Tower itself?
At Hypothes.is, we warmly welcome and actively support development in support of the depicted vision. We are participating in the W3C working group to help determine the annotation standards, and already started implementing the draft specifications of the Open Annotation data model.
As a first step, I have implemented the capability to present annotations in the draft data model format when the web client explicitly prefers `application/ld+json` for the media type. The edits are mostly done upstream in the annotator-store project, part of the Annotator project Hypothes.is is built upon. If all goes as planned, Hypothes.is as well as the Annotator project will eventually use the forthcoming standardised data model exclusively, making all components reusable and compatible with other (prospective) annotation systems.
We will of course still have to see whether the described ideas will materialise and whether the web annotation standards will be widely adopted, but it seems worth the investment. Though it may take years for any of it to become reality, there surely is a great opportunity to take the web to the next level.