I topped 1000 annotations in Hypothesis today. That is a year and 9 months after reaching 100 after the first month, or about 45 per month in total. Almost all of them are public annotations (97%).

While I do use it regularly, I don’t use it daily or at high volume. Annotations are automatically added to my local notes through the Hypothesis API, which is where I continue working on them. About the same number of annotations I make directly from my browser to my notes using a markdown webclipper, mostly when I save an entire article. Any annotations of PDFs I do in Zotero, and then there’s the e-book and paper book annotations. So at most a quarter of my annotations is in Hypothes.is.

In my annotations I have become accustomed to referencing existing notes (I have a little hotkey that lets me search and then paste a note title as markdown link in the annotation), using tags, and adding to-do’s that are picked up by my to-do lists. Things I started doing in the first month, like adding webarchive urls as page note, I still routinely do. All good reduction of friction I find.

I made it possible to post a first page annotation to Hypothes.is directly from my feed reader a year ago. While in theory that is very useful, in practice I’ve used it sparingly. Mostly because I have been spending less time inside my feed reader I think.

Many annotations are just basically bookmarking an article with a first remark for curation and being able to find it back in my own terms. While I do return to some of those for more extensive annotation, that is not often. Partly because I may do that in my local notes, partly because as always you encounter more than you can process. I do regularly re-find my annotations in my notes when searching, which is useful, and that sometimes results in revisiting an article for further annotation.

There is some performance effect involved in public annotation I suspect. I annotate mostly in English and am always aware others may read that. Especially criticism brings that awareness. It makes it feel like a form of blogging, but with an even smaller audience than my blog’s.

The social effect I experience of using Hypothes.is is very small. I’m not involved in annotating groups, which undoubtedly would feel different. I have had some conversation resulting from annotation however, which is always fun.

While I am enthusiastic about Hypothes.is as a tool, it hasn’t become a central tool, nor the primary ‘place’ for annotating things. I wonder if that would be different if I was more capable in interacting more with the API (e.g. to send changes or other annotations sources to H.), or if I could run a personal instance of it and federate that.

I started using Hypothes.is after the summer of 2022 because of reading the book Annotation by Kalir and Garcia in the spring of 2022 (although my Hypothesis account already existed).
My perception of annotations has permanently changed because of reading that book. It is now a much more everyday occurrence and practice within my sense making, not just for academic articles or books, and can take different shapes and forms. Just that most of that takes place outside of Hypothes.is.

I can now share an article directly from my feed reader to my Hypothes.is account, annotated with a few remarks.

One of the things I often do when feed reading is opening some articles up in the browser with the purpose of possibly saving them to Hypothes.is for (later) annotation. You know how it goes with open tabs in browsers, hundreds will be opened up and then neglected, until you give up and quite the entire session.

My annotation of things I read starts with saving the article to Hypothes.is, and provide a single annotation for the entire page that includes a web archive link to the article and a brief motivation or some first thoughts about why I think it is of interest to me. Later I may go through the article in more detail and add more annotations, which end up in my notes. (I also do this outside of Hypothes.is, saving an entire article directly to my notes in markdown, when I don’t want to read the article in browser.)

Until now this forces me to leave my feed reader to store an article in Hypothes.is. However, in my personal feed reader I have already the opportunity to post directly from there to my websites or to my personal notes collection in Obsidian.
Hypothes.is has an API, which much like how I post to my sites from my feed reader can make it possible to directly share to Hypothes.is from inside my feed reader. This way I can continue to read, while leaving breadcrumbs in Hypothes.is (which always also end up in the inbox of my notes).

The Hypothes.is API is documented and expects JSON payloads. To read public material through the API is possible for anyone, to post you need an API key that is connected to your account (find it when logged in).

I use JSON payloads to post from my feedreader (and from inside my notes) to this site, so I copied and adapted the script to talk to the Hypotes.is API.
The result is an extremely basic and barebones script that can do only a single thing: post a page wide annotation (so no highlights, no updates etc). For now this is enough as it is precisely my usual starting point for annotation.

The script expects to receive 4 things: a URL, the title of the article, an array of tags, and my remarks. That is sent to the Hypothes.is API. In response I will get the information about the annotation I just made (ID etc.) but I disregard any response.

To the webform I use in my feedreader I added an option to send the information to Hypothes.is, rather than my websites through MicroPub, or my local notes through the filesystem. That option is what ensures the little script gets called with the right variables.

It now looks like this:


In my feed reader I have the usual form I use to post replies and bookmarks, now with an additional radio button to select ‘H.’ for Hypothes.is


Submitting the form above gets it posted to my Hypothes.is account

In reply to highlight.js, an extension to highlight text on web pages by James G.

Nice project, James! I’m not sure I get the distinction you make between this and an annotation extension, as highlighting is annotation too and the pop up box even calls the highlights annotations. One question: do you apply the W3C Web Annotation Data Model recommendation? That would make highlighting with this potentially interoperable with e.g. Hypothes.is. Or allow interaction with the Hypothes.is API further down the line.

