Adventures in annotation

I just wrote my first blog post for Hypothesis, the web annotation startup I joined recently. In the post I talk about how a specific feature of the annotator — its ability to sync annotations across local and/or web-based copies of the same file — illustrates a general approach to working with copies of resources that may live in many places and answer to many names.

When I finished drafting the post I pinged Dan Whaley, founder of Hypothesis, to review it. Here’s the IRC chat transcript:


Dan: I'm annotating!

Jon: The preview URL?

Dan: :-)

I was a bit surprised. The preview URL was password-protected but annotations against it would not be, they’d show up in the public annotation stream. But hey, I’m all about transparency when appropriate, so bring it!

Over the next few minutes we traded annotations and I tweaked the post. Here’s a picture of Dan asking to add space around an element.

And then jgmac1106 jumped in.

That’s Greg McVerry, an enthusiastic user of Hypothesis. I’d been in touch with him earlier that day because he’d asked a question about local annotation of PDFs, we’d conversed, and I wrote the post partly to answer the question as broadly as possible. I couldn’t easily grant him access to the preview, but I’d sent him a copy of the post as an attachment. And suddenly there he was, contributing to the collaborative edit that Dan and I were doing. It was a nice surprise!

After I published the post I got another nice surprise. I had realized that the annotations on the preview would remain visible in Hypothesis. But when I cited it in an internal forum, Dan responded with the canonical WordPress URL,, and when I loaded that into a tab where Hypothesis was active, all the preview annotations were intact.

It took me a minute to realize how that was possible. A WordPress preview URL knows the eventual URL at which a post will appear, and encodes it in the HEAD section of the HTML document like so:

<link rel=”canonical” href=””&gt;

When the Hypothesis service receives an annotation for the preview URL that declares a canonical URL, it remembers both as aliases of one another. That is, of course, exactly the point I was making in the post.

We hadn’t planned on this but, as a result, you can see the chatter that preceded publication of the post, as well as chatter since, through the lens of Hypothesis, at either the preview URL or the published URL.

Note that you don’t need to install the Hypothesis extension, or use the bookmarklet, to load Hypothesis on our blog, because it’s already embedded there. You only need to activate Hypothesis as shown here (click to play the mini-screencast).

I haven’t thought through all the collaborative possibilites this will enable, but it sure makes my spidey sense tingle.

5 thoughts on “Adventures in annotation

  1. Reblogged this on Carpet Bomberz Inc. and commented:
    Something/Anything that is as flexible and extensible as this, in ways you cannot always imagine, that is powerful. Kudos, Bravo one and all. At the same time it reminds me a little of the Google Waves goal, of not using silo-ized message stores like Email for collaborative work. And at the same time Waves wasn’t this open, connected to the open Web. I say that because the “chatter” accompanying the Preview URL. This is going to be interesting to say the least.

  2. Ears perk up when Jon’s spidey sense activated ;-)

    This is rather cool to think about a way to build on WordPress and Hypothesis as a commenting in progress pair. Wonder what happens if piece an annotation is hung disappears.

    I saw this bit of WordPress useful in the writing tool I worked on recently ( as a means for someone who submits something (it is saved as a draft until an admin publishes), that the preview URL could be given to a person that redirects to the final URL when published. I never knew exactly why it worked (but now I do).

    I’m a tad curious to the use cases WordPress builders had in mind, most likely to cover case if a preview URL was shared prior to publishing. Wonder how it wraps around WordPress versions.

  3. Hypothesis could be used in conjunction with Smallest Federated Wiki — kind of like Wikipedia’s Talk pages, but 1000x more powerful.

    1. Agreed. Annotations are anchored in ways that should survive things moving around as they are wont to do in FedWiki. Things that are deleted become orphans, but we are looking into squirting annotated pages into one or more web archives so that even those could survive.

Leave a Reply