<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Coffee|Code : Dan Scott - Coding</title>
    <link>http://www.coffecode.net/</link>
    <description>Caffeinated Librarian Geek</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.5 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Why I donated to the Software Freedom Conservancy</title>
    <link>http://www.coffecode.net/archives/253-Why-I-donated-to-the-Software-Freedom-Conservancy.html</link>
            <category>Evergreen</category>
            <category>FSOSS</category>
    
    <comments>http://www.coffecode.net/archives/253-Why-I-donated-to-the-Software-Freedom-Conservancy.html#comments</comments>
    <wfw:comment>http://www.coffecode.net/wfwcomment.php?cid=253</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.coffecode.net/rss.php?version=2.0&amp;type=comments&amp;cid=253</wfw:commentRss>
    

    <author>dan@coffeecode.net (Dan Scott)</author>
    <content:encoded>
    &lt;p&gt;
A few days ago I made a small donation to the &lt;a
href=&quot;http://sfconservancy.org&quot;&gt;Software Freedom Conservancy&lt;/a&gt;, a 501(c)(3)
non-profit organization registered in the United States. There are many
organizations to which I could have donated, and indeed Lynn and I have 
donated to a number of charities again this year, but I felt it was important
to direct some funds to the Conservancy for a number of reasons - which I will
attempt to describe and hopefully convince you as well.
&lt;/p&gt;
&lt;p&gt;
First, for those who know that the &lt;a href=&quot;http://evergreen-ils.org&quot;&gt;Evergreen
open source integrated library system&lt;/a&gt; is a member project of the
Conservancy and the the project on which I invest much of my professional and
person time, an obvious question might be: &quot;Why didn&#039;t you just &lt;a
href=&quot;http://evergreen-ils.org/sfc.php&quot;&gt;donate to Evergreen&lt;/a&gt;?&quot;. Donating to
Evergreen does result in a small percentage of those funds being directed to
the Conservancy. Currently, Evergreen directs 5% of its income to the
Conservancy, but I feel that even with $20,000 passing through the project&#039;s
hands for the purposes of the &lt;a href=&quot;http://evergreen2012.org&quot;&gt;2012 Evergreen
conference&lt;/a&gt;, that $1,000 that goes to the Conservancy is far below the value
our project has received in return in the form of Conservancy services.
&lt;/p&gt;
&lt;p&gt;
One of those services is the provision of a trusted third-party home for
project assets such as the aforementioned finances, but also including domain
names, trademarks, logos, and (if desired) copyright. While distributed
ownership of these assets is not a problem for projects when everything is
going fine, personal disputes, a change of business strategy, or new ownership
of a contributing company can lead to severe difficulties for a project.
Evergreen&#039;s sister project, &lt;a href=&quot;http://koha-community.org&quot;&gt;Koha&lt;/a&gt;, found
itself forced to change its domain name and fight trademark battles over its
very name when one company adopted an aggressive business strategy.
&lt;/p&gt;
&lt;p&gt;
Another service from which Evergreen has thus far derived great benefit is
access to legal counsel familiar with software freedom issues. In September
the Conservancy &lt;a
href=&quot;http://sfconservancy.org/news/2011/sep/30/general-counsel/&quot;&gt;added Tony
Sebro&lt;/a&gt; as General Counsel to offer basic legal assistance to its member
projects. The Conservancy was most recently involved in a discussion about
Evergreen documentation licensing that evolved from an unfortunately
adversarial position to, shortly after the Conservancy became involved, a
mutually satisfactory agreement. I believe this result was due not only to
Conservancy&#039;s legal expertise and familiarity with the specific licenses in
question and the general mechanism of granting licenses, but also with their
ability to understand the goals of the project and its participants in
helping to guide all parties to their desired goals.
&lt;/p&gt;
&lt;p&gt;
The Conservancy also has a wealth of experience to draw upon to offer guidance
expertise on many matters that free software projects have in common, but
which each project tends to rediscover on its own. For example, the Evergreen
project has been able to run conferences on an annual basis for the past three
years, but has historically relied on Equinox&#039;s willingess to assume the
financial risks when signing venue contracts. This year, due to the positive
results of the previous conferences, the Conservancy was able to provide the
deposit for the &lt;a href=&quot;http://evergreen2012.org&quot;&gt;Evergreen 2012 conference in
Indiana&lt;/a&gt;. While personally I deeply appreciate the role that Equinox has
played in helping to build such a core part of our community experience, it is
an important step for our project that the Conservancy be able to assume this
role.
&lt;/p&gt;
&lt;p&gt;
In addition, the Conservancy&#039;s experience with various conference management
packages and the payment fees associated with online financial services such
as Google Checkout and PayPal provided some important guidance early on in
the Evergreen conference 2012 planning process. That advice probably paid for
itself!
&lt;/p&gt;
&lt;p&gt;
I expect that the Evergreen project will continue to benefit from our
membership in the Software Freedom Conservancy as we work towards a
mechanism for electing members of the Evergreen Oversight Board and continue
growing and evolving the project.  The $1,000 or so that the Conservancy has
earned as a result of the 5% of revenue that Evergreen directs its way is far
below the value that we have derived from our relationship thus far, and that
is why I have chosen to donate to the Conservancy again this year.
&lt;/p&gt;
&lt;p&gt;
P.S. As a 501(c)(3) non-profit, donations to the Conservancy are tax-deductible
for American citizens. As a Canadian, this particular benefit does not apply to
me - however, the rest of the benefits that the Conservancy provides to free
software projects are international in scope and deserve to be supported.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 26 Dec 2011 09:15:23 -0500</pubDate>
    <guid isPermaLink="false">http://www.coffecode.net/archives/253-guid.html</guid>
    
