International Image Interoperability Framework
Agenda
Introduction to IIIF
IIIF Community
IIIF is a community-driven framework
IIIF Community Landscape
Open Source Software
Subject Experts
Institutional Adoption
Presi 2.x
Image 2.x
Presi 2.x
Image 2.x
Image 1.x
Image 1.x
Presi 1.x
Presi 1.x
Auth
Search
Authentication
Search
Image 2.x
Presi 2.x
Production
Development
Investigating
Global Community
IIIF Community Groups
Technical Specification Groups
IIIF Consortium (IIIF-C)
Consortial Business
Partnerships and Projects
Emerging Trends
IIIF to go
… and more!
15
Europeana IIIF Task Force
Timeframe: February to June 2017
Led by: Austrian National Library
Purpose: Identify current trends and tendencies towards IIIF by the Europeana content providers. Europeana has adopted IIIF but a large portion of the Europeana Network is unaware and unsure of IIIF.
Output: Recommendations Report
Communication Channels
Where to Learn More
IIIF Community Newsletter
Participate!
Participant Roundtable
Where do you fit in?
What can IIIF do for you?
IIIF Application Programming Interfaces (APIs)
IIIF Image API
Play Along!
(bandwidth permitting)
Syntax
https://example.edu/{id}/{region}/{size}/{rotation}/{quality}.{fmt}�
https://example.edu/{id}/info.json
https://example.edu/{id}/full/full/0/default.jpg
https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg
X
Y
W
H
https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg
X
Y
W
H
https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg
https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg
https://example.edu/{id}/3930,550,980,2630/250,/0/default.jpg
https://example.edu/{id}/3930,550,980,2630/,670/0/default.jpg
Many Size Options:
https://example.edu/{id}/3930,550,980,2630/250,/90/default.jpg
https://example.edu/{id}/3930,550,980,2630/250,/45/default.jpg
https://example.edu/{id}/3930,550,980,2630/250,/90/default.jpg
https://example.edu/{id}/3930,550,980,2630/250,/90/gray.jpg
https://example.edu/{id}/full/200,/0/default.png
https://example.edu/{id}/square/200,/0/default.png
==
https://example.edu/{id}/0,998,5204,5204/200,/0/default.png
https://example.edu/{id}/square/200,/0/default.png
==
https://example.edu/{id}/0,998,5204,5204/200,/0/default.png
https://example.edu/{id}/info.json
{
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "https://libimages1.princeton.edu/loris/ex.jp2",
"protocol": "http://iiif.io/api/image",
"height": 7200,
"width": 5204,
"profile": [
"http://iiif.io/api/image/2/level2.json",
{
"formats": [ "jpg", "png", "gif", "webp" ],
"qualities": [ "default", "bitonal", "gray", "color" ],
"supports": [ "canonicalLinkHeader", "profileLinkHeader", "mirroring", "rotationArbitrary" ]
}
],
"sizes": [
{ "height": 225, "width": 163 },
{ "height": 450, "width": 326 },
{ "height": 900, "width": 651 },
{ "height": 1800, "width": 1301 },
{ "height": 3600, "width": 2602 },
{ "height": 7200, "width": 5204 }
],
"tiles": [
{
"scaleFactors": [ 1, 2, 4, 8, 16, 32, 64, 128 ],
"width": 1024
}
]
}
https://example.edu/{id}/0,1024,1024,1024/1024,/0/default.jpg
Break 3:30-4pm
IIIF Presentation API
Content
Canvas
Sequence
Manifest
Collection
IIIF Presentation API
Content
Canvas
Sequence
Manifest
Collection
“The objective of the IIIF Presentation API is to provide the information necessary to allow a rich, online viewing environment for primarily image-based objects to be presented to a human user [...]. This is the sole purpose of the API and therefore the descriptive information is given in a way that is intended for humans to read, but not semantically available to machines. [... It] explicitly does not aim to provide metadata that would drive discovery of the digitized objects.”
— http://iiif.io/api/presentation/2.1/#objectives-and-scope
Shared Canvas Data Model / Web Annotation Data Model
Shared Canvas Data Model / Web Annotation Data Model
Transcription
Annotation
Content
Canvas
Sequence
Manifest
Collection
Content
Canvas
Sequence
Manifest
Collection
Content
Canvas
Sequence
Manifest
Collection
{� label: "The institution of civil government"
metadata: [� { label: "Author", value: ["Benjamin Hoadly"] }
]� …
}
Content
Canvas
Sequence
Manifest
Collection
{� label: "The institution of civil government"
metadata: [� { label: "Author", value: ["Benjamin Hoadly"] }
]� …
}
{� label: "The XYZ Collection"
manifests: [� …
]
}
Content
Canvas
Sequence
Manifest
Collection
Other Properties
Other Types
Content
Canvas
Sequence
Manifest
Collection
Annotation
AnnotationList
Layer
Range
Sample Manifest
(bandwidth permitting)
Coming Soon: IIIF A/V & Presentation 3.0
IIIF Content Search API
Annotation motivation terms
Who is using the Search API?
Live search example
Note that the IIIF Search API doesn’t specify how the search interface is presented to the user, it specifies the back-end mechanism by which the client can query annotation content on any IIIF Search API compatible server.
But what about discovery?
IIIF Authentication API
Doesn’t do authentication per se but provides an interaction pattern allowing existing authentication infrastructure (CAS, OAuth, etc.) to be used to control access to IIIF resources
IIIF Authentication API
Specification describes how to
Authentication patterns
Login
Click-through
IIIF Authentication API implementations
HTTPS and mixed-content
All of the IIIF specs work over either HTTP or HTTPS (though you shouldn’t ever use authentication with HTTP)
BUT, plain HTTP and HTTPS do not play well together. Browsers block mixed-content, see e.g.
HTTPS – Just do it! Everyone should.
Demonstrations of IIIF in Action
Participant Demos/Implementation Scenarios
Discussion