SlideShare a Scribd company logo
1 of 48
Download to read offline
API Hackery:
      Customizing Your Library’s
         Services Using APIs

   Nicholas Schiller    Presentation site: bit.ly/XqyzfM
WSU Vancouver Library   Test the app: bit.ly/WvqAR4
Online Northwest 2013   C o d e o n G it H u b : htt p s: //
  February 8, 2013      github.com/nnschiller/easy_api
     Corvallis, OR
Desired Outcomes:


You will be able to explain how APIs work.

You’ll leave with ideas on how APIs can help
your patrons.

You’ll leave energized to make things.
This Talk is Not:

A step-by-step tutorial or walkthrough.
(There will be gaps.)

A coding lesson. (My role there is student or
peer not instructor.)

A technical treatment of the subject.
APIs are:
Application Programming Interfaces
 Specifications and standards
   Keys to the silo

     How to ask a service for
     what you want.
APIs are about sharing
data.

Librarians are about
sharing information.

APIs and Librarians should
be friends.
APIs are a key part of
   library systems’
movement from closed
 “black-box” tools to
 truly open systems.
Examples:
Google Maps API

  With an authentication key and latitude &
  longitude coordinates, you can put a map
  on your page.

WorldCat Search API

Twitter APIs

  Instructions for capturing tweets and
  hashtags.
We’ll want a guide to lead us through this.
  For technology optimists:
   he will be our Beatrice.




              Our Beatrice
For technology pessimists
     he will be our Virgil.
Dr. Walter Bishop




Our guide for building wonderful
        things with APIs
I am
forming a
hypothesis.



               Would
                  you
               like to
              hear it?
The relative
                             difficulty* of
                 1/6
                             making library
                               tools with
                                 APIs.
 2/3                   1/6




the problem & solution       the code   the design
The caveats:
 *Two
      Relative Difficulty Levels*
    1. I made these ratios up. They don’t                1/6
    reflect my time invested.
                                            2/3                1/6
    2. What we don’t know how
      to do (yet) seems much harder, but
      we can learn & we can find help.

  “Pseudo-code is your friend” or follow
  Anne Lamott’s advice on first drafts.

    the problem & solution   the code             the design
Write code
Articulate your
                            using an API to
 problem and
  identify a
                   +         generate the
                            desired solution.
   solution.



                 Wrap the
             solution code in
      +           a user
             friendly format.
Articulate
   Information            API + scripting
                          language (PHP,
   Need, form      +     JavaScript, Ruby,
Boolean Queries,
 ID Appropriate         Python) + HTML 5
  Data Sources



            HTML 5, CSS 3 &
       +     jQuery Mobile
“Let me introduce you to test
                subject #6.”
Practical example of an
   API solving a real
    library problem.
 Our WorldCat Local discovery layer presents
 obstacles to students who are looking for
 ebooks.



 The ebooks facet doesn’t use the same
 definition of ebook that our students assume.
“We need her to
help us understand this skill.”
To Successfully find an
  eBook in our collection:
Type the following into our WorldCat discovery tool:

     kw:NASA +mt:ebk -mt:gnp
     -mt:cpb -mt:deg

       Also consider excluding material types
       upw, upc, cdc, dct
Don't you understand this is Greek
   to me? Except that I speak
 Greek. This is Aramaic to me. Not
the western dialect, I do speak it.
What we need is:

something to automatically do this for eBook
searches.

to get the user’s search query, add our
Boolean logic phrase to the query, get the
results and present them to the user.

the WorldCat Search API.
While we’re at it

Let’s format our tool for tablets and mobile
devices.

Let’s connect the user directly to the full
text right on their tablets and/or mobile
devices or whatever screen they prefer.

(I’m working on the assumption that eBooks
and tablets go together.)
Core Librarian
skills: information         API + scripting
                            language (PHP,
need articulation,    +   JavaScript, Ruby) +
 Boolean queries,
    data source                HTML 5
     expertise



               HTML 5, CSS 3 &
        +       jQuery Mobile
WorldCat Search API

Request a key. (Keys denote permission to
access the service.)

Submit your requests formatted in either
opensearch or SRU standards.

