1 of 87

International Image Interoperability Framework

2 of 87

Agenda

  • Intro to IIIF
  • Community update
  • Participant roundtable
  • Overview of IIIF APIs
  • Break
  • Demos of IIIF in action
  • Participant demos and use cases
  • Discussion

3 of 87

Introduction to IIIF

4 of 87

IIIF Community

Sheila Rabun

IIIF Community and Communications Officer, IIIF Consortium

srabun@iiif.io

5 of 87

IIIF is a community-driven framework

6 of 87

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.
  • 41 institutional members

Open Source Software

  • Mirador
  • Universal Viewer
  • OpenSeadrgon
  • Loris
  • IIPImage

Subject Experts

7 of 87

Institutional Adoption

  • 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

8 of 87

Global Community

  • 100+ organizations
  • 345+ million images

9 of 87

IIIF Community Groups

  • http://iiif.io/community/groups
  • Manuscripts
  • Newspapers
  • Museums
  • Software Developers

10 of 87

Technical Specification Groups

  • As needs arise within the community, new technical specification groups are formed
  • IIIF A/V
  • IIIF Discovery
  • IIIF Text Granularity
  • New use cases considered as IIIF evolves:

11 of 87

IIIF Consortium (IIIF-C)

  • http://iiif.io/community/consortium
  • 41 institutional members
  • Sustainability and steering for IIIF
  • Organizational structure:
    • Executive Committee – core founding members, high level direction
    • Coordinating Committee – active leaders for week to week activities
    • Editorial Group – writes API specifications
  • Additional Founding Members – through 2017

12 of 87

Consortial Business

  • Hiring a technical coordinator
  • Opening up new tiers of membership in 2018
  • Seeking partners
    • Software firms
    • Contractors & consultants
    • Training
    • Complementary projects & associations
    • Please join the IIIF Consortium

13 of 87

Partnerships and Projects

  • OpenJPEG improvement project
  • Grant-funded projects:
    • Newspapers in Hydra (IMLS)
    • Avalon Media System (IMLS)
    • Save our Sounds (Mellon)
  • DHSI Summer Institute 2018
  • American Art Collaborative consulting pilot

14 of 87

Emerging Trends

  • Increasing adoption & experimentation
  • STEM imaging, publishing, DH
  • Improving documentation for implementers and end users
  • Lowering the barriers to adoption

15 of 87

IIIF to go

… and more!

15

16 of 87

17 of 87

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

18 of 87

Communication Channels

  • http://iiif.io/community
  • IIIF-Discuss email list
  • Recurring calls
  • Slack
  • Twitter @iiif_io #IIIF
  • GitHhub: http://github.com/iiif

19 of 87

Where to Learn More

  • IIIF YouTube channel
  • GitHhub: http://github.com/iiif
  • Annual in-person events: http://iiif.io/event
    • Working Meetings
    • Conferences
  • Email me: srabun@iiif.io

20 of 87

IIIF Community Newsletter

21 of 87

Participate!

  • Please join IIIF-C
  • Help represent & advocate for IIIF
    • Within your institution
    • Within your region
    • Within your sector
    • At conferences & events
  • Share your deployments
  • Share your ideas
  • Join the calls, Slack, a group
  • Lead a group!
  • Run a local event

22 of 87

Participant Roundtable

Where do you fit in?

What can IIIF do for you?

23 of 87

IIIF Application Programming Interfaces (APIs)

24 of 87

25 of 87

IIIF Image API

26 of 87

Play Along!

(bandwidth permitting)

27 of 87

Syntax

https://example.edu/{id}/{region}/{size}/{rotation}/{quality}.{fmt}�

https://example.edu/{id}/info.json

28 of 87

https://example.edu/{id}/full/full/0/default.jpg

29 of 87

https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg

X

Y

W

H

30 of 87

https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg

X

Y

W

H

31 of 87

https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg

32 of 87

https://example.edu/{id}/3930,550,980,2630/full/0/default.jpg

33 of 87

https://example.edu/{id}/3930,550,980,2630/250,/0/default.jpg

34 of 87

https://example.edu/{id}/3930,550,980,2630/,670/0/default.jpg