I don’t presently have plans to expand this into an annotation extension, as I believe that purpose is served by Hypothesis. For now, I see this extension as a useful way for me to save highlights, share specific pieces of information on my website, and enable other people to do the same.

James G.

With the release of various interesting text generation tools, I’m starting an experiment this and next month.

I will be posting computer generated text, prompted by my own current interests, to a separate blog and Mastodon account. For two months I will explore how such generated texts may create interaction or not with and between people, and how that feels.

There are several things that interest me.

I currently experience generated texts as often bland, as flat planes of text not hinting at any richness of experience of the author lying behind it. The texts are fully self contained, don’t acknowledge a world outside of it, let alone incorporate facets of that world within itself. In a previous posting I dubbed it an absence of ‘proof of work’.

Looking at human agency and social media dynamics, asymmetries often take agency away. It is many orders of magnitude easier to (auto)post disinformation or troll than it is for individuals to guard and defend against. Generated texts seem to introduce new asymmetries: it is much cheaper to generate reams of text and share them, than it is in terms of attention and reading for an individual person to determine if they are actually engaging with someone and intentionally expressed meaning, or are confronted with a type of output where only the prompt that created it held human intention.

If we interact with a generated text by ourselves, does that convey meaning or learning? If annotation is conversation, what does annotating generated texts mean to us? If multiple annotators interact with eachother, does new meaning emerge, does meaning shift?

Can computer generated texts be useful or meaningful objects of sociality?

Right after I came up with this, my Mastodon timeline passed me this post by Jeff Jarvis, which seems to be a good example of things to explore:


I posted this imperfect answer from GPTchat and now folks are arguing with it.

Jeff Jarvis

My computer generated counterpart in this experiment is Artslyz Not (which is me and my name, having stepped through the looking glass). Artslyz Not has a blog, and a Mastodon account. Two computer generated images show us working together and posing together for an avatar.


The generated image of a person and a humanoid robot writing texts


The generated avatar image for the Mastodon account