Specify how you want the data returned.
WorldCat Search API

Opensearch: from A9 www.opensearch.org

  basic structure, kw indexes only

  returns RSS or Atom

SRU: www.loc.gov/standards/sru/

  enables complex queries of multiple
  indexes

  returns XML or MARC
For Our Example
we can use both

  The WorldCat Search API can return
  formatted citations using opensearch.

  Opensearch only searches keyword
  indexes but our search requires the
  material type index.

  If we want to search the mt: index and
  get formatted citations, we’ll need to use
  opensearch with SRU formatting. The API
  allows this.
http://www.worldcat.org/webservices/
 catalog/search/worldcat/opensearch?
  q=srw.kw+any+%22biofuel%22+and
+srw.li+any+%22ws2%22+and+srw.mt
 +any+%22ebk%22+not+srw.mt+any+
%22gpb%22+not+srw.mt+any+%22cnp
    %22+not+srw.mt+any+%22deg
  %22&format=rss&cformat=chicago
  &wskey=[insert your API key here]
A friend from Washington State
invented these glasses in order to
   be able to see a URL’s aura.
http://www.worldcat.org/
    webservices/catalog/search/
 worldcat/opensearch?q=srw.kw+any
  +”biofuel”+and+srw.li+any+”ws2”
+and+srw.mt+any+”ebk”+not+srw.mt
    +any+”gpb”+not+srw.mt+any
   +”cnp”+not+srw.mt+any+”deg”
   &format=rss&cformat=chicago
 &wskey=[insert your API key here]
Let’s Celebrate, Because
 the Hard Part is Done.
API + scripting
language (PHP) +
    HTML 5
Excellent.
Let’s make some <?PHP ?>
Do You Remember?
Slide 17: “What we need is to get the user’s
search query, add our Boolean logic phrase
to the query, get the results and present
them to the user.”

Our code will do EXACTLY these three
things.

As a n00b coder, I was only able to succeed
by keeping a razor-sharp focus on exactly
these goals.
Audience Choice:



Look at the code

Look at the web app (beta)
Special Thanks to:

Jason Clark with Montana State University
Libraries

Bruce Washburn with OCLC Research



They shared their code under FreeBSD and
GNU open licenses, allowing me to borrow
freely.
HTML 5,
  CSS 3 &
jQuery Mobile
Either a green unicorn just raced
                   across the lab,




or I accidentally used jQuery
           Mobile.
jQuery Mobile automates:

    The buttons, pickers, & search inputs

    The theme and color scheme

    The behavior in diverse screens and browsers
Image Credits

John Noble / Walter Bishop / Walternate images are
from the Fox TV series Fringe and are used under fair
use as set forth in the Code of Best Practices for Fair
Use in Online Video. See especially #6 SIX: Quoting in
Order to Recombine Elements to Make a New Work
That Depends for its Meaning on (Often Unlikely)
Relationships Between the Elements.

The images from Dore’s engravings of Dante’s Divine
Comedy are in the public domain.
Demo the Web App (beta)
      bit.ly/WvqAR4

Code Repository on GitHub:
https://github.com/nnschiller/
           easy_api
Further Reading
OCLC Worldcat Search API

    http://www.oclc.org/developer/services/worldcat-
    search-api

    http://www.oclc.org/worldcatapi/default.htm

    http://www.oclc.org/us/en/support/documentation/
    firstsearch/z3950/z3950_databases/specs/
    materialtypes.htm

    http://www.oclc.org/developer/news/worldcat-search-
    api-tips-and-tricks
Further Reading
Opensearch

      http://www.opensearch.org/Home

      http://oclc.org/developer/documentation/worldcat-
      search-api/opensearch-responses

SRU

      http://www.loc.gov/standards/sru/

      http://www.worldcat.org/webservices/catalog/
      search/sru?wskey=[YOUR WCS API KEY IS
      REQUIRED]
Further Reading
Tutorials

       http://www.codecademy.com/courses/javascript-
       beginner-en-EID4t

       http://www.tizag.com/phpT/

       http://www.codecademy.com

