Samvera and IIIF:
Opportunities and Challenges
Jon Dunn (Indiana), Simeon Warner (Cornell),
Hannah Frost (Stanford), Adam Wead (Penn. State),
Trey Pendragon (Princeton)
http://bit.ly/2018-samvera-iiif
Samvera Connect 2018, Salt Lake City, Utah
IIIF Community
Credits – There are no
original IIIF slide decks!
These IIIF introductory slides
include work from Mike
Appleby Jon Stroop, Rob
Sanderson, Tom Crane,
Sheila Rabun, Glen Robson,
Tom Cramer, and probably
others
IIIF Community Landscape
● Manuscripts
● Museums
● Newspapers
● Software
Developers
● Audio/Visual
● Discovery
● Text Granularity
● Libraries
● Museums
● Research Institutions
● Archives
● Galleries
● Aggregators● Cogapp
● Digirati
● Klokan Technologies
● LUNA Imaging
● OCLC - ContentDM
● Synaptica
● Zegami
● 4Science
● Etc.
● 51 institutional members
Open Source
Software
● Mirador
● Universal
Viewer
● OpenSeadrgon
● Loris
● IIPImage
Subject
Experts
Institutional Adoption (2017)
•http://iiif.io/community/
•IIIF Adopters Survey
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 (2017)
● 100+ organizations
● 345+ million images
IIIF Community Groups
•http://iiif.io/community/groups
•3D
•Archives
•Manuscripts
•Museums
•Newspapers
•Outreach
•Software Developers
Technical Specification Groups
As needs arise within the community, new TSGs
are formed to work toward specificiations
•IIIF A/V
•IIIF Discovery
•IIIF Text Granularity
•New use cases considered as IIIF evolves:
•https://github.com/IIIF/iiif-stories
IIIF Consortium (IIIF-C)
•http://iiif.io/community/consortium
•51 institutional members (as of 2018-10-11)
•Sustainability and steering for IIIF
•Organizational structure:
• Executive Committee – core founding members, high level direction
• Coordinating Committee – active leaders for week to week activities
• Technical Review Committee – reviews API specifications, notes and new TSGs
• Editorial Group – writes API specifications
APIs
Current and coming...
IIIF Image API 2.1 (3.0 in draft)
Image API Request Syntax
1) Image Information
https://example.edu/{id}/info.json
2) Image Request
https://example.edu/{id}/{region}/{size}/{rotation}/{quality}.{fmt}
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
Tiles:
the 95% use case (*)
tiles with powers of 2
scaling are what
pan-zoom viewers rely
upon
(*) wild guestimate
https://example.edu/{id}/square/200,/0/default.png
==
https://example.edu/{id}/0,998,5204,5204/200,/0/default.png
Thumbnails:
the 4% use case (*)
● preferred sizes
● special square
support
(*) wild guestimate
https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg
X
Y W
H
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/gray.jpg
Content
Canvas
Sequence
Manifest
Collection IIIF Presentation API 2.1
“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
Canvas
A digital surrogate
for a physical page
which should be
rendered to the
user (from Shared
Canvas)
May be x,y, x,y,t or
t in Presentation 3
The canvas is an
empty space, in
order to present
something we need to
paint resources onto it
Shared Canvas Data Model & Annotation
Image resource
painted – via
annotation with
motivation
sc:painting --
onto Canvas
http://demos.biblissima-condorcet.fr/chateauroux/demo/
Shared Canvas Data Model & More Annotation
Transcription
(sc:painting)
Commentary
(oa:commenting)
Content
Canvas
Sequence
Manifest
Collection
Content
Canvas
Sequence
Manifest
Collection
Content
Canvas
Sequence
Manifest
Collection
← change in
Presentation 3.0
{
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
● Descriptive Properties
● Rights and Licensing Properties
● Technical Properties
● Linking Properties
● Paging Properties
Content
Canvas
Sequence
Manifest
Collection
Annotatio
n
Annotatio
nList
Layer
Range
Presentation
2.1 → 3.0
IIIF Authentication API
● http://iiif.io/api/auth/1.0/
● v1.0 released January 19, 2017
● (18 months from first public draft)
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
● From within a viewer, initiate an interaction with an access
control system so that a user can acquire the credentials
they need to view restricted content
● Give the client just enough knowledge of the user’s state
with respect to the content provider to ensure a good user
experience (including providing alternate images)
Authentication patterns
● Login
○ The user will be required to log in using a separate window with a UI
provided by an external authentication system.
● Click through
○ The user will be required to click a button within the client using content
provided in the service description.
● Kiosk
○ The user will not be required to interact with an authentication system,
the client is expected to use the access cookie service automatically.
● External
○ The user is expected to have already acquired the appropriate cookie,
and the access cookie service will not be used at all.
Authentication Example: Click-through
IIIF Content Search API
● http://iiif.io/api/search/1.0
● Specification for searching within annotations in a
single IIIF resource -- implements ^F like functionality
Annotation motivation terms
But what about discovery?
● Search API provides only search over annotations within IIIF resources
● Discovery TSG working on ways to support discovery of IIIF resources
○ http://iiif.io/community/groups/discovery/charter/
● 4 areas of work
○ 1. Crawling and Harvesting → Change Discovery API 0.1
○ 2. Content Indexing
○ 3. Change Notification
○ 4. Import to Viewers
IIIF API
Roadmap
2018: Presentation 3.0
Image 3.0
Change Discovery 0.2
2019: Authentication 2.0
Change Discovery 1.0
Notification 1.0
Import 0.9 (Beta)
2020: Search 2.0
Import 1.0
Indiana University
Indiana University: Context
● Not an early adopter of/participant in IIIF
● Believer in the mission/goals - founding member of IIIF Consortium
● Main motivation/participation: A/V
● 20+ year history in A/V repositories, teaching and learning, research,
annotation tools
● Large amount (10 PB+) of digitized A/V content
● Holy grail: Interoperability between tools and content
Why IIIF AV?
•Can we do for time-based media what IIIF already does for images
and things made up of images?
•Describe complex AV works in an interoperable way, via a manifest
• Access, viewing
• Annotation
• Search…
•Use IIIF to present time-based media consistently with image-based
objects
•Benefit from same IIIF mechanisms for linking, metadata, content
search, access control
IIIF Presentation API 3.0:
Canvases can now have duration(0,0)
(3110, 2102)
🕐
•This canvas has a
mixture of image, video
and text annotations,
targeting different
regions of the x,y space
and different extents of
the canvas duration.
•The user interface gives
the user control of the
canvas time
IIIF A/V Work at Indiana University
• Avalon/Hyrax:
• Hyrax support for Presentation 3.0 manifests, including for AV
• IIIF AV player based on MediaElement.js
• Representation of playlists as IIIF manifests
• IIIF Timeliner
• Musical form diagramming tool consuming/creating IIIF manifests
• AMP: Audiovisual Metadata Platform
• Machine learning + human processing to create and augment timecoded
A/V metadata
• Output as IIIF manifest?
Indiana University:
Other IIIF Opportunities and Challenges
• Implementing IIIF for images
• Extending IIIF beyond the Libraries, e.g. Art Museum
• Proprietary DAM systems
Cornell
Cornell Engagement with IIIF
● Involved in early discussions leading to first prototypes
● Editorial contributions since Image API 1.0 in 2012
● Early testing and experiments with static file solutions
● Use of Artstor IIIF support in Samvera application
Belief that ubiquitous IIIF will benefit scholars and the public. It will:
● create a rich environment for use and reuse of image/audio/video content
● encourage open access (without insisting upon it)
● support an environment of shared annotation
● make efficient use of library resources (reusable/shared not bespoke)
https://digital.library.cornell.edu/catalog/ss:20987268
ff
"Digital Collections Portal"
● Central place for
image collections
● Samvera application
● Content on Artstor
● Uses Artstor IIIF
Image API and
OpenSeadragon
viewer
● Just single images so
far, no support for IIIF
Presentation API yet
Experiments with IIIF
Presentation API
● Exploring
presentation and
sustainability
questions
● Use of static tiles
and manifests
convenient for
demonstrations
and mockup
Temporary location: http://resync.library.cornell.edu/iiif/hms_lion
Opportunities and Challenges
● Using IIIF more at Cornell!
● Broad and complete support of Presentation 3.0 in tooling, then stability
○ Significant changes 2.1→3.0 including adding time
○ Some upgrade fatigue already
● Sustainable growth of community and scope of work
○ Museum and archive involvement around the world
○ Images → Audio and Video → 3D?
● Scholar/user annotations
○ Consistent and effective UIs
○ Storage / sharing / re-use in ways that meet user needs and understanding
● Effective, efficient and sufficiently flexible tooling in Ruby/Samvera
○ Good handling of separate image/media servers
○ Workflows, modeling and generation of presentation information, manifest creation…
● Persisting URIs
Stanford
Opportunities
● Breaks down constrained, UI-based access
● Enables researcher-oriented tooling in repository
context (e.g., Mirador)
● Aligned with “collections as data”
● Encourages tech sharing more broadly,
e.g., museums
● Makes Samvera solutions highly competitive
Challenges
● Adoption by Google, other web content giants
● Broad uptake of tools by researchers
● Making it understandable to technically-inclined
peers
Penn. State
Princeton
Samvera for
Manifest
Creation
Figgy: Creating & Serving Manifests
IIIF in our Catalog
Spotlight: Consuming IIIF Manifests
Digital Cicognara: Bringing Manifests
Together
https://cicognara.org
Opportunities and Challenges
1. IIIF 3.0 A/V Support
2. Authentication implementation for our private resources.
3. Align to IIIF Discovery Work for our endpoints.
4. Implementing IIIF Search & Annotation.
5. Participate in more initiatives where we can share our
manifests.
Discussion
https://iiif.io/
https://groups.google.com/forum/#!f
orum/iiif-discuss
https://iiif.io/community/

Samvera and IIIF 2018

  • 1.
    Samvera and IIIF: Opportunitiesand Challenges Jon Dunn (Indiana), Simeon Warner (Cornell), Hannah Frost (Stanford), Adam Wead (Penn. State), Trey Pendragon (Princeton) http://bit.ly/2018-samvera-iiif Samvera Connect 2018, Salt Lake City, Utah
  • 2.
    IIIF Community Credits –There are no original IIIF slide decks! These IIIF introductory slides include work from Mike Appleby Jon Stroop, Rob Sanderson, Tom Crane, Sheila Rabun, Glen Robson, Tom Cramer, and probably others
  • 3.
    IIIF Community Landscape ●Manuscripts ● Museums ● Newspapers ● Software Developers ● Audio/Visual ● Discovery ● Text Granularity ● Libraries ● Museums ● Research Institutions ● Archives ● Galleries ● Aggregators● Cogapp ● Digirati ● Klokan Technologies ● LUNA Imaging ● OCLC - ContentDM ● Synaptica ● Zegami ● 4Science ● Etc. ● 51 institutional members Open Source Software ● Mirador ● Universal Viewer ● OpenSeadrgon ● Loris ● IIPImage Subject Experts
  • 4.
    Institutional Adoption (2017) •http://iiif.io/community/ •IIIFAdopters Survey 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
  • 5.
    Global Community (2017) ●100+ organizations ● 345+ million images
  • 6.
  • 7.
    Technical Specification Groups Asneeds arise within the community, new TSGs are formed to work toward specificiations •IIIF A/V •IIIF Discovery •IIIF Text Granularity •New use cases considered as IIIF evolves: •https://github.com/IIIF/iiif-stories
  • 8.
    IIIF Consortium (IIIF-C) •http://iiif.io/community/consortium •51institutional members (as of 2018-10-11) •Sustainability and steering for IIIF •Organizational structure: • Executive Committee – core founding members, high level direction • Coordinating Committee – active leaders for week to week activities • Technical Review Committee – reviews API specifications, notes and new TSGs • Editorial Group – writes API specifications
  • 9.
  • 10.
    IIIF Image API2.1 (3.0 in draft)
  • 11.
    Image API RequestSyntax 1) Image Information https://example.edu/{id}/info.json 2) Image Request https://example.edu/{id}/{region}/{size}/{rotation}/{quality}.{fmt}
  • 12.
    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 } ] }
  • 13.
    https://example.edu/{id}/0,1024,1024,1024/1024,/0/default.jpg Tiles: the 95% usecase (*) tiles with powers of 2 scaling are what pan-zoom viewers rely upon (*) wild guestimate
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 20.
    Content Canvas Sequence Manifest Collection IIIF PresentationAPI 2.1 “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
  • 21.
    Shared Canvas DataModel Canvas A digital surrogate for a physical page which should be rendered to the user (from Shared Canvas) May be x,y, x,y,t or t in Presentation 3 The canvas is an empty space, in order to present something we need to paint resources onto it
  • 22.
    Shared Canvas DataModel & Annotation Image resource painted – via annotation with motivation sc:painting -- onto Canvas
  • 24.
  • 25.
    Shared Canvas DataModel & More Annotation Transcription (sc:painting) Commentary (oa:commenting)
  • 26.
  • 27.
  • 28.
  • 29.
    { label: "The institutionof civil government" metadata: [ { label: "Author", value: ["Benjamin Hoadly"] } ] … } Content Canvas Sequence Manifest Collection
  • 30.
    { label: "The institutionof civil government" metadata: [ { label: "Author", value: ["Benjamin Hoadly"] } ] … } { label: "The XYZ Collection" manifests: [ … ] } Content Canvas Sequence Manifest Collection
  • 31.
    Other Properties ● DescriptiveProperties ● Rights and Licensing Properties ● Technical Properties ● Linking Properties ● Paging Properties
  • 32.
  • 33.
    IIIF Authentication API ●http://iiif.io/api/auth/1.0/ ● v1.0 released January 19, 2017 ● (18 months from first public draft) 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
  • 34.
    IIIF Authentication API Specificationdescribes how to ● From within a viewer, initiate an interaction with an access control system so that a user can acquire the credentials they need to view restricted content ● Give the client just enough knowledge of the user’s state with respect to the content provider to ensure a good user experience (including providing alternate images)
  • 35.
    Authentication patterns ● Login ○The user will be required to log in using a separate window with a UI provided by an external authentication system. ● Click through ○ The user will be required to click a button within the client using content provided in the service description. ● Kiosk ○ The user will not be required to interact with an authentication system, the client is expected to use the access cookie service automatically. ● External ○ The user is expected to have already acquired the appropriate cookie, and the access cookie service will not be used at all.
  • 37.
  • 38.
    IIIF Content SearchAPI ● http://iiif.io/api/search/1.0 ● Specification for searching within annotations in a single IIIF resource -- implements ^F like functionality
  • 39.
  • 45.
    But what aboutdiscovery? ● Search API provides only search over annotations within IIIF resources ● Discovery TSG working on ways to support discovery of IIIF resources ○ http://iiif.io/community/groups/discovery/charter/ ● 4 areas of work ○ 1. Crawling and Harvesting → Change Discovery API 0.1 ○ 2. Content Indexing ○ 3. Change Notification ○ 4. Import to Viewers
  • 46.
    IIIF API Roadmap 2018: Presentation3.0 Image 3.0 Change Discovery 0.2 2019: Authentication 2.0 Change Discovery 1.0 Notification 1.0 Import 0.9 (Beta) 2020: Search 2.0 Import 1.0
  • 47.
  • 48.
    Indiana University: Context ●Not an early adopter of/participant in IIIF ● Believer in the mission/goals - founding member of IIIF Consortium ● Main motivation/participation: A/V ● 20+ year history in A/V repositories, teaching and learning, research, annotation tools ● Large amount (10 PB+) of digitized A/V content ● Holy grail: Interoperability between tools and content
  • 49.
    Why IIIF AV? •Canwe do for time-based media what IIIF already does for images and things made up of images? •Describe complex AV works in an interoperable way, via a manifest • Access, viewing • Annotation • Search… •Use IIIF to present time-based media consistently with image-based objects •Benefit from same IIIF mechanisms for linking, metadata, content search, access control
  • 50.
    IIIF Presentation API3.0: Canvases can now have duration(0,0) (3110, 2102) 🕐
  • 51.
    •This canvas hasa mixture of image, video and text annotations, targeting different regions of the x,y space and different extents of the canvas duration. •The user interface gives the user control of the canvas time
  • 53.
    IIIF A/V Workat Indiana University • Avalon/Hyrax: • Hyrax support for Presentation 3.0 manifests, including for AV • IIIF AV player based on MediaElement.js • Representation of playlists as IIIF manifests • IIIF Timeliner • Musical form diagramming tool consuming/creating IIIF manifests • AMP: Audiovisual Metadata Platform • Machine learning + human processing to create and augment timecoded A/V metadata • Output as IIIF manifest?
  • 55.
    Indiana University: Other IIIFOpportunities and Challenges • Implementing IIIF for images • Extending IIIF beyond the Libraries, e.g. Art Museum • Proprietary DAM systems
  • 56.
  • 57.
    Cornell Engagement withIIIF ● Involved in early discussions leading to first prototypes ● Editorial contributions since Image API 1.0 in 2012 ● Early testing and experiments with static file solutions ● Use of Artstor IIIF support in Samvera application Belief that ubiquitous IIIF will benefit scholars and the public. It will: ● create a rich environment for use and reuse of image/audio/video content ● encourage open access (without insisting upon it) ● support an environment of shared annotation ● make efficient use of library resources (reusable/shared not bespoke)
  • 58.
    https://digital.library.cornell.edu/catalog/ss:20987268 ff "Digital Collections Portal" ●Central place for image collections ● Samvera application ● Content on Artstor ● Uses Artstor IIIF Image API and OpenSeadragon viewer ● Just single images so far, no support for IIIF Presentation API yet
  • 59.
    Experiments with IIIF PresentationAPI ● Exploring presentation and sustainability questions ● Use of static tiles and manifests convenient for demonstrations and mockup Temporary location: http://resync.library.cornell.edu/iiif/hms_lion
  • 60.
    Opportunities and Challenges ●Using IIIF more at Cornell! ● Broad and complete support of Presentation 3.0 in tooling, then stability ○ Significant changes 2.1→3.0 including adding time ○ Some upgrade fatigue already ● Sustainable growth of community and scope of work ○ Museum and archive involvement around the world ○ Images → Audio and Video → 3D? ● Scholar/user annotations ○ Consistent and effective UIs ○ Storage / sharing / re-use in ways that meet user needs and understanding ● Effective, efficient and sufficiently flexible tooling in Ruby/Samvera ○ Good handling of separate image/media servers ○ Workflows, modeling and generation of presentation information, manifest creation… ● Persisting URIs
  • 61.
  • 62.
    Opportunities ● Breaks downconstrained, UI-based access ● Enables researcher-oriented tooling in repository context (e.g., Mirador) ● Aligned with “collections as data” ● Encourages tech sharing more broadly, e.g., museums ● Makes Samvera solutions highly competitive
  • 63.
    Challenges ● Adoption byGoogle, other web content giants ● Broad uptake of tools by researchers ● Making it understandable to technically-inclined peers
  • 64.
  • 65.
  • 66.
  • 67.
    Figgy: Creating &Serving Manifests
  • 68.
    IIIF in ourCatalog
  • 69.
  • 70.
    Digital Cicognara: BringingManifests Together https://cicognara.org
  • 71.
    Opportunities and Challenges 1.IIIF 3.0 A/V Support 2. Authentication implementation for our private resources. 3. Align to IIIF Discovery Work for our endpoints. 4. Implementing IIIF Search & Annotation. 5. Participate in more initiatives where we can share our manifests.
  • 72.