Many Size Options:

  • w,
  • ,h
  • !w,h
  • w,h
  • pct:n

35 of 87

https://example.edu/{id}/3930,550,980,2630/250,/90/default.jpg

36 of 87

https://example.edu/{id}/3930,550,980,2630/250,/45/default.jpg

37 of 87

https://example.edu/{id}/3930,550,980,2630/250,/90/default.jpg

38 of 87

https://example.edu/{id}/3930,550,980,2630/250,/90/gray.jpg

39 of 87

https://example.edu/{id}/full/200,/0/default.png

40 of 87

https://example.edu/{id}/square/200,/0/default.png

==

https://example.edu/{id}/0,998,5204,5204/200,/0/default.png

41 of 87

https://example.edu/{id}/square/200,/0/default.png

==

https://example.edu/{id}/0,998,5204,5204/200,/0/default.png

42 of 87

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

}

]

}

43 of 87

https://example.edu/{id}/0,1024,1024,1024/1024,/0/default.jpg

44 of 87

45 of 87

Break 3:30-4pm

46 of 87

IIIF Presentation API

Content

Canvas

Sequence

Manifest

Collection

47 of 87

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

48 of 87

Shared Canvas Data Model / Web Annotation Data Model

49 of 87

Shared Canvas Data Model / Web Annotation Data Model

Transcription

Annotation

50 of 87

Content

Canvas

Sequence

Manifest

Collection

51 of 87

Content

Canvas

Sequence

Manifest

Collection

52 of 87

Content

Canvas

Sequence

Manifest

Collection

53 of 87

{� label: "The institution of civil government"

metadata: [� { label: "Author", value: ["Benjamin Hoadly"] }

]� …

}

Content

Canvas

Sequence

Manifest

Collection

54 of 87

{� label: "The institution of civil government"

metadata: [� { label: "Author", value: ["Benjamin Hoadly"] }

]� …

}

{� label: "The XYZ Collection"

manifests: [� …

]

}

Content

Canvas

Sequence

Manifest

Collection

55 of 87

Other Properties

  • Descriptive Properties � (label, metadata, description, thumbnail)
  • Rights and Licensing Properties� (attribution, license, logo)
  • Technical Properties� (viewing direction, viewing hints, width, height, ...)
  • Linking Properties� (related, see also, start canvas, within, ... )
  • Paging Properties� (first, last, next, total)

56 of 87

Other Types

  • Annotation
  • Annotation List
  • Layer
  • Range

Content

Canvas

Sequence

Manifest

Collection

Annotation

AnnotationList

Layer

Range

57 of 87

Sample Manifest

(bandwidth permitting)

58 of 87

Coming Soon: IIIF A/V & Presentation 3.0

  • British Library “Save our Sounds” grant from Mellon Foundation
  • Add a time dimension to the Canvas model
  • Change to W3C Web Annotation Data Model (from Open Annotation)
  • Late 2018?

59 of 87

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

60 of 87

Annotation motivation terms

61 of 87

62 of 87

63 of 87

Who is using the Search API?

  • The British Library
  • University College Dublin
  • National Library of Wales
  • The Wellcome Trust
  • North Carolina State University
  • 34+ institutions investigating or developing support

64 of 87

65 of 87

66 of 87

67 of 87

Live search example

  • Wellcome Library

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.

68 of 87

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
  • 4 areas of work
    • 1. Crawling and Harvesting
    • 2. Content Indexing
    • 3. Change Notification
    • 4. Import to Viewers

69 of 87

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

70 of 87

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)

71 of 87

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.

72 of 87

73 of 87

Login

74 of 87

Click-through

75 of 87

IIIF Authentication API implementations

  • British Library
    • In copyright material
    • Staff access
    • Single user access within the building
  • The Wellcome Library
  • Getty
    • Staff access off site to private material
    • On site for copyright
  • Auth Playground:

76 of 87

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.

77 of 87

Demonstrations of IIIF in Action

78 of 87

79 of 87

80 of 87

81 of 87

82 of 87

83 of 87

84 of 87

85 of 87

86 of 87

Participant Demos/Implementation Scenarios

87 of 87

Discussion