1. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Rob Sanderson
rsanderson@getty.edu
@azaroth42
@iiif_io #iiifhttp://iiif.io/
The Advantages of Interoperable APIs
2. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
A Community
that develops APIs,
implements them in Software,
and exposes interoperable Content
3. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Application Programming Interface
“ A set of routines, protocols, and tools for
building software applications. The API
specifies how software components should
interact […]
Think: The rules of the game.
If you’re not following the rules of how to
interact, then you’re not playing the game.
Lewis Chessman ; National Museum of Scotland
”
4. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Ms. Ludwig XV 15, fol. 14v ; http://www.getty.edu/art/collection/objects/233698/
Why Play by the Rules?
Cost Savings
Flexibility
Integration
5. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Cost Savings
Cheaper, Faster, Easier to obtain pieces than to build
them from scratch: Only possible with standards
6. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
No Need to Go Alone
Community shares costs
Less to understand
Already designed,
documented,
implemented,
tested
7. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Flexibility: Many Sizes are Possible
8. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Flexibility
Always have best-of-breed by
seamlessly swapping products
Easy to integrate legacy systems
Use the same content in different
applications
Support for many languages,
platforms
9. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Innovation is Encouraged
Anything not specified is possible, and should feed in to the specs
10. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Integration
• Inter-institution content in a single UI
• Reunite the Lewis Chessmen!
• … and similar
• Comparison of objects
• Shared analysis tools
• Cross institution discovery
• Multi-institution virtual exhibits
11. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Rules Updates
Haven’t had centuries to work on the APIs yet!
• Shared use cases needed
• Practical, results based requirements
• Responsively managed for changing needs
• Responsibly managed to prevent overload
• Community based process, with editorial
team documenting the decisions
12. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Rules Updates
Haven’t had centuries to work on the APIs yet!
• Shared use cases needed
• Practical, results based requirements
• Responsively managed for changing needs
• Responsibly managed to prevent overload
• Community based process, with editorial
team documenting the decisions ------->
13. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
The Past
14. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Marginally Better
15. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Provides Consistency
16. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
… and Interoperability
17. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Get the image content, and
technical data to enable rich
interactions with a single image
Just enough descriptive data to
enable a remote viewing
application for multi-image objects
Image API Presentation API
Two Core APIs
18. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Image API
http://iiif.io/api/image/2.1/
19. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Presentation API
http://iiif.io/api/presentation/2.1/
• Structure
– Collection, Item, Parts, Content
• Properties
– Descriptive
– Rights
– Technical
– Linking
20. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Presentation API
http://iiif.io/api/presentation/2.1/
• Structure
– Collection, Item, Parts, Content
• Properties
– Descriptive
– Rights
– Technical
– Linking
21. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Shared Canvas:
An abstract space used for
building a view of the object
IIIF Presentation API
22. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Shared Canvas:
An abstract space used for
building a view of the object
Think: Powerpoint Slide
IIIF Presentation API
23. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Presentation API
24. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Presentation API
25. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Presentation API
26. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
IIIF Presentation API
27. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Image + Presentation = Object
Mirador
28. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Image + Presentation = Object
29. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Image + Presentation = Object
Image API
Presentation API: Descriptive
Presentation API: Structure
Both: Image / Structure
30. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Image + Presentation = Object
Universal Viewer Diva.JS
31. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
To support login, and
differential access to
resources.
Search within an object,
such as the full text of a
book or newspaper
Authentication APISearch API
Two More APIs
All Specifications: http://iiif.io/api/
32. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
A Community
that develops APIs,
…shh … secret third line…
implements them in Software,
and exposes interoperable Content
33. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
A Community
that develops APIs,
based on Web Standards,
implements them in Software,
and exposes interoperable Content
34. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Web Standards
• Linked Open Data
• JSON-LD
• Linked Data Platform
• Open Annotation
• Media Fragments
Putting the puzzle together with a little glue to make it stick
35. IIIF: Advantages of Interoperable APIs
MOMA, New York City, May 10th 2016 // #iiif @azaroth42
Thank You!
rsanderson@getty.edu
These slides thanks to: @tcramer, @mikeapps, @jpstroop, @bla222, @zimeon, @snydman, and the IIIF community
Editor's Notes
A What?
Software won’t be cheap and easy unless there are multiple implementations. Standards avoid lock-in and vendor based monopolies.
Work together to build out the set of interactions that fulfill our communities use cases – by working together, we share the costs for designing the platforms, documenting them, implementation, maintenance and testing. Room for both open source and licensed vendor products within the community, already see both free and commercial offerings, plus large and small companies providing services.
Left: NMS, Right: British Museum
…Sometimes feels more like …
…Sometimes feels more like …
Having APIs is a good start, but you have to implement connectors for every different system. It’s stil very time consuming, and the experience is inconsistent.