SlideShare una empresa de Scribd logo
1 de 27
(H)appiness is a warm API!
Using APIs to develop new library services

                                        Dave Pattern
                           Library Systems Manager
                          University of Huddersfield
                             d.c.pattern@hud.ac.uk
                           http://daveyp.com/blog/
What is an API?


• An Application Programming Interface
  allows separate pieces of software to
  communicate with each other, typically
  to share content
• A web-based API is usually called a “Web
  Service” and often uses XML or JSON
  (JavaScript Object Notation)
An example: OCLC’s xISBN


•   Convert a 10 digit ISBN to 13 digits
•   Convert a 13 digit ISBN to 10 digits
•   Fix an incorrect ISBN checksum
•   Fetch basic metadata
•   Fetch details of other
    editions of a book – e.g.
184428512X (2005)
http://xisbn.worldcat.org/webservices/xid/isbn/184428512X?fl=year,lang




                                                                         4
MyReading
reading list project at Huddersfield

• A reading list is a list of books, journal articles,
  etc for each module on an academic course
• Only 1 developer, working 1.5 days a week
• Just 10 months to deliver a working product
• Lots of technical challenges ... especially with
  getting data into the system!


                                                     [5]
How can we make it
easy for academics to
 add books from the
  library catalogue?
7
Title     Amino acid and peptide
          synthesis
Author    Jones, John
Date      2002
Edition   2nd
Series    Oxford chemistry primers
ISBN      0199257388
                                   8
9
How can we make it
easy for academics to
 add journal articles
to their reading lists?
11
Title    Amino acid containing
         anion receptors
Author   Kubik, Stefan
Journal Chemical Society reviews
ISSN     0306-0012
Page     585
Date     February 2009
                                 12
13
How do we ensure
 journal article links
will continue to work,
even if we change to
  a new platform?
15
the link resolver’s
  API returns the
current access links




                       16
If an academic has
     added an older
edition, how do we let
 students know about
   the latest edition?
18
19
Title   Amino acid and peptide
        synthesis (1992)
ISBN    0198556683

xISBN   2nd edition
        published in 2002
        0199257388 (pbk)

                                 20
academic added
the 1996 edition




              student can see we
                 have a newer
               edition from 2005
                                   21
If a student has to buy
a book for the course,
 can we provide them
 with purchase links?
23
24
student can see the
 current book price
at various web sites




                       25
Summary


• APIs allow developers to enrich existing
  library services and to rapidly develop
  new ones
• APIs allow you to “glue” together
  different services and products, and this
  then allows data to flow automatically
Summary


• When purchasing new software,
  remember to ask the vendor...
  – does it have an fully-featured API?
  – is the documentation publicly available?
  – what have other libraries developed using
    your API?

Más contenido relacionado

Similar a (H)appiness is a warm API!

Similar a (H)appiness is a warm API! (20)

Partnering to Improve Library Discovery Services
Partnering to Improve Library Discovery ServicesPartnering to Improve Library Discovery Services
Partnering to Improve Library Discovery Services
 
Day3 edupub tokyo_idpf
Day3 edupub tokyo_idpfDay3 edupub tokyo_idpf
Day3 edupub tokyo_idpf
 
Ukgs2013 dave pattern
Ukgs2013 dave patternUkgs2013 dave pattern
Ukgs2013 dave pattern
 
ICON UK '13 - Apache Software: The FREE Java toolbox you didn't know you had !!
ICON UK '13 - Apache Software: The FREE Java toolbox you didn't know you had !!ICON UK '13 - Apache Software: The FREE Java toolbox you didn't know you had !!
ICON UK '13 - Apache Software: The FREE Java toolbox you didn't know you had !!
 
Research Tool - End Note
Research Tool - End NoteResearch Tool - End Note
Research Tool - End Note
 
OER Authoring and Delivery Platforms
OER Authoring and Delivery PlatformsOER Authoring and Delivery Platforms
OER Authoring and Delivery Platforms
 
From Open Access to Open Science: from the Viewpoint of a Scholarly Publisher
From Open Access to Open Science: from the Viewpoint of a Scholarly PublisherFrom Open Access to Open Science: from the Viewpoint of a Scholarly Publisher
From Open Access to Open Science: from the Viewpoint of a Scholarly Publisher
 
The Technion Library System - 2015
The Technion Library System - 2015The Technion Library System - 2015
The Technion Library System - 2015
 
The technion library system 2015 vision mission and challenges july2015
The technion library system 2015  vision mission and challenges july2015The technion library system 2015  vision mission and challenges july2015
The technion library system 2015 vision mission and challenges july2015
 
Ead editor 2012
Ead editor 2012Ead editor 2012
Ead editor 2012
 
Linked Open Citation Database (LOC-DB)
Linked Open Citation Database (LOC-DB)Linked Open Citation Database (LOC-DB)
Linked Open Citation Database (LOC-DB)
 