I’ve now added over 100 annotations using Hypothes.is (h.), almost all within the last month. This includes a few non-public ones. Two weeks ago I wrote down some early impressions, to which I’m now adding some additional observations.

  1. 100 annotations (in a month) don’t seem like a lot to me, if h. is a regular tool in one’s browsing habit. H. says they have 1 million users, that have made 40 million annotations to over 2 million articles (their API returns 2.187.262 results as I write this). H. has been in existence for a decade. These numbers average out to 20 annotations to 2 articles per user. This to me suggests that the mode is 1 annotation to 1 article by a user and then silence. My 100 annotations spread out over 30 articles, accumulated over a handful of weeks is then already well above average, even though I am a new and beginning user. My introduction to h. was through Chris Aldrich, whose stream of annotations I follow daily with interest. He recently passed 10.000 annotations! That’s 100 times as many as mine, and apparently also an outlier to the h. team itself: they sent him a congratulatory package. H.’s marketing director has 1348 public annotations over almost 6 years, its founder 1200 in a decade. Remi Kalir, co-author of the (readworthy!) Annotation book, has 800 in six years. That does not seem that much from what I would expect to be power users. My blogging friend Heinz has some 750 annotations in three years. Fellow IndieWeb netizen Maya some 1800 in a year and a half. Those last two numbers, even if they differ by a factor 5 or so in average annotations/month, feel like what I’d expect as a regular range for routine users.
  2. The book Annotation I mentioned makes a lot of social annotation, where distributed conversations result beyond the core interaction of an annotator with an author through an original text. Such social annotation requires sharing. H. provides that sharing functionality and positions itself explicitly as a social tool ("Annotate the web, with anyone, anywhere" "Engage your students with social annotation"). The numbers above show that such social interaction around an annotated text within h. will be very rare in the public facing part of h., in the closed (safer) surroundings of classroom use interaction might be much more prominent. Users like me, or Heinz, Maya and Chris whom I named/linked above, will then be motivated by something else than the social aspects of h. If and when such interaction does happen (as it tends to do if you mutually follow eachothers annotations) it is a pleasant addition, not h.’s central benefit.
  3. What is odd to me is that when you do indeed engage into social interaction on h., that interaction cannot be found through the web interface of my annotations. Once I comment, it disappears out of sight, unless I remember what I reacted to and go back to that annotation by another user directly, to find my comment underneath. It does show up in the RSS feed of my annotations, and my Hypothes.is-to-Obsidian plugin also captures them through the API. Just not in the web interface.
  4. Despite the social nature of h., discovery is very difficult. Purposefully ‘finding the others’ is mostly impossible. This is both an effect of the web-interface functionality, as well as I suspect because of the relatively sparse network of users (see observation 1). There’s no direct way of connecting or searching for users. The social object is the annotation, and you need to find others only through annotations you encounter. I’ve searched for tags and terms I am interested in, but those do not surface regular users easily. I’ve collated a list of a dozen currently active or somewhat active annotators, and half a dozen who used to be or are sporadically active. I also added annotations of my own blogposts to my blog, and I actively follow (through an RSS feed) any new annotation of my blogposts. If you use h., I’d be interested to hear about it.
  5. Annotations are the first step of getting useful insights into my notes. This makes it a prerequisite to be able to capture annotations in my note making tool Obsidian, otherwise Hypothes.is is just another silo you’re wasting time on. Luckily h. isn’t meant as a silo and has an API. Using the API and the Hypothes.is-to-Obsidian plugin all my annotations are available to me locally. However, what I do locally with those notes does not get reflected back to h., meaning that you can’t really work through annotations locally until you’ve annotated an entire article or paper in the browser, otherwise sync issues may occur. I also find that having the individual annotations (including the annotated text, in one file), not the full text (the stuff I didn’t annotate), feels impractical at times as it cuts away a lot of context. It’s easily retrievable by visiting the url now, but maybe not over time (so I save web archive links too as an annotation). I also grab a local markdown copy of full articles if they are of higher interest to me. Using h. in the browser creates another inbox in this regard (having to return to a thing to finish annotation or for context), and I obviously don’t need more inboxes to keep track of.
  6. In response to not saving entire articles in my notes environment, I have started marking online articles I haven’t annotated yet at least with a note that contains the motivation and first associations I normally save with a full article. This is in the same spot as where I add a web archive link, as page note. I’ve tried that in recent days and that seems to work well. That way I do have a general note in my local system that contains the motivation for looking in more detail at an article.
  7. The API also supports sending annotations and updates to h. from e.g. my local system. Would this be potentially better for my workflow? Firefox and the h. add-on don’t always work flawlessly, not all docs can be opened, or the form stops working until I restart Firefox. This too points in the direction of annotating locally and sending annotations to h. for sharing through the API. Is there anyone already doing this? Built their own client, or using h. ‘headless’? Is there anyone who runs their own h. instance locally? If I could send things through the API, that might also include the Kindle highlights I pull in to my local system.
  8. In the same category of integrating h. into my pkm workflows, falls the interaction between h. and Zotero, especially now that Zotero has its own storage of annotations of PDFs in my library. It might be of interest to be able to share those annotations, for a more complete overview of what I’m annotating. Either directly from Zotero, or by way of my notes in Obsidian (Zotero annotatins end up there in the end)
  9. These first 100 annotations I made in the browser, using an add-on. Annotating in the browser takes some getting used to, as I try to get myself out of my browser more usually. I don’t always fully realise I can return to an article for later annotation. Any time the sense I have to finish annotating an article surfaces, that is friction I can do without. Apart from that, it is a pleasant experience to annotate like this. And that pleasure is key to keep annotating. Being able to better integrate my h. use with Obsidian and Zotero would likely increase the pleasure of doing it.
  10. Another path of integration to think about is sharing annotated links from h. to my blog or the other way around. I blog links with a general annotation at times (example). These bloggable links I could grab from h. where I bookmark things in similar ways (example), usually to annotate further later on. I notice myself thinking I should do both, but unless I could do that simultaneously I won’t do such a thing twice.

By way of experiment I have added, where they exist, annotations of my postings to the posting itself. Such annotations are made in Hypothes.is an online annotations tool, with social features.

Hypothes.is uses the W3C standard for annotations, and the service has an API. That opens it up for experimentation. For instance there is a Obsidian plugin that pulls in my annotations and brings them to my notes.

I now experimentally use the API to check for annotations that exist for a single posting. If such annotations exist, a page with a single blogposting will mention the existence of annotations just above the comments, and provide a link to them. For this I adapted the template for single postings in my WordPress theme. See the image.


The number of annoations, if any, is shown beneath individual postings above the comments.

Like with comments this opens up a surface for people to interact with my blog and have that interaction made visible on my site. As with comments and trackbacks of old, this also opens up a possibility for spam, especially as there is no way yet for me to moderate such annotations to be shown, nor a way to prevent them in general.

Hypothes.is has existed for a decade and reached 2 million annotated articles early this year. It’s relatively unknown, and not commonly used. This at the moment should be enough ‘protection by obscurity’ for now. Maybe in time I will reconsider, there are valid reasons to do so.

Existing users of Hypothes.is don’t need a link like I added to my postings, they see that in their browser already (depicted below). However it may encourage other readers of this blog to check out those annotations and perhaps create their own.

In a next step I may aim to list the existing annotations, and their authors, not just link to them, but not immediately. First I’ll think some more about how I might use the Hypothes.is API for other things in my personal workflow.


A screenshot of how a logged-in Hypothes.is user in their browser sees a post on this site that has annotations.