Code

       http://www.worldcat.org/devnet/code/devnetDemos/
       trunk/webservices_php_libraries/
       wcapi_opensearch.php

       http://www.lib.montana.edu/~jason/files/worldcat-
       basic/code.txt
API Hackery:
      Customizing Your Library’s
         Services Using APIs

   Nicholas Schiller    Presentation site: bit.ly/XqyzfM
WSU Vancouver Library   Test the app: bit.ly/WvqAR4
Online Northwest 2013   C o d e o n G it H u b : htt p s: //
  February 8, 2013      github.com/nnschiller/easy_api
     Corvallis, OR

More Related Content

Similar to Walter api

API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015Tom Johnson
 
A "lofiAPI": Using open source applications and simple XML to build a library...
A "lofiAPI": Using open source applications and simple XML to build a library...A "lofiAPI": Using open source applications and simple XML to build a library...
A "lofiAPI": Using open source applications and simple XML to build a library...jason clark
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)Jorge López-Lago
 
Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...Chris Parnin
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentationTom Johnson
 
BarCamb Connotea by Ian Mulvany
BarCamb Connotea by Ian MulvanyBarCamb Connotea by Ian Mulvany
BarCamb Connotea by Ian MulvanyIan Mulvany
 
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards 25-6-2014API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards 25-6-2014openi_ict
 
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards   25-6-2014API Athens Meetup - API standards   25-6-2014
API Athens Meetup - API standards 25-6-2014Michael Petychakis
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentHoat Le
 
covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...
covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...
covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...Shun Nagaya
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
 
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsThe liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsJorge Ferrer
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationChris Schalk
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathonmarvin337
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Hafiz Ismail
 

Similar to Walter api (20)

API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
A "lofiAPI": Using open source applications and simple XML to build a library...
A "lofiAPI": Using open source applications and simple XML to build a library...A "lofiAPI": Using open source applications and simple XML to build a library...
A "lofiAPI": Using open source applications and simple XML to build a library...
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...Crowd Documentation - How Programmer Social Communities are Flipping Software...
Crowd Documentation - How Programmer Social Communities are Flipping Software...
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
 
BarCamb Connotea by Ian Mulvany
BarCamb Connotea by Ian MulvanyBarCamb Connotea by Ian Mulvany
BarCamb Connotea by Ian Mulvany
 
The Open Web
The Open WebThe Open Web
The Open Web
 
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards 25-6-2014API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards 25-6-2014
 
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards   25-6-2014API Athens Meetup - API standards   25-6-2014
API Athens Meetup - API standards 25-6-2014
 
Bio2RDF@BH2010
Bio2RDF@BH2010Bio2RDF@BH2010
Bio2RDF@BH2010
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
 
covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...
covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...
covo.js : A JavaScript Library to Utilize Subject Headings and Thesauri on th...
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
 
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsThe liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
 
Ankur Bajad
Ankur BajadAnkur Bajad
Ankur Bajad
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
 

More from Nicholas Schiller (20)

04252016
0425201604252016
04252016
 
04182016
0418201604182016
04182016
 
04142016
0414201604142016
04142016
 
04062016
0406201604062016
04062016
 
040416
040416040416
040416
 
032116
032116032116
032116
 
03072016
0307201603072016
03072016
 
Esu815x0 02282016
Esu815x0 02282016Esu815x0 02282016
Esu815x0 02282016
 
02222016
0222201602222016
02222016
 
020816
020816020816
020816
 
02032016
0203201602032016
02032016
 
02012016
0201201602012016
02012016
 
01272016
0127201601272016
01272016
 
01222016
0122201601222016
01222016
 
01132016
0113201601132016
01132016
 
12 01-ogp
12 01-ogp12 01-ogp
12 01-ogp
 
1117 ethics
1117 ethics1117 ethics
1117 ethics
 
1027 googlization
1027 googlization1027 googlization
1027 googlization
 
11 03-writing-seo-text
11 03-writing-seo-text11 03-writing-seo-text
11 03-writing-seo-text
 
1006 kuhlthau
1006 kuhlthau1006 kuhlthau
1006 kuhlthau
 

