 That's me. I used to work for the Open Knowledge Foundation. I'm going to be talking to you about Annotator, which is, I'll describe what it is a bit later. It looks like that. Well, it doesn't actually, it's a bunch of JavaScript code and we'll get to that a bit later. And I used to work for the Open Knowledge Foundation who sponsored most of the work on Annotator and still look after the repository. I now work for the Government Digital Service where I am, as I've said, a maintainer of Her Majesty's photocopiers. That's not actually what I do, but if anybody wants to know more about what GDS does, I can talk about that later. I'm not representing them here. So what I actually wanted to talk about today has changed a bit. It turns out that on a 10-hour flight you have a little bit too long to worry about what you're going to talk about and whether it's going to be interesting. So I'm actually not going to demonstrate Annotator today for a couple of reasons. The first reason is that there are several projects you're going to see over the next couple of days, one of which is Hypothesis, which use Annotator at the core of, of, of their software. Annotator is primarily a JavaScript library and a set of plug-ins for doing annotation on the web, primarily textual annotations, but there are people who built image annotation plug-ins. I was chatting to somebody yesterday who's expressing an interest in some kind of video annotation, and it's secondarily a, a reference storage API. Annotator has a client-side component and it has a server-side component which is essentially a, a JSON API for storing annotations, and there is a reference implementation of that. So what Annotator serves to do I think is, is really be the, it doesn't aim to do everything with annotation. The Annotator user interface is, is, is beautiful. I didn't have anything to do with designing it because I can't design my way out of a paper bag, but it's not going to compete with Hypothesis. There are lots of other people doing interesting things with it, so that's not what I'm going to demonstrate to you today. What I thought I would do is three things. I'll give you a brief history of where Annotator came from because it's very much a pragmatic tool. It's not, it's, it's a long way away from Rob and Dan's world of annotating all the world's knowledge with a, with a perfectly interoperable system. It was very much a quick hack to solve a problem that we at the Open Knowledge Foundation had, which has subsequently evolved into something a little more interesting. I then want to go on to talk about a couple of people who've used Annotator and the interesting things they've done with it. And then the real meat of what I wanted to talk about are what I'm calling kind of Hilbert problems for annotation. And, and for those of you who aren't familiar with David Hilbert, this is one of the, the great mathematicians of the 20th century who in 1900 came up with a list of 23 huge, outstanding, important problems for pure mathematics. You'll be glad to know that because I am not one of the world's leading mathematicians, I'm, I'm not actually going to talk to you about problems for maths. I'm going to talk to you about problems for annotation. And you'll also be glad to know that I don't have 23 of them. I have only a few. They're really just, I just want to spark some conversations about this stuff. I'm not intending to present any solutions. So first of all, just a brief history of Annotator and where it came from. Annotator has a, I'm young, so forgive me, Annotator is quite old now. And it came out originally of a project called Open Shakespeare at the Open Knowledge Foundation, which is an effort to collect all of the free, as in Richard Storman, free editions of all of Shakespeare's works online for digital analysis and annotation. And at the time, we experimented with all kinds of different pieces of software. Some of you will have heard of some of these steps, was the annotation tool developed for commenting on the, the GPL version three commentary, the W3C's Annotator. And eventually we built something on top of a chap called Jeff, I can't remember his second name, Jeff, someone, somebody called Jeff wrote a thing called marginalia. And the first thing we wrote was a thing called Annotator with an E because we couldn't spell at that point. Annotator had a lot of server side help, the documents that it annotated had a lot of sort of pre-annotation done server side when they were rendered. It had, I think, I was trying to work out when I was writing these, I can't actually remember, it had a sentence or speech in terms of a play, speech level resolution of annotation. And I'll be honest, it wasn't very beautiful. It didn't have a particularly great interaction model. So we eventually worked out that we kind of wanted to build something a little better. So in the summer of 2009, we learned how to spell and we started a project called Annotator with an O. And the aim was to build something that was slightly more document agnostic. That is, it didn't need you to insert tags into the documents that you wanted to annotate. And up here in the top left of the screen is the first git commit to the annotated repository in which I describe it as a wee playground to see what can be done with a JavaScript annotation system. I'm not Scottish and I wasn't Scottish in 2009, so I'm not quite sure why it was a wee plea claimed. But anyway, it was incredibly buggy and it essentially remains still built around the DOM selections API. It did have some support for IE's text range model. Don't ever do anything with IE's text range model. It's horrible. So after a whole month we dropped support for IE text range. I built some very ugly user interface which you can see up here. And we very quickly got into serialization and deserialization of annotations on arbitrary web pages to things that were basically JSON documents. And the structure of those JSON documents was informed solely by what our needs were. I tried to kind of generalize some of it, but it's very pragmatic. It doesn't have any grand ideals. And I'm skipping out a whole load of stuff here. But throughout 2011 and 2012 an awful lot happened to annotate it. The OKF hired a chap called Aaron Carroll who actually knew what he was doing. He made the thing look half decent and have a half decent interaction model. It has some support for internationalization of the user interface, which for those of you who tried to do internationalization in JavaScript is actually a pretty big deal. It's a pain in the ass. And in 2012 we did some fiddling on what was really the USB of Annotator, which is its server, its storage layer, can be used to annotate things anywhere on the web. And if you run a service, you have some kind of web application with user accounts, you can issue authentication tokens to your users that allow them to save annotations on your content to our or someone else's annotation storage system. So I will move on quickly from that. Deployments of Annotator. So there are lots of people who have picked up Annotator and done some interesting things with it, including people you're going to hear from today. So I'm going to move quickly through these. This is the MIT HyperStudio's Annotation Studio built on Annotator. This is a digital humanities project. This is an incredible guy who came and joined our mailing list and has just been, you know, he didn't speak very good English. His English has improved dramatically trying to talk about annotations and the annotation data models on our mailing list. And this is his sort of social open courseware port to Chinese Mandarin of Scott Chacon's pro-git book that has annotation support. This is our project. This is Annotate it. You log in, you get a bookmarklet, you can annotate anything on the web. If the page changes it breaks, sorry. You can go and have a look at that. This is a guy called Gary Tylman who's built an Annotator based system for marking up pharmacy students term papers, which I think is fab. And the assessors will annotate stuff and say, you know, you've got a problem. They automatically convert these things from PDF to HTML and annotate them and the students can then come and see what has been written on their work. And Dan has already spoken about hypothesis who are doing some really cool stuff, threaded annotations, fuzzy anchoring and so on. So to get to the real meat of this, and I will try and be relatively quick, I have a couple of things that I think are big, big issues in the annotation world. I know many of us have been thinking about these for a while. Dan has already mentioned some of them. He's stolen some of my thunder by fixing some of them. Well, having something that looks like a fix. So the first one, the first one is what I'm calling discovery. So the web is great at linking to things, or to be more precise it's great at outbound links. It's great at being on a page and being able to find out where that page links to. But finding out what links to a piece of content, or in our context what annotates a piece of content is a lot harder. And the web is, I think this is a problem. I know there's at least one person in the room who will be raising an eyebrow at this point. But Ted Nelson talked a lot in the early days of the web about the lack of two-way links on what he is raising his eyebrows and all. About the lack of two-way links on the web. And I think that this is a big problem because it doesn't, it means that the web is not a web. And it's a directed tree in which all links ultimately seem to lead to Wikipedia. And we have built something that is, if you like, the visitor distribution of the web is a power law with quite a large value of alpha. Wikipedia, Facebook, Twitter, get a lot of the inbound links on the web. And the inability to discover what annotates a piece of content is a contributing factor to that, I think. We need a web and not a directed tree. And I think this is something, the discovery of back references is something that we need as a community to solve if we want to try and reverse that process. The other thing, the next thing is about the annotation of documents, not the annotation of formats. Dan has already stolen my thunder on this interoperable PDF HTML annotation format. That is the point. If I annotate a journal article as a PDF, those annotations should appear in the HTML version. If I annotate a book on one page or on a Kindle, that should appear on another page or on a nook. And there are a couple of ways that we might solve this. One of them is by having some kind of canonical representation. One of them is by fuzzy anchoring, if you like, what I call content-addressed annotation, where you address an annotation by the content that it annotates. And this is linked, these are all linked, but this is linked to my next Hilbert problem, which is changing content. This is the big one, the ability to deal with the fact that the web changes. People move things around. And in general, annotating dynamic content is really hard. There is no, you can't even work out what the, even if you didn't know how to implement it, you can't work out what the ideal behavior would be. Because if the content changes enough, you can see that you probably don't actually want to keep annotating that content. The New York Times had a fabulous example where if the content changed too much, your annotation would just evaporate. So this might be solved by multiple people, fuzzy anchoring, but I think perhaps the biggest way of, the biggest and most likely way of solving this problem, which is my last point, Peter, is persistent reference. Or to put that another way, can we please put the internet, the whole internet, in Git? And for those of you who aren't overly familiar with Git, the important thing about Git is it is an append-only log of content objects. And at the moment, the internet isn't going to be able to use it, so I'm looking at a man over here who's trying to build some pieces of this. The fact that Tim says cool your eyes, don't change is not enough. The web is not cool enough. Your eyes do change. And the internet archive and Memento are trying to fix this, but I think that in some ways they're not ambitious enough. I want to be able to say, this is a thing that I annotated, and know that that reference will work. This is also part of the problem of the Wikipedia Facebook Twitter problem. If I know that those are the only sites that I can rely on to be around in three years' time, then that's what I'm going to link to. So that's it. I'm done. I'll shut up. If you want to know any more about Annotator, come and bug me, we have a GitHub repository, several GitHub repositories, a mailing list for people who are interested in Twitter, so you can contact me via any of those means or just come and poke me. Thank you very much.