As a career changer in my first role as a developer, my initial weeks at the V&A proved to be a confusing baptism of concepts and acronyms.
Imposter syndrome is a well recognised complaint among developers in their first 10 or so years of a technical career but for me, I think the introduction of the cultural world of the museum has made that affliction a little more acute.
My first technical challenge involved the terms Piccolpasso and IIIF (pronounced triple-eye-eff), neither of which rang any bells, and I did begin to wonder if my immersive coding bootcamp experience was going to serve me well in my new role.
It turns out that IIIF (International Image Interoperability Framework) is a community focused framework for sharing high-quality images in a way that excites the viewer but also encourages innovation and sharing. At the V&A we have used the framework and associated tools to create rich digital experiences such as the zoomable micromosaic slideshow showcasing objects from the Rosalinde and Arthur Gilbert Collection, and the exploratory view inside the Ocean Liner Aquitania.
Piccolpasso turned out not to be a new technical term but was actually a 16th Century supporter of the Arts (as well as an Engineer and Architect). Cipriano Piccolpasso most famously produced a beautifully illustrated treatise on the different stages in the making of maiolica. This document was called ‘Li tre libri dell’arte del vasaio’ and we wanted to showcase the manuscript currently held at the National Art Library within the V&A.
In addition to an online IIIF image tour, the curator also wanted to have a PDF version available for download, so that interested parties could have a physical copy to annotate and study. In these instances, typically someone from the content team would manually copy, paste and resize images to create the document but this ceased to be a fun task when the number of images began to approach the one hundred mark
My challenge was to apply some coding skills to something otherwise rather repetitive.
The underlying basis of IIIF is a well documented and tightly structured manifest that holds all the details for the final product such as titles, page references and sequences. It is written in a format called JSON, which can look a bit scary at first sight but is relatively easy to process programmatically. With this in place I had everything I needed to convert this text manifest into a stunning PDF, apart from perhaps the skills to do so….
A few hours of researching later and I discovered an open source tool for working with PDFs that I could build upon for my needs. This particular script (or gem) was called Prawnpdf so I decided to call my offshoot, Cocktail in tribute.
Now that I had a starting point, all I had to do was fathom out how to move around the IIIF manifest to extract the salient points. For those with some coding experience the challenge was about looping through some quite deeply nested JSON objects.
I’d been testing my manifest extract functionality based on a Leonardo Da Vinci manifest that I had to hand. When I translated this to the desired Piccolpasso manifest everything collapsed around my ears! Or more accurately, it output an error message.
This is where I discovered that IIIF had two versions, a Presentation 2 and a Presentation 3 and the JSON structure was quite significantly different. My working program needed to be tweaked to handle both presentation types and ideally recognise which one it was dealing with.
Cocktail quite quickly began to expand in terms of functionality and indeed in code size. After my initial attempts with a PDF output, feedback suggested I needed to add functionality to apply prefixes to the recto and verso annotations, allow orientation selection and apply background colouring among quite a few others.
By the time I’d managed to create an acceptable PDF version of the ‘Li tre libri dell’arte del vasaio’ I also had quite a useful program on my hands. I’ve had much fun, refactoring the code and turning it into a command line utility so that it can generate a customised PDF in seconds with one line of instruction.
We are now hoping to share the tool more widely within the IIIF community so that others can benefit. I’m just planning to write some additional code for Cocktail so that I can hide an Easter egg within the program. I’m thinking of a cocktail related joke, perhaps a James Bond mode where you can have a ‘Shaken not Stirred’ version which ignores the specified manifest sequence and jiggles everything up.
I can’t imagine the output from this version will ever make it onto the V&A website but it may provide me with some programmer’s delight.
If you’d like to know more about the manuscript or even download a copy of the PDF, you can read all about it in the V&A article.