Walter api

  • 1. API Hackery: Customizing Your Library’s Services Using APIs Nicholas Schiller Presentation site: bit.ly/XqyzfM WSU Vancouver Library Test the app: bit.ly/WvqAR4 Online Northwest 2013 C o d e o n G it H u b : htt p s: // February 8, 2013 github.com/nnschiller/easy_api Corvallis, OR
  • 2. Desired Outcomes: You will be able to explain how APIs work. You’ll leave with ideas on how APIs can help your patrons. You’ll leave energized to make things.
  • 3. This Talk is Not: A step-by-step tutorial or walkthrough. (There will be gaps.) A coding lesson. (My role there is student or peer not instructor.) A technical treatment of the subject.
  • 4. APIs are: Application Programming Interfaces Specifications and standards Keys to the silo How to ask a service for what you want.
  • 5. APIs are about sharing data. Librarians are about sharing information. APIs and Librarians should be friends.
  • 6. APIs are a key part of library systems’ movement from closed “black-box” tools to truly open systems.
  • 7. Examples: Google Maps API With an authentication key and latitude & longitude coordinates, you can put a map on your page. WorldCat Search API Twitter APIs Instructions for capturing tweets and hashtags.
  • 8. We’ll want a guide to lead us through this. For technology optimists: he will be our Beatrice. Our Beatrice
  • 9. For technology pessimists he will be our Virgil.
  • 10. Dr. Walter Bishop Our guide for building wonderful things with APIs
  • 11. I am forming a hypothesis. Would you like to hear it?
  • 12. The relative difficulty* of 1/6 making library tools with APIs. 2/3 1/6 the problem & solution the code the design
  • 13. The caveats: *Two Relative Difficulty Levels* 1. I made these ratios up. They don’t 1/6 reflect my time invested. 2/3 1/6 2. What we don’t know how to do (yet) seems much harder, but we can learn & we can find help. “Pseudo-code is your friend” or follow Anne Lamott’s advice on first drafts. the problem & solution the code the design
  • 14. Write code Articulate your using an API to problem and identify a + generate the desired solution. solution. Wrap the solution code in + a user friendly format.
  • 15. Articulate Information API + scripting language (PHP, Need, form + JavaScript, Ruby, Boolean Queries, ID Appropriate Python) + HTML 5 Data Sources HTML 5, CSS 3 & + jQuery Mobile
  • 16. “Let me introduce you to test subject #6.”
  • 17. Practical example of an API solving a real library problem. Our WorldCat Local discovery layer presents obstacles to students who are looking for ebooks. The ebooks facet doesn’t use the same definition of ebook that our students assume.
  • 18.
  • 19. “We need her to help us understand this skill.”
  • 20. To Successfully find an eBook in our collection: Type the following into our WorldCat discovery tool: kw:NASA +mt:ebk -mt:gnp -mt:cpb -mt:deg Also consider excluding material types upw, upc, cdc, dct
  • 21. Don't you understand this is Greek to me? Except that I speak Greek. This is Aramaic to me. Not the western dialect, I do speak it.
  • 22. What we need is: something to automatically do this for eBook searches. to get the user’s search query, add our Boolean logic phrase to the query, get the results and present them to the user. the WorldCat Search API.
  • 23. While we’re at it Let’s format our tool for tablets and mobile devices. Let’s connect the user directly to the full text right on their tablets and/or mobile devices or whatever screen they prefer. (I’m working on the assumption that eBooks and tablets go together.)
  • 24. Core Librarian skills: information API + scripting language (PHP, need articulation, + JavaScript, Ruby) + Boolean queries, data source HTML 5 expertise HTML 5, CSS 3 & + jQuery Mobile
  • 25. WorldCat Search API Request a key. (Keys denote permission to access the service.) Submit your requests formatted in either opensearch or SRU standards. Specify how you want the data returned.
  • 26. WorldCat Search API Opensearch: from A9 www.opensearch.org basic structure, kw indexes only returns RSS or Atom SRU: www.loc.gov/standards/sru/ enables complex queries of multiple indexes returns XML or MARC
  • 27. For Our Example we can use both The WorldCat Search API can return formatted citations using opensearch. Opensearch only searches keyword indexes but our search requires the material type index. If we want to search the mt: index and get formatted citations, we’ll need to use opensearch with SRU formatting. The API allows this.
  • 28. http://www.worldcat.org/webservices/ catalog/search/worldcat/opensearch? q=srw.kw+any+%22biofuel%22+and +srw.li+any+%22ws2%22+and+srw.mt +any+%22ebk%22+not+srw.mt+any+ %22gpb%22+not+srw.mt+any+%22cnp %22+not+srw.mt+any+%22deg %22&format=rss&cformat=chicago &wskey=[insert your API key here]
  • 29. A friend from Washington State invented these glasses in order to be able to see a URL’s aura.
  • 30. http://www.worldcat.org/ webservices/catalog/search/ worldcat/opensearch?q=srw.kw+any +”biofuel”+and+srw.li+any+”ws2” +and+srw.mt+any+”ebk”+not+srw.mt +any+”gpb”+not+srw.mt+any +”cnp”+not+srw.mt+any+”deg” &format=rss&cformat=chicago &wskey=[insert your API key here]
  • 31. Let’s Celebrate, Because the Hard Part is Done.
  • 32. API + scripting language (PHP) + HTML 5
  • 34. Do You Remember? Slide 17: “What we need is to get the user’s search query, add our Boolean logic phrase to the query, get the results and present them to the user.” Our code will do EXACTLY these three things. As a n00b coder, I was only able to succeed by keeping a razor-sharp focus on exactly these goals.
  • 35. Audience Choice: Look at the code Look at the web app (beta)
  • 36.
  • 37.
  • 38.
  • 39. Special Thanks to: Jason Clark with Montana State University Libraries Bruce Washburn with OCLC Research They shared their code under FreeBSD and GNU open licenses, allowing me to borrow freely.
  • 40. HTML 5, CSS 3 & jQuery Mobile
  • 41. Either a green unicorn just raced across the lab, or I accidentally used jQuery Mobile.
  • 42. jQuery Mobile automates: The buttons, pickers, & search inputs The theme and color scheme The behavior in diverse screens and browsers
  • 43. Image Credits John Noble / Walter Bishop / Walternate images are from the Fox TV series Fringe and are used under fair use as set forth in the Code of Best Practices for Fair Use in Online Video. See especially #6 SIX: Quoting in Order to Recombine Elements to Make a New Work That Depends for its Meaning on (Often Unlikely) Relationships Between the Elements. The images from Dore’s engravings of Dante’s Divine Comedy are in the public domain.
  • 44. Demo the Web App (beta) bit.ly/WvqAR4 Code Repository on GitHub: https://github.com/nnschiller/ easy_api
  • 45. Further Reading OCLC Worldcat Search API http://www.oclc.org/developer/services/worldcat- search-api http://www.oclc.org/worldcatapi/default.htm http://www.oclc.org/us/en/support/documentation/ firstsearch/z3950/z3950_databases/specs/ materialtypes.htm http://www.oclc.org/developer/news/worldcat-search- api-tips-and-tricks
  • 46. Further Reading Opensearch http://www.opensearch.org/Home http://oclc.org/developer/documentation/worldcat- search-api/opensearch-responses SRU http://www.loc.gov/standards/sru/ http://www.worldcat.org/webservices/catalog/ search/sru?wskey=[YOUR WCS API KEY IS REQUIRED]
  • 47. Further Reading Tutorials http://www.codecademy.com/courses/javascript- beginner-en-EID4t http://www.tizag.com/phpT/ http://www.codecademy.com Code http://www.worldcat.org/devnet/code/devnetDemos/ trunk/webservices_php_libraries/ wcapi_opensearch.php http://www.lib.montana.edu/~jason/files/worldcat- basic/code.txt
  • 48. API Hackery: Customizing Your Library’s Services Using APIs Nicholas Schiller Presentation site: bit.ly/XqyzfM WSU Vancouver Library Test the app: bit.ly/WvqAR4 Online Northwest 2013 C o d e o n G it H u b : htt p s: // February 8, 2013 github.com/nnschiller/easy_api Corvallis, OR