Since about 2020 I have been picking at the same problem, on and off. I am part of few collectives in Karnataka that work with cultural and creative practice-based research, and in the course of that work we keep meeting people with collections. A researcher studying memes and dissent who wanted large hoards of images annotated by a community. A 70-year old collector with pictures of a place from a time when very few pictures of it exist. A group of dargahs with objects from centuries-old storied traditions. What each of them wanted was close to the same thing: put a large image on the internet, let someone zoom into it, let someone write a note on a part of it, and keep the note.
I wrote a long post about this in 2024. The short version is that the standard for this already exists, it is called IIIF, it is genuinely good, and almost everything built around it assumes there is an institution behind you. There were four parts to get through: serving the image, making the manifest, storing the annotations, and hosting the result. Each part has a decent tool. BIIIF, Wax, Tropy with the Tropiiify plugin, Canopy. Each one is someone’s earnest attempt to make the thing smaller, and each one still ends with the person who has the collection holding a pipeline of GitHub repositories, scripts and manifest URLs. When our collective did this, we self-hosted it on a server we owned. The four years mostly bought me a clearer picture of the problem. I am fairly sure the shape of the answer is something like this, and much less sure that this is it.
Archie is my attempt at those four parts in one window. It is a web app - media goes in, notes go on the media, and what comes out is a folder of static files which can be hosted directly on something like Github Pages. Mainly I wanted to offer multiple ways of annotating the same objects and creating inter-relationships between objects, annotations using the Open web standard W3C and IIIF.
The Authoring Parts - the Studio
The unit is an exhibit, which is a set of media with notes on it. Media comes in by dragging files in, or by pasting a IIIF manifest URL, in which case Archie pulls the folios in as objects to annotate.
Annotating is drawing a region and writing into a popover anchored where the region was drawn. The note is markdown and it takes tags, and the marker stays put through panning and zooming. A note with no region attaches to the whole object instead.
Audio and video work the same way along time - drag across the waveform to mark a range, or pause a video frame and draw a box on it, which anchors the note to that place at that moment.
Maps are a fourth kind of object, where regions attach to real longitude and latitude, so re-framing the basemap leaves them where they were on the Earth.
The part I find most interesting is Readings. A Reading is an interpretation of the object. Each note belongs to a way of reading the thing.
A narrative is a sequence of sections. Each section is prose bound to an object and a framed region, so the reader’s view moves as they read down.
Cmd-K inside a note searches everything in the library and inserts a live reference to another note, object or exhibit.
What comes out - the Viewer
Publishing produces static HTML, JSON and media files. That folder goes on any host, or the .archie.zip gets handed over with no host at all. The viewer side also offers a full gallery but this can also be viewed in a IIIF viewer like Mirador.
The published site leads with the narrative if there is one, prose beside the canvas, with the Readings legend in reach throughout. If there is no narrative it leads with the objects instead. Every note has its own URL, so a link opens to that note, framed.
The annotations are W3C Web Annotations and the exhibits are IIIF Presentation 3 manifests.