Over the 20+ years the V&A website has existed, there have been many different approaches taken to displaying our objects to the visitor; from the very first images on the site in 1994, to annotated, zoomable images in 2016. As web technologies have come and gone, web features such as these, and indeed whole web sites have been created, admired, retired and archived. But in some cases, where the supporting technology for the web feature itself has practically disappeared from browsers e.g. Flash, these web features have now become digital ghosts – all the underlying assets are still there, but nobody has the ability to see or interact with them anymore.
In keeping with today’s Halloween theme, we wondered if we might be able to return some of these digital spirits back to the land of the living (hopefully for longer than a night though), by re-implementing them as standards-based web features for the browser that supports HTML5 and ECMAScript, and on the server side, support for IIIF and related W3C standards.
For our first digital summoning, we’ve been looking at 360 spin images. These are pseudo-3D animations of an object, which appear to rotate but are really just switching between multiple 2D images taken from around an object. Originally these were created by taking 30 images of an object from 12 degree increments (the object would be placed on a rotating disc and the camera remained static). These images were run through a proprietary tool to create the flash animation, this could then be embedded into a website, and the user would rotate the image around using the mouse, or zoom into an image for a detailed view. Many objects in the collection were made available like this, such as dresses, masks, sculptures, etc.
To re-implement these 360 spin images, we first retrieved the original 30 image files and made these available through the IIIF Image API. We then generated a IIIF Presentation API manifest, which bundles all these images together into a sequence. Tools such as Mirador or Universal Viewer could then be used to display all the images, each of which could be annotated, compared, etc. (and for some purposes this might provide a better display than the rotation view).
Finally to re-create the 360 object spin, we made use of Leaflet (an open source interactive map display library) and the Leaflet IIIF plugin which allows it to display IIIF images as tiled layers on a map. Each image from the manifest is created as a hidden layer on the (blank) map, creating the effect of a stack of images. The first image is then made visible. We then write an event handler for mouse clicks on the image, which moves up and down the layer stack, hiding the current image and showing the next one up or down. The effect of this is to rotate through the images, as in the original 360 object spin.
- need to reduce the noticeable white flicker between layer transitions.
- pre-load some image tiles, as seeing the 2D images tiles loading whilst rotating breaks up the illusion of the 3D object.
- need to distinguish between mouse-drag to rotate the image and to zoom in/out on the image. The original displayer had a toggle switch to control this interpretation; ideally we improve on this so works ‘as the user expects’.
- automatically ‘play’ the rotation without the user starting it to indicate the image is interactive.
A few of these requirements have been solved on previous web features so we can hopefully re-use much of the code. If all goes well, we hope to soon restore some of these poor, RESTless, digital objects back to the physical world…or at least to the website.