</item>
<item>
    <title>What does a system librarian do?</title>
    <link>http://www.coffecode.net/archives/252-What-does-a-system-librarian-do.html</link>
            <category>Coding</category>
    
    <comments>http://www.coffecode.net/archives/252-What-does-a-system-librarian-do.html#comments</comments>
    <wfw:comment>http://www.coffecode.net/wfwcomment.php?cid=252</wfw:comment>

    <slash:comments>8</slash:comments>
    <wfw:commentRss>http://www.coffecode.net/rss.php?version=2.0&amp;type=comments&amp;cid=252</wfw:commentRss>
    

    <author>dan@coffeecode.net (Dan Scott)</author>
    <content:encoded>
    &lt;p&gt;&lt;em&gt;Preface:&lt;/em&gt; I&#039;m talking to my daughter&#039;s kindergarten class tomorrow about my job. Exciting! So I prepped a little bit; it will probably go entirely different, but here&#039;s how it&#039;s going to go in my mind...&lt;/p&gt;
&lt;hr /&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;My name is Dan Scott. I&amp;#8217;m Amber&amp;#8217;s dad. I&amp;#8217;m a systems librarian at Laurentian
University.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;Today you&amp;#8217;re going to learn what a systems librarian does. Exciting, eh?&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;I bet you have all been to a library. When you think about a library, what do
you think of first?&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;em&gt;Books&lt;/em&gt;

&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;Yep - books! I do a lot of work with books! Can you guess what sorts of things
I do with books?&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Choose which books to add to the library: &lt;strong&gt;Selection&lt;/strong&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
And when we get new books, where do we put them? : &lt;strong&gt;Organization&lt;/strong&gt;

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
And when we have too many books, choose which books to give away: &lt;strong&gt;Weeding&lt;/strong&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;But there&amp;#8217;s more to libraries than books! What else can you think of that are
in libraries?&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;ulist&quot;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Movies

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Music
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Magazines
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Newspapers
&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;
Puppets
&lt;/p&gt;
&lt;div class=&quot;ulist&quot;&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Yes, puppets
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Computers
&lt;/p&gt;
&lt;/li&gt;

