International Image Interoperability Framework

Last updated
IIIF logo International Image Interoperability Framework logo.png
IIIF logo

The International Image Interoperability Framework (IIIF, spoken as 'triple-I-eff') defines several application programming interfaces that provide a standardised method of describing and delivering images over the web, as well as "presentation based metadata" [1] (that is, structural metadata) about structured sequences of images. If institutions holding artworks, books, newspapers, manuscripts, maps, scrolls, single sheet collections, and archival materials provide IIIF endpoints for their content, any IIIF-compliant viewer or application can consume and display both the images and their structural and presentation metadata.

Contents

There are many digitisation programmes that have resulted in a particular collection’s content exposed on the web in a particular viewer application, [2] but these various collections have not typically been interoperable with one another, [3] and end users or institutions cannot substitute a viewer of their choice to consume the digitised material. The IIIF aims to cultivate shared technologies for both client and server to enable interoperability across repositories, and to foster a market in compatible servers and viewing applications. [4]

Image API

The IIIF Image API specifies a web service that returns an image in response to a standard HTTP or HTTPS request. The URI can specify the region, size, rotation, quality characteristics and format of the requested image. A URI can also be constructed to request basic technical information about the image to support client applications. [5]

One major use of an Image API endpoint for a given high resolution source image is to allow clients to request low resolution tiles for use in a Deep Zoom style viewing tool such as OpenSeadragon. [6]

Presentation API

The IIIF Presentation API specifies a web service that returns JSON-LD structured documents that together describe the structure and layout of a digitized object or other collection of images and related content. [7]

An institution would publish a Manifest (a JSON-LD document) that describes the structure of each book, artwork, manuscript or other artefact. The manifest contains references to Image API endpoints. A viewer application consuming the manifest can produce a coherent user experience for the artefact by implementing features such as page by page navigation, deep zooming into images and annotations on images.

Search API

The IIIF Search API allows for "searching annotation content within a single IIIF resource, such as a Manifest, Range or Collection." [8]

Example use case

A use case for IIIF would be to allow a user to view a manuscript that has been dismembered in the past, with its leaves now scattered across various collections. [9] If each collection exposes its digitized images via the Image API, then a scholar can construct and publish a manifest that digitally recombines the leaves to present a single coherent user experience for the manuscript in any compatible viewer.

History

The Image API was proposed in late 2011 as a collaboration between The British Library, Stanford University, the Bodleian Libraries (Oxford University), the Bibliothèque nationale de France, Nasjonalbiblioteket (National Library of Norway), Los Alamos National Laboratory Research Library, and Cornell University. [10] Version 1.0 was published in 2012.

Version 1.0 of the Presentation API was published in 2013 and of the Search API in 2016.

Partial list of software that supports IIIF APIs

Image Servers

Viewers / client libraries

See also

Related Research Articles

<span class="mw-page-title-main">Linux framebuffer</span> Abstraction layer for Linux kernel to show graphics on the system console

The Linux framebuffer (fbdev) is a linux subsystem used to show graphics on a computer monitor, typically on the system console.

<span class="mw-page-title-main">YUI Library</span>

The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several cores CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.

Turning the Pages is software technology for viewing scanned books on-line in a realistic and detailed manner. It was developed by the British Library in partnership with Armadillo Systems.

<span class="mw-page-title-main">OpenSocial</span> Public specification aimed at social networking applications

OpenSocial is a public specification that outlines a set of common application programming interfaces (APIs) for web applications. Initially designed for social network applications, it was developed collaboratively by Google, MySpace and other social networks. It has since evolved into a runtime environment that allows third-party components, regardless of their trust level, to operate within an existing web application.

This is a comparison of web frameworks for front-end web development that are reliant on JavaScript code for their behavior.

<span class="mw-page-title-main">.NET Framework</span> Software platform developed by Microsoft

The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

<span class="mw-page-title-main">Play Framework</span> Open-source web framework written in Scala

Play Framework is an open-source web application framework which follows the model–view–controller (MVC) architectural pattern. It is written in Scala and usable from other programming languages that are compiled to JVM bytecode, e.g. Java. It aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser.

SWORD is an interoperability standard that allows digital repositories to accept the deposit of content from multiple sources in different formats via a standardized protocol. In the same way that the HTTP protocol allows any web browser to talk to any web server, so SWORD allows clients to talk to repository servers. SWORD is a profile (specialism) of the Atom Publishing Protocol, but restricts itself solely to the scope of depositing resources into scholarly systems.

Security Assertion Markup Language (SAML) is a set of specifications that encompasses the XML-format for security tokens containing assertions to pass information about a user and protocols and profiles to implement authentication and authorization scenarios. This article has a focus on software and services in the category of identity management infrastructure, which enable building Web-SSO solutions using the SAML protocol in an interoperable fashion. Software and services that are only SAML-enabled do not go here.

Windows Runtime (WinRT) is a platform-agnostic component and application architecture first introduced in Windows 8 and Windows Server 2012 in 2012. It is implemented in C++ and officially supports development in C++, Rust/WinRT, Python/WinRT, JavaScript-TypeScript, and the managed code languages C# and Visual Basic (.NET) (VB.NET).

