OCLC Developer Network

News

Syndicate content

Pick the Deep Web panel for SXSW

You might have noticed the SXSW Panelpicker image on your left. That's right, OCLC has submitted a proposal to be at SXSW Interactive, and we need your help to get selected. The topic is "Discovery, Identity and Rights: Three Deep Web Problems," and it's all about topics that might keep you up at night--authentication, authorization, and access to content not necessarily available through a standard Web search. Read the proposal for the full details--but the main idea is to make sure libraries are a part of the mainstream Web conversation at SXSW. Not going to SXSW? No problem. You're still encouraged by conference organizers to make your voice heard. Go to http://bit.ly/vuPu5 and pick the thumbs-up sign. Registration is simple--a standard e-mail confirmation bounceback, and then you can go pick the Deep Web panel (and any others that look interesting.) The selection process closes on Friday, Sept. 4, so please take a minute today/tomorrow/this week to give OCLC's proposal the "thumbs up." Select the Deep Web panel for SXSW 2010!

Developer Network Down Under

boot_camp.gifLots of discussions going on with the crew working on OCLC Web Services--everything from making our services more mobile-friendly to upcoming API enhancements to long-term vision and plans to make more APIs for more OCLC services.

Anarchivist Hits One Out of the Park

Python Magazine CoverI just finished reading the article "Using the OCLC WorldCat APIs" in Python Magazine by Mark Matienzo (fondly known as "anarchivist" in his online persona), and I have to say he did an excellent job of describing not only how to use our APIs effectively, but al

Going to ALA? You're invited.

If you're headed to ALA Annual, the American Library Association conference 2009 in Chicago in a couple of weeks, we'd love to see you at the OCLC Developer Network luncheon and the OCLC blog salon. You're invited. OCLC Developer Network Luncheon Sunday, July 12 12:00 noon-1:30 pm InterContinental Hotel, Toledo Room 505 North Michigan Avenue. Join fellow developers and tech enthusiasts for an informal luncheon. Hear an update about the OCLC Developer Network, the latest Web services and APIs available from OCLC (including authentication services like EZproxy). Brainstorm about new ways to enrich your users' experience with additional data. You'll need to register for it, please. If you're planning to attend and would like to show off your latest code, drop us a note! OCLC Blog Salon Sunday, July 12 5:30-8:00 pm Chicago Hilton, Boulevard Room C (2nd floor) 720 South Michigan Avenue. OCLC bloggers have joined forced with the OCLC Developer Network to host the Blog Salon this year. The Shanachies are going to be the special guests, (along with Michael and Jenny) at the LITA President's Program at ALA this year, and then we'll continue the fun at the OCLC Blog Salon. So the Shanachies (Erik Boekesteijn, Jaap van de Geer, Geert van den Boogaard) will have all their video equipment at the Blog Salon--so come out and meet them and other like-minded bloggers, tweeters, 'tubers, coders, developers and generally anyone interested in tech/social/outreach/frivolity. You may be in the next Shanachie movie! The Blog Salon is sponsored by OCLC bloggers (official and less so) and the OCLC Developer Network. Note: even if you're not planning to attend ALA, you can still participate in the Developer Network luncheon via WebEx. I'll post information on how to join in, closer to time.

Third OCLC Research Software Contest Underway

The Third OCLC Research Software Contest is well underway, but there is still time to enter. See the contest details for complete information. The winning entry will receive $2,500 and an expenses-paid trip to OCLC headquarters in Dublin, OH. Entries are due by the end of June and the winner will be announced before the end of July. Judging criteria includes: * Value to libraries, archives or museums * Use of OCLC services or data * Originality * Clean architecture and design The judges are: Kevin Clarke, Appalachian State University Karen Coombs, University of Houston Thom Hickey, OCLC Tod Matola, OCLC Jonathan Rochkind, Johns Hopkins University Ross Singer, Talis (and the winner of the Second OLC Research Software Contest) Roy Tennant, OCLC Don't let this opportunity pass to pick up a cool $2,500 and the chance to have your coding prowess recognized! Roy Tennant OCLC Research

xID new features

We added a few new features to xID service: - xISSN now supports ISSN-L and RSSURL field, such as http://xissn.worldcat.org/webservices/xid/issn/1095-9203?method=getMetadata&fl=issnl,rssurl ISSN-L data is obtained from ISSN agency, and rssurl is obtained from ticTOCS. xISSN also adds values to both data set, for example, xISSN automatically adds RSSURL to all ISSNs in same group. - xOCLCNUM now supports OCLC workid, such as: http://xisbn.worldcat.org/webservices/xid/oclcnum/55847258?fl=owi And you can query by workid as well: http://xisbn.worldcat.org/webservices/xid/owi/owi718389 I highly recommend using "owi[0-9]" in its whole format when you came upon workid, this will be very helpful for identifying workid from any web pages and facilitates interoperability and mashup. For more information, please check xISSN and xOCLCNUM API.

"Good APIs" JISC study released: on making companionable forms

Marieke Guy of JISC (UK) has released the long-anticipated "Good APIs" study, in two parts:
  • Report 1: JISC Good APIs Management Report: "a background to API use in the UK HE [Higher Education] sector, the potential benefits of the provision of APIs and the challenges this provision can instigate. The report also reviews potential problems developers can face when using third-party APIs."
  • Report 2: API Good Practice: "provides a number of good practice techniques for provision of and consuming APIs. The content of this report is based primarily on feedback provided from the developer community."
What came through strongly for me in this report was ease of use:
"make sure that there is a low barrier to access. The maximum entry requirements should be a login (username and password) which then emails out a link.

