IIIF support for the Qatar Digital Library

Developer Adrian Hindle and Head of Web Development Tristan Roddis describe how we’re using The International Image Interoperability Framework and explain its benefits for cultural heritage websites — such as the Qatar Digital Library.

Adrian Hindle
cogapp

--

For decades, the way we put images online has been the same: prepare a small image in a web-friendly format like JPEG or PNG and put it on your web server. And there it sits. Unchanging forever, despite the world moving on and people wanting larger images, or buying high-pixel density displays. And if someone wants to zoom in on a particular area, that’s tough, too: you just get a pixelated mess.

All that is due to change, however, due to a forward-thinking group of individuals who came up with IIIF: The International Image Interoperability Framework. According to the IIIF Wikipedia entry, the standard “defines two application programming interfaces that provide a standardised method of describing and delivering images over the web, as well as presentation metadata about structured sequences of images.”

Now this initially seemed rather dry and irrelevant, but after investigation we realised that these standards can have very tangible user benefits for cultural heritage websites and beyond. Our client, the Qatar National Library, wanted to explore the possibilities and so we decided it was a priority to make the Qatar Digital Library website fully IIIF-compliant.

IIIF in a nutshell

Currently, the IIIF specification falls in to two parts: the Image API that deals with dynamic images, and the Presentation API that provides metadata to describe what the image refers to, and how it links to other similar items.

Image API

The image API is an image delivery API. It allows the user to decide what part, zoom level, format and rotation of the image she wants to view. The IIIF Image API URI for requesting an image must conform to the following URI Template:

{scheme}://{server}{/prefix}/{identifier}/{region}/{size}/{rotation}/{quality}.{format}

What this means it that it is now possible for any user to access any of the hundreds of thousands of images from the QDL site in any way that they choose. For example:

Full image, resized to a maximum side-length of 200 pixels:

http://images.qdl.qa/iiif/images/81055/vdc_100000001524.0x000395/Mss%20Eur%20F126_10_0001.jp2/full/!200,200/0/default.jpg

The same image, rotated by 90 degrees:

http://images.qdl.qa/iiif/images/81055/vdc_100000001524.0x000395/Mss%20Eur%20F126_10_0001.jp2/full/!200,300/90/default.jpg

The same image, zoomed in, and cropped to a specific region:

http://images.qdl.qa/iiif/images/81055/vdc_100000001524.0x000395/Mss%20Eur%20F126_10_0001.jp2/700,300,800,600/!200,200/0/default.jpg

For more information about the IIIF Image API, see the full specification at: http://iiif.io/api/image/2.0. You can also try an interactive demonstration at http://iiif.io/#try-it

Presentation API

The presentation API goes further and aims to provide metadata and context to the images that are made available as described above. It describes a format to deliver structural and presentation information about digital content using JSON documents that together describe the structure and layout of a digitised object or any other collection of images and related content.

The JSON response contains information on the document itself such as its title, description, creation date, viewing order and other relevant information. Then comes the Sequence information that describes the order of images in the archive, the size of those images, their titles and alternate images. Finally Structure information is used to describe the logical hierarchy for the various images (e.g. chapters of a book).

For more information about the IIIF Presentation API, see the full specification at http://iiif.io/api/presentation/2.0/

What does this mean for users?

So far, so what? Well, the upshot of all the technical stuff mentioned above is that users can now request any image from the 550,000+ images of the Qatar Digital Library in any format, size or crop, and even use their own favourite zoomable viewer to do so.

More importantly, the Presentation API allows users to not just view the information in the way we present it to them but instead chose their own software to access this information. Read on for examples of how this can work.

QDL viewer

On the Qatar Digital Library website we built a web-based document viewer that aims to be simple to use, and fits in with the design and brand of the wider website. There is a trade-off between providing advanced functionality to power users such as archivists, and historians and the desire to keep things simple so that it can be used and understood by as wide an audience as possible. So what we ended up with does not offer advanced functionality such as a choice of layouts, side-by-side document comparisons, etc. which are available in some of the open-source viewers mentioned below.

Screenshot of the default document view on the Qatar Digital Library website.
View this online.

Internet Archive Book Reader/ IIIF Book Reader

The Internet Archive Book Reader was developed by the Internet Archive and open source contributors. Their goal is to provide online access to scanned books. A plugin for the Internet Archive BookReader developed by Github user ‘aeschylus’ enables easy book viewing on top of a IIIF-compatible back end.

This viewer has page-turning functionality and provides a nice way to read an archive as the user gets the feeling of what she is reading.

For more information about the Internet Archive Book Reader see https://openlibrary.org and http://aeschylus.github.io/IIIFBookReader/

Screenshot of Internet Archive Book Reader with IIIF support.
View online demo

Universal viewer

The IIIF-based Universal Viewer is the latest version of the Wellcome Player, developed by Digirati with funding from the British Library and other organisations.

This viewer provides several more advanced features including viewing metadata and structure from the Prenstation API data, as well as jumping to page numbers, and bookmarkable URLs with a specific zoom level and area of image.

Screenshot of the Universal Viewer. View online demo

Mirador

Mirador is probably the most advanced IIIF viewer available at the moment. It allows side-by-side comparison of items, can open multiple items at the same time and has an interface to switch between different archives as well as different pages in the same archive.

For more information, see: https://github.com/IIIF/mirador

Screenshot of Mirador. View online demo

Conclusion

We are pleased to say that the Qatar Digital Library website now fully supports both the IIIF Image and Presentation APIs. Further development will enhance this support, including embedding one or more viewers within the current page.

Both the Qatar National Library and Cogapp are proud to take part in the IIIF community, and to join the growing list of international institutions that support the standard.

Further Reading

IIIF website http://iiif.io/

Specific instructions for the Qatar Digital Library: http://www.qdl.qa/en/image-options

Demo site for the viewers mentioned above: http://labs.cogapp.com/iiif

To find out more about IIIF, get in touch with us, or have a look at these resources:

--

--

Senior Software Engineer at Kudelski Security (previously Developer at Cogapp)