&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;Ah, computers. That&amp;#8217;s where I &lt;em&gt;really&lt;/em&gt; spend a lot of time. When I was a little
boy, I was a voracious reader - I would read &lt;strong&gt;anything&lt;/strong&gt;, including cereal boxes
and encyclopedia - and I was &lt;strong&gt;fascinated&lt;/strong&gt; by computers. Completely obsessed.
So, naturally, when I went to high school I also got a job at the children&amp;#8217;s
library as a &quot;computer page&quot;. I was a big kid, and I helped all the little kids
use the computers at the library.&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;paragraph&quot;&gt;&lt;p&gt;Now that I&amp;#8217;m grown up, I&amp;#8217;m still doing pretty much the same thing - except now
I&amp;#8217;m helping the adults use computers. Except now I&amp;#8217;m helping them by making it
easier for them to get the books or magazines or music or movies or puppets
(yes! puppets!) that they need; and a lot of the time, they don&amp;#8217;t even have to
come to the library. They can read or watch or listen to whatever they need
right on their computers - and sometimes they need help, but that&amp;#8217;s what I&amp;#8217;m
there for.&lt;/p&gt;&lt;/div&gt;
 
    </content:encoded>

    <pubDate>Tue, 22 Nov 2011 16:50:23 -0500</pubDate>
    <guid isPermaLink="false">http://www.coffecode.net/archives/252-guid.html</guid>
    
</item>
<item>
    <title>Current state of academic reserves support for Evergreen</title>
    <link>http://www.coffecode.net/archives/250-Current-state-of-academic-reserves-support-for-Evergreen.html</link>
            <category>Evergreen</category>
    
    <comments>http://www.coffecode.net/archives/250-Current-state-of-academic-reserves-support-for-Evergreen.html#comments</comments>
    <wfw:comment>http://www.coffecode.net/wfwcomment.php?cid=250</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.coffecode.net/rss.php?version=2.0&amp;type=comments&amp;cid=250</wfw:commentRss>
    

    <author>dan@coffeecode.net (Dan Scott)</author>
    <content:encoded>
    &lt;p&gt;One of the relatively frequent questions that I run into with Evergreen is &quot;Does Evergreen have an academic reserves module?&quot; And the answer is: well, yes, and no. There is no official academic reserves module that is part of the standard Evergreen package that you download and install from &lt;a href=&quot;http://evergreen-ils.org&quot;&gt;http://evergreen-ils.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, I am aware of two free-and-open-source modules that are available as extensions to Evergreen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A relatively simple, straightforward module, written by my colleague Kevin Beswick, is in use at Laurentian University and recently was adopted by the &lt;strong&gt;emily carr university of art + design&lt;/strong&gt;. It builds on Evergreen&#039;s bookbags feature to organize reserves of physical items by class code and instructor name. The module for that code--a mix of PHP, Dojo, and SQLite--is available on &lt;a href=&quot;https://github.com/kbeswick/library/tree/master/reserves&quot;&gt;Github&lt;/a&gt;, and you can see it in action at &lt;a href=&quot;http://biblio.laurentian.ca/reserves/&quot;&gt;Laurentian University&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Syrup&lt;/strong&gt; is a more sophisticated reserve system (you know it&#039;s a serious project when it has a name!), which supports all kinds of features - such as mixes of electronic and physical materials, organizing course content by arbitrary groupings (e.g. readings per week), limiting user access to the content of specific courses based on LDAP integration, and much much more. You can see a running instance at the &lt;a href=&quot;http://reserves.uwindsor.ca/syrup/browse/&quot;&gt;University of Windsor&lt;/a&gt; and the code (primarily written in Python) is freely available from the &lt;a href=&quot;http://git.evergreen-ils.org/?p=Syrup.git;a=summary&quot;&gt;Syrup git repository&lt;/a&gt; on Evergreen&#039;s git server. If you need help getting up and running, Syrup&#039;s &lt;a href=&quot; http://groups.google.com/group/syrup-reserves-discuss&quot;&gt;mailing list&lt;/a&gt; is probably a good place to start.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, there are at least two choices for academic reserves for Evergreen. Go ahead and pick the one that meets your needs!&lt;/p&gt; 
    </content:encoded>

    <pubDate>Wed, 07 Sep 2011 23:09:24 -0400</pubDate>
    <guid isPermaLink="false">http://www.coffecode.net/archives/250-guid.html</guid>
    