Content Security Policy (CSP) is a computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context. It is a Candidate Recommendation of the W3C working group on Web Application Security, widely supported by modern web browsers. CSP provides a standard method for website owners to declare approved origins of content that browsers should be allowed to load on that website—covered types are JavaScript, CSS, HTML frames, web workers, fonts, images, embeddable objects such as Java applets, ActiveX, audio and video files, and other HTML5 features.

SensorThings API is an Open Geospatial Consortium (OGC) standard providing an open and unified framework to interconnect IoT sensing devices, data, and applications over the Web. It is an open standard addressing the syntactic interoperability and semantic interoperability of the Internet of Things. It complements the existing IoT networking protocols such CoAP, MQTT, HTTP, 6LowPAN. While the above-mentioned IoT networking protocols are addressing the ability for different IoT systems to exchange information, OGC SensorThings API is addressing the ability for different IoT systems to use and understand the exchanged information. As an OGC standard, SensorThings API also allows easy integration into existing Spatial Data Infrastructures or Geographic Information Systems.

MyCoRe is an open source repository software framework for building disciplinary or institutional repositories, digital archives, digital libraries, and scientific journals. The software is developed at various German university libraries and computer centers. Although most MyCoRe web applications are located in Germany, there are English-language applications, such as "The International Treasury of Islamic Manuscripts" at the University of Cambridge (UK).

<span class="mw-page-title-main">Aristotle Metadata Registry</span>

The Aristotle Metadata Registry is commercial Metadata Registry software based on the ISO/IEC 11179 standard for Metadata Registries. It is influenced by the AIHW METeOR Metadata Registry and the Canadian Institute of Health Information Indicator Bank. Aristotle-MDR is designed to describe data holdings databases and associated structural metadata. The Aristotle Metadata Registry was publicly launched at the 2015 IASSIST Conference in Toronto. In 2016, the founders of the Aristotle Metadata Registry were hired by Data61 to continue development of the platform.

<span class="mw-page-title-main">Samvera</span>

Samvera, originally known as Hydra, is an open-source digital repository software product. Samvera main components are Fedora Commons, Solr, Blacklight, and HydraHead. Each Samvera implementation is called a "head". "Samvera" is Icelandic for "togetherness".

<span class="mw-page-title-main">Netlify</span> American cloud computing company

Netlify is a remote-first cloud computing company that offers a development platform that includes build, deploy, and serverless backend services for web applications and dynamic websites.

References

  1. "Technical Details – IIIF – International Image Interoperability Framework" . Retrieved 9 November 2016.
  2. "Medieval Manuscripts on the Web (digitized manuscripts)" . Retrieved 9 November 2016.
  3. "Presentation on "Transcending Silos" at 2012 Digital Library Federation Forum". Archived from the original on 2015-04-02. Retrieved 2015-02-16.
  4. "Redirecting…" . Retrieved 9 November 2016.
  5. "Image API 2.1 — IIIF – International Image Interoperability Framework" . Retrieved 9 November 2016.
  6. "IIIF Tile Source – OpenSeadragon" . Retrieved 9 November 2016.
  7. "Presentation API 2.0 — IIIF – International Image Interoperability Framework" . Retrieved 9 November 2016.
  8. "IIIF Content Search API 1.0 — IIIF – International Image Interoperability Framework" . Retrieved 9 November 2016.
  9. Mauk, Ben (6 January 2014). "Scattered Leaves". The New Yorker. Retrieved 9 November 2016.
  10. "The International Image Interoperability Framework (IIIF): Laying the Foundation for Common Services, Integrated Resources and a Marketplace of Tools for Scholars Worldwide". 8 December 2011. Retrieved 9 November 2016.
  11. "Cantaloupe Image Server :: Home". cantaloupe-project.github.io.
  12. "dbmdz/iiif-server-hymir". October 29, 2020 via GitHub.
  13. "loris-imageserver/loris". GitHub . Retrieved 9 November 2016.
  14. Pillay, Ruven. "IIPImage" . Retrieved 9 November 2016.
  15. "digilib – The Digital Image Library –" . Retrieved 29 November 2016.
  16. "jronallo/djatoka". GitHub . Retrieved 9 November 2016.
  17. "OpenSeadragon" . Retrieved 9 November 2016.
  18. "ProjectMirador/mirador". GitHub . Retrieved 9 November 2016.
  19. "Clover IIIF – Showcase IIIF Manifests as interoperable web content" . Retrieved 9 January 2025.
  20. "Canopy IIIF – IIIF Collection sourced site generator in Next.js for digital collections, humanities, and exhibitions" . Retrieved 9 January 2025.
  21. "Digirati – Wellcome Player". Archived from the original on 22 October 2017. Retrieved 9 November 2016.
  22. "UniversalViewer/universalviewer". GitHub . Retrieved 9 November 2016.
  23. "IIIF for images in cultural heritage". Archived from the original on 10 November 2016. Retrieved 9 November 2016.
  24. "mejackreed/Leaflet-IIIF". GitHub . Retrieved 9 November 2016.
  25. "ruven/iipmooviewer". GitHub . Retrieved 9 November 2016.
  26. "armadillo-systems/inquire". GitHub . Retrieved 3 February 2017.
  27. "CONTENTdm responsive website image viewer". OCLC. Retrieved 18 November 2019.
  28. "Turning the Pages IIIF" . Retrieved 28 March 2023.