18 years developing educational technology at Loughborough University and beyond
18 years developing educational technology at Loughborough University and beyond18 years developing educational technology at Loughborough University and beyond
18 years developing educational technology at Loughborough University and beyond
 
November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...
November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...
November 19, 2014 NISO Virtual Conference: Can't We All Work Together?: Inter...
 
osCaddie Drupal/Alfresco Integration Technical Update
osCaddie Drupal/Alfresco Integration Technical UpdateosCaddie Drupal/Alfresco Integration Technical Update
osCaddie Drupal/Alfresco Integration Technical Update
 
European Libraries Network for Development - EL@ND
European Libraries Network for Development -  EL@NDEuropean Libraries Network for Development -  EL@ND
European Libraries Network for Development - EL@ND
 
201 ssp discoverability
201 ssp discoverability201 ssp discoverability
201 ssp discoverability
 
Third-Party Software Library Reuse : From Adoption to Migration
Third-Party Software Library Reuse : From Adoption to MigrationThird-Party Software Library Reuse : From Adoption to Migration
Third-Party Software Library Reuse : From Adoption to Migration
 
Switching from Libsys to Koha with RFID Integration: A Migratory Experiment i...
Switching from Libsys to Koha with RFID Integration: A Migratory Experiment i...Switching from Libsys to Koha with RFID Integration: A Migratory Experiment i...
Switching from Libsys to Koha with RFID Integration: A Migratory Experiment i...
 
128407163 library-management-system-case-study
128407163 library-management-system-case-study128407163 library-management-system-case-study
128407163 library-management-system-case-study
 
Wiki101
Wiki101Wiki101
Wiki101
 

Más de daveyp

Glasgow: OPAC 2.0 and Beyond
Glasgow: OPAC 2.0 and BeyondGlasgow: OPAC 2.0 and Beyond
Glasgow: OPAC 2.0 and Beyond
daveyp
 
Did someone say "Free Beer"?
Did someone say "Free Beer"?Did someone say "Free Beer"?
Did someone say "Free Beer"?
daveyp
 
Sheffield
SheffieldSheffield
Sheffield
daveyp
 
Cardiff - Web 2.0 & Library 2.0
Cardiff - Web 2.0 & Library 2.0Cardiff - Web 2.0 & Library 2.0
Cardiff - Web 2.0 & Library 2.0
daveyp
 
Prowe Davepattern
Prowe DavepatternProwe Davepattern
Prowe Davepattern
daveyp
 

Más de daveyp (20)

Mosaic Wolverhampton
Mosaic WolverhamptonMosaic Wolverhampton
Mosaic Wolverhampton
 
Web 2.0 at Huddersfield
Web 2.0 at HuddersfieldWeb 2.0 at Huddersfield
Web 2.0 at Huddersfield
 
Glasgow: OPAC 2.0 and Beyond
Glasgow: OPAC 2.0 and BeyondGlasgow: OPAC 2.0 and Beyond
Glasgow: OPAC 2.0 and Beyond
 
ILI2009: Exploiting Usage Data
ILI2009: Exploiting Usage DataILI2009: Exploiting Usage Data
ILI2009: Exploiting Usage Data
 
Cosi Opac Tweaks
Cosi   Opac TweaksCosi   Opac Tweaks
Cosi Opac Tweaks
 
Cosi Usage Data
Cosi   Usage DataCosi   Usage Data
Cosi Usage Data
 
Cosi V Mware
Cosi   V MwareCosi   V Mware
Cosi V Mware
 
Cosi Opac Tweaks
Cosi   Opac TweaksCosi   Opac Tweaks
Cosi Opac Tweaks
 
Did someone say "Free Beer"?
Did someone say "Free Beer"?Did someone say "Free Beer"?
Did someone say "Free Beer"?
 
Web 2.0 and You Too
Web 2.0 and You TooWeb 2.0 and You Too
Web 2.0 and You Too
 
Sheffield
SheffieldSheffield
Sheffield
 
OPAC 2.0 and Beyond
OPAC 2.0 and BeyondOPAC 2.0 and Beyond
OPAC 2.0 and Beyond
 
Can You Dig It
Can You Dig ItCan You Dig It
Can You Dig It
 
Edinburgh Dave Pattern
Edinburgh Dave PatternEdinburgh Dave Pattern
Edinburgh Dave Pattern
 
Cardiff - Web 2.0 & Library 2.0
Cardiff - Web 2.0 & Library 2.0Cardiff - Web 2.0 & Library 2.0
Cardiff - Web 2.0 & Library 2.0
 
ARCLib - Web 2.0 and Library 2.0
ARCLib - Web 2.0 and Library 2.0ARCLib - Web 2.0 and Library 2.0
ARCLib - Web 2.0 and Library 2.0
 
Web 2.0 - Continuing impact on Library Catalogues
Web 2.0 - Continuing impact on Library CataloguesWeb 2.0 - Continuing impact on Library Catalogues
Web 2.0 - Continuing impact on Library Catalogues
 
Social Networking
Social NetworkingSocial Networking
Social Networking
 