</item>
<item>
    <title>The wonderful new OpenLibrary Read API and Evergreen integration</title>
    <link>http://www.coffecode.net/archives/249-The-wonderful-new-OpenLibrary-Read-API-and-Evergreen-integration.html</link>
            <category>Evergreen</category>
    
    <comments>http://www.coffecode.net/archives/249-The-wonderful-new-OpenLibrary-Read-API-and-Evergreen-integration.html#comments</comments>
    <wfw:comment>http://www.coffecode.net/wfwcomment.php?cid=249</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.coffecode.net/rss.php?version=2.0&amp;type=comments&amp;cid=249</wfw:commentRss>
    

    <author>dan@coffeecode.net (Dan Scott)</author>
    <content:encoded>
    &lt;p&gt;
Back in early May, I was in San Francisco for Google I/O. I had booked an extra
day with the hopes of either doing some site-seeing or meeting up with the
&lt;a href=&quot;http://openlibrary.org&quot;&gt;OpenLibrary&lt;/a&gt; team. After firing off an email to find out if anyone there was
interested on working on some tighter integration between OpenLibrary and
Evergreen, the answer from George Oates was an enthusiastic &quot;Yes!&quot;. So, we
spent a beautiful sunny day inside the Internet Archive headquarters discussing
possible directions for this integration. Alcatraz, you can wait for my next
trip...
&lt;/p&gt;
&lt;p&gt;
As it turned out, the timing was great. I had spent a day hacking on the OpenLibrary
&quot;added content&quot; module for Evergreen during the Evergreen hackfest (which I spent
in an airport due to an eight-hour fog delay... different story), so I was quite
familiar with the existing OpenLibrary Book API and their patterns of use were
fresh in my brain. The biggest problem with the existing Book API, from my
perspective, was that I had to make two calls for each work that I was
interested in retrieving information about; one call returned the &lt;em&gt;data&lt;/em&gt;
(stable elements) and one call returned the &lt;em&gt;details&lt;/em&gt; (unstable, but
quite interesting elements like the table of contents, excerpts, etc). 
&lt;/p&gt;
&lt;p&gt;
The OpenLibrary team had this in their sights as well - but they wanted to tackle
a bigger target. Rather than making one or more calls per work, they wanted to
expose an API that would let users request info for multiple works in one shot:
the &lt;em&gt;Shotgun API&lt;/em&gt; (known amongst more polite company as the &lt;em&gt;Read&lt;/em&gt;
API). Loosely modelled on the Hathitrust API, it would also focus on exposing
URLs for reading or borrowing (using the relatively recent OpenLibrary
borrowing program) exact matches or similar editions. It sounded great, and we
spent the afternoon fleshing out how we wanted it to look and work. My role was
largely that of the third-party developer - the API customer - and we had great
discussions.
&lt;/p&gt;
&lt;h3&gt;Working code wins&lt;/h3&gt;
&lt;p&gt;
Of course, discussions are one thing, and working code is another. OpenLibrary
developer Mike McCabe was riding shotgun on the development of the Read API, and once he had
enough working code in place, he contacted me to ask me to start developing
against it. It was the usual development process: I started with a hard-coded
sample JSON output, then as Mike pushed more functionality into a server environment
I was able to test and expand my client-side code.
&lt;/p&gt;
&lt;p&gt;
So where are we now? I can vouch that working with the all-in-one Read API,
as a developer, is sweet. All of the data elements are readily visible in sweet,
sweet JSON, in a single call, and it is utterly simple to pull the bits that you
want to expose. I had been trying to pull together ebook links and the like from
the Books API, and the use of the &lt;tt&gt;items&lt;/tt&gt; list makes that absolutely
painless for developers. Kudos!
&lt;/p&gt;
&lt;p&gt;Evergreen has a largely rewritten OpenLibrary added content
module built against the Read API sitting in the Evergreen working repository
&lt;tt&gt;user/dbs/openlibrary-read-api&lt;/tt&gt; branch. As the &lt;strong&gt;Borrow&lt;/strong&gt;
and &lt;strong&gt;Read&lt;/strong&gt; functions depend on IP address range matching, I have
added the ability to proxy the Read API requests via the Evergreen server - so
that if an Evergreen institution has special access rights to the OpenLibrary
collection, their patrons will see the appropriate levels of access in the
catalogue. Oh yes, the catalogue; as we were already using OpenLibrary by default
for cover art, tables of content, and excerpts in Evergreen since the 2.0 release,
the major difference that will be visible to Evergreen users will be in search
results:
&lt;/p&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://www.coffecode.net/uploads/files/openlibrary-evergreen.png&#039;&gt;&lt;!-- s9ymdb:352 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;66&quot;  src=&quot;http://www.coffecode.net/uploads/files/openlibrary-evergreen.serendipityThumb.png&quot;  alt=&quot;Search results showing OpenLibrary Read integration&quot; /&gt;&lt;/a&gt;
&lt;p&gt;
As you can see, if you have left the &lt;tt&gt;OpenLibraryLinks&lt;/tt&gt; variable turned
on in the &lt;tt&gt;result_common.js&lt;/tt&gt; file, Evergreen will search for a matching
record in OpenLibrary and tell you if an online version is available. It tells
you whether the online version is an exact match, or similar, and will also
expose items that you can borrow from OpenLibrary. Given the preponderance of
print materials that still remains in our collections, and our users&#039; general
preference for anything electronic, I think this will be an extremely popular
feature.
&lt;/p&gt;
&lt;h3&gt;Moving forward&lt;/h3&gt;
&lt;p&gt;
There are a number of areas that could use more polish and tender loving care.
First and foremost, OpenLibrary supports matching based on ISBNs, LCCNs, OCLC
numbers, and OpenLibrary IDs; right now, the Evergreen support is based strictly
on ISBNs, which of course don&#039;t exist for many of the older materials in our
collections. So a fruitful direction would be to take the regular dump of
data that OpenLibrary thoughtfully provides (yay for open data) and use that to
augment our records to include OpenLibrary ID numbers to use as a match point.
&lt;/p&gt;
&lt;p&gt;
There is the small matter of merging these changes back into Evergreen proper.
I developed against the Evergreen 2.0 branch because I wanted to be able to
put this code into production as soon as possible, so there will be a tiny bit
of merging pain to get this into master and backported properly. However, the
changes are quite localized and should be agreeable, so hopefully this will not
sit in a branch for too long.
&lt;p&gt;
&lt;p&gt;
At this early stage in the Read API&#039;s release, I have also found that it can
be a bit slow to respond to requests containing a number of identifiers (or
perhaps a large number of records and items). It is to be expected that
functionality comes first and optimization comes later, so I have great hopes
for improved performance once the Read API settles down.
&lt;/p&gt;
&lt;p&gt;
Of course, once you have the Read API, you need an Write API - and I hope to
be able to help pilot that as well, because the potential communal benefit
of a Write API for library systems that have integrated with OpenLibrary is
huge. Imagine a system where, when you ask for added content based on a given
identifier, if the system says &quot;Huh, I don&#039;t know anything about that identifier&quot;
it follows up with &quot;Hey, can you POST what you know about it to this URL?&quot;.
OpenLibrary could then run its algorithms and either add an edition to an existing
work or generate a new work. We should also be able to expose OpenLibrary&#039;s
metadata editing tools for our users, so they can flag bad cover art, or add a
table of contents to works that they are passionate about, or post a favourite
excerpt... Enabling a bi-directional give and take between systems has the
potential to quickly make OpenLibrary a huge knowledgebase of open data. It would
be a great boon for libraries, and I hope we can make it happen.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update 2011-06-02 21:54 EDT&lt;/strong&gt;: The omission of Mike McCabe&#039;s name has been
corrected. Also, I forgot to thank my employer, Laurentian University, and the University of Windsor
for allowing me to invest some of my time on strengthening Evergreen&#039;s ties to OpenLibrary. I believe
this is the beginning of a solid, mutually beneficial partnership!
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 02 Jun 2011 16:06:24 -0400</pubDate>
    <guid isPermaLink="false">http://www.coffecode.net/archives/249-guid.html</guid>
    