"If you need to use a Web API key make it straightforward to use. You should avoid the bottle neck of user authorisation, an overly complex or non-standard authentication process. One option is publish a key that anyone can use to make test API calls so that people can get started straight away. Another is to provide a copy of the service for developers to use that is separate from your production service. You could provide a developer account, developers will need to test your API so try to be amenable."

On the down side, I think the framing/title, "Good APIs", leads to a conceptual confusion between the notions of "API" vs. "Web Service". In some places, the JISC discussion is about the Service -- for example, finding out what users need first. In other places, the report recommendations are clearly about APIs specifically, for example when they talk about method naming conventions. I would argue that, to speak clearly about this domain, one needs to distinguish between these two concepts, and use the terms deliberately. So, a Web Service is a Web-based application oriented towards machine transactions. On the other hand, an API, or Application Programming Interface (not "Program" Interface), is a well-defined method for accessing a Service. (the machine-usability characteristic of APIs is mainly a consequence of this well-definedness). As an analogy, Web Services are like local or long-distance phone service, whereas the API is like a phone jack. A Service can have many APIs, like the various ways one might connect to long-distance phone service. Also, the mere existence of an API does not necessarily mean that the service behind it does something worthwhile, or does it with sufficient quality or reliability to meet your needs. A real, production-quality Service includes not only API(s) but documentation, a service-level agreement, performance benchmarks, and support. Finally, it's worth noting that a Web Service, in the general sense, might be delivered to users via means we wouldn't call APIs: for example, by depositing an updated Linked Data set to a public data repository. The problems with using "API" to mean Web Service include the following, in my opinion:
  1. it confuses the wrapper for the package;
  2. it tends to a view of Web Services as just simple data services, request-in and data-out -- which is only one type of WS, and often the least valuable.
  3. It focuses attention on implementation detail, rather than the user- or business value of the actual service.
  4. It hides the fact that a useful service might well, over time, have a number of different APIs implemented for it, as different usages, protocols, and environments emerge.
  5. it tends to make people think of Web Services as just a matter of "exposing" some data or functions from an existing application.
Also, speaking of APIs separates us from the dominant technical and standards discussions, and rigorous term definitions, which center around the W3C and its Web Services program

I know, it might seem to be quibbling, to focus on terms. However, I've seen over and over that major issues are often decided in the choice of framing and vocabulary, rather than in the "actual" discussion that follows.

In any case, check out Marike's well-done and nicely consultative report, and learn more about how to make Web Services be, in Coleridge's famous phrase, "companionable forms."

The Cult of Done

Developers Bre Pettis and Kio Stark have rocketed to Web fame recently with their "Cult of Done" manifesto: 13 rules for fast building, learning, finishing, and getting onto the next do. The manifesto, as author and work-life pundit Daniel Pink remarked, "has been flying around the productivity geek crowd on the web". (yes, there is such a crowd: see also Lifehacker.com, read Getting Things Done (WorldCat, Amazon). Below is the manifesto, but do check out also the very cool poster accompanying it.
  1. There are three states of being. Not knowing, action and completion.
  2. Accept that everything is a draft. It helps to get it done.
  3. There is no editing stage.
  4. Pretending you know what you're doing is almost the same as knowing what you are doing, so just accept that you know what you're doing even if you don't and do it.
  5. Banish procrastination. If you wait more than a week to get an idea done, abandon it.
  6. The point of being done is not to finish but to get other things done.
  7. Once you're done you can throw it away.
  8. Laugh at perfection. It's boring and keeps you from being done.
  9. People without dirty hands are wrong. Doing something makes you right.
  10. Failure counts as done. So do mistakes.
  11. Destruction is a variant of done.
  12. If you have an idea and publish it on the internet, that counts as a ghost of done.
  13. Done is the engine of more.

A Web Services Taxonomy: not all about the data

[full version of article A Web Services Taxonomy (PDF 84k)] A Web Service, according to a standard definition, is "a software system designed to support interoperable machine-to-machine interaction over a network." 1 To put it another way, a Web Service is some useful service offered (usually) on the Internet, designed as a sort of building block you can use any way you want. So, for example, Google Maps, a free service that dynamically draws maps of any location and locates addresses, has been used by thousands of people to build new services such as crime-report maps and real-estate listing tools, Another way to wrap your mind around Web Services is to consider a range of well-known ones and what they do. That's what the chart below does, with services such as Paypal, Google, Twitter, and Sabre, the airline-reservations system. (click on chart to see full-size): Web-Services-Taxonomy-chart_2 This chart represents a taxonomy, or classification, of Web Services, constructed by characterizing all services according to two factors:
  1. Data quality: from simple/commodity to complex/unique
  2. Transaction level: from basic lookup to real-world transaction.
The full version of this article, A Web Services Taxonomy (PDF 84k), defines what is meant by those terms, and discuss representative examples of Services that exhibit varying degrees of these characteristics. Based on this, I suggest that the Services with the most usage, customer value, and/or revenues typically have more complex/unique data, and/or are more transactional. See also the above chart in full size, or the full article (PDF 84k).

WorldCat Mashathon a huge success

Amsterdam Mashathon PhotoThanks to everyone who participated in the Mashathon and followed us on tweets.

Follow the OCLC Developer Network:

The OCLC Developer Network supports the use of OCLC Web Services—a set of tools and APIs that expose data and services for WorldCat and our member libraries and partner institutions or companies. learn more »

© 2010 OCLC Domestic and international trademarks and/or service marks of OCLC Online Computer Library Center, Inc. and its affiliates


Powered by Drupal, an open source content management system