Prowe Davepattern
Prowe DavepatternProwe Davepattern
Prowe Davepattern
 
Online
OnlineOnline
Online
 

Último

Último (20)

On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health Education
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Philosophy of china and it's charactistics
Philosophy of china and it's charactisticsPhilosophy of china and it's charactistics
Philosophy of china and it's charactistics
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answers
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

(H)appiness is a warm API!

  • 1. (H)appiness is a warm API! Using APIs to develop new library services Dave Pattern Library Systems Manager University of Huddersfield d.c.pattern@hud.ac.uk http://daveyp.com/blog/
  • 2. What is an API? • An Application Programming Interface allows separate pieces of software to communicate with each other, typically to share content • A web-based API is usually called a “Web Service” and often uses XML or JSON (JavaScript Object Notation)
  • 3. An example: OCLC’s xISBN • Convert a 10 digit ISBN to 13 digits • Convert a 13 digit ISBN to 10 digits • Fix an incorrect ISBN checksum • Fetch basic metadata • Fetch details of other editions of a book – e.g.
  • 5. MyReading reading list project at Huddersfield • A reading list is a list of books, journal articles, etc for each module on an academic course • Only 1 developer, working 1.5 days a week • Just 10 months to deliver a working product • Lots of technical challenges ... especially with getting data into the system! [5]
  • 6. How can we make it easy for academics to add books from the library catalogue?
  • 7. 7
  • 8. Title Amino acid and peptide synthesis Author Jones, John Date 2002 Edition 2nd Series Oxford chemistry primers ISBN 0199257388 8
  • 9. 9
  • 10. How can we make it easy for academics to add journal articles to their reading lists?
  • 11. 11
  • 12. Title Amino acid containing anion receptors Author Kubik, Stefan Journal Chemical Society reviews ISSN 0306-0012 Page 585 Date February 2009 12
  • 13. 13
  • 14. How do we ensure journal article links will continue to work, even if we change to a new platform?
  • 15. 15
  • 16. the link resolver’s API returns the current access links 16
  • 17. If an academic has added an older edition, how do we let students know about the latest edition?
  • 18. 18
  • 19. 19
  • 20. Title Amino acid and peptide synthesis (1992) ISBN 0198556683 xISBN 2nd edition published in 2002 0199257388 (pbk) 20
  • 21. academic added the 1996 edition student can see we have a newer edition from 2005 21
  • 22. If a student has to buy a book for the course, can we provide them with purchase links?
  • 23. 23
  • 24. 24
  • 25. student can see the current book price at various web sites 25
  • 26. Summary • APIs allow developers to enrich existing library services and to rapidly develop new ones • APIs allow you to “glue” together different services and products, and this then allows data to flow automatically
  • 27. Summary • When purchasing new software, remember to ask the vendor... – does it have an fully-featured API? – is the documentation publicly available? – what have other libraries developed using your API?

Notas del editor

  1. http://en.wikipedia.org/wiki/Application_programming_interface
  2. Example book: http://www.amazon.co.uk/Carlo-Really-Librarian-Jessica-Spanyol/dp/184428512X/
  3. http://xisbn.worldcat.org/webservices/xid/isbn/184428512X?fl=year,lang
  4. By using existing APIs, we were able to rapidly deliver a working prototype and to fast-track the development work.
  5. We’ve embedded links into the OPAC interface for academics. The link uses the OPAC’s XML API to retrieve the metadata for the item, so it can be inserted into the MyReading software.
  6. The Horizon Information Portal has a rudimentary API which generates XML output. Accessed by appending “&GetXML=true” to the URL of a page.
  7. All the academic needs to do is to check the reference for accuracy – the form is automatically filled in using the metadata from OPAC’s API.
  8. We’ve embedded “add to MyReading” links into the Summon interface. The link uses the Summon API to retrieve the metadata for the item, so it can be inserted into the MyReading software.
  9. Summon API: http://api.summon.serialssolutions.com/
  10. All the academic needs to do is to check the reference for accuracy – the form is automatically filled in using the metadata from Summon.
  11. We store the openURL link for the journal article and the pull in the current access links using our link resolver’s API: http://www.serialssolutions.com/en/news/detail/serials-solutions-announces-xml-api-for-360-link
  12. By storing the openURL in MyReading (rather than a direct access link), we can pull in the most up-to-date access links automatically via the link resolver’s API
  13. OCLC’s xISBN web service allows you to identify and link together different editions of books: http://www.worldcat.org/affiliate/webservices/xisbn/app.jsp
  14. LibraryThing also has a similar API (thingISBN), along with other very useful APIs: http://www.librarything.com/api
  15. By cross-referencing the ISBNs returned by OCLC’s xISBN with books we hold in stock, we can generate links to the other editions of books
  16. https://affiliate-program.amazon.co.uk/gp/advertising/api/detail/main.html
  17. http://www.abebooks.co.uk/affiliate-programme/search-web-services-datafeed.shtml