</item>
<item>
    <title>Farewell, old Google Books APIs</title>
    <link>http://www.coffecode.net/archives/248-Farewell,-old-Google-Books-APIs.html</link>
            <category>Coding</category>
    
    <comments>http://www.coffecode.net/archives/248-Farewell,-old-Google-Books-APIs.html#comments</comments>
    <wfw:comment>http://www.coffecode.net/wfwcomment.php?cid=248</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.coffecode.net/rss.php?version=2.0&amp;type=comments&amp;cid=248</wfw:commentRss>
    

    <author>dan@coffeecode.net (Dan Scott)</author>
    <content:encoded>
    &lt;p&gt;
Since the announcement of the new v1 Google Books API, I&#039;ve been doing a bit of work with it in Python (following up on &lt;a href=&quot;http://coffeecode.net/archives/246-The-new-Google-Books-API-and-possibilities-for-libraries.html&quot;&gt;my part of the conversation&lt;/a&gt;). Today, Google &lt;a href=&quot;http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html&quot;&gt;announced&lt;/a&gt; that many of their older APIs were now officially deprecated. Included in that list are the &lt;a href=&quot;https://code.google.com/apis/books/docs/gdata/developers_guide_protocol.html&quot;&gt;Google Books Data API&lt;/a&gt; and the &lt;a href=&quot;https://code.google.com/apis/books/docs/js/devguide.html&quot;&gt;Google Books JavaScript API&lt;/a&gt;. These APIs will be retired as of December 1, 2011. (Thanks to &lt;em&gt;jgeerdes&lt;/em&gt; in the #googleapis IRC channel for the heads up today).
&lt;/p&gt;
&lt;p&gt;
There already has been &lt;a href=&quot;http://groups.google.com/group/google-ajax-search-api/browse_thread/thread/dc32b9a7df09eaf5&quot;&gt;some outrage&lt;/a&gt; expressed over the switch to new APIs; five months is not a lot of time to shift gears if you&#039;ve built a significant architecture on top of the old APIs. But I have some sympathy for Google, in this case; the new &quot;Discovery&quot; APIs are based on a common, consistent architecture that will be easier for them to document, maintain, manage, and ... monetize, of course. (Good time for full disclosure, I suppose: I am a Google stockholder.)
&lt;/p&gt;
&lt;p&gt;
So far, the only major concern I have with the new v1 Google Books API is one missing function that was available in the Data API: the ability to do a full-text search of a custom bookshelf. Accordingly, I&#039;ve filed &lt;a href=&quot;http://code.google.com/p/google-ajax-apis/issues/detail?id=587&quot;&gt;a bug&lt;/a&gt; in the AJAX APIs issue tracker. Here&#039;s hoping that the deprecation of the old APIs enables Google to focus on their anointed APIs on all fronts: documentation, features, and support. Bug 587 should be a good testcase.
&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 26 May 2011 22:08:54 -0400</pubDate>
    <guid isPermaLink="false">http://www.coffecode.net/archives/248-guid.html</guid>
    
</item>

</channel>
</rss>
