Saturday, March 15th, 2008

Free covers for your library, from Google

On Wednesday we added integration with Google Book Search, and talked about it on the main blog. We did it together with a number of cool libraries.

My thoughts are still percolating, but I wanted to throw out a piece of my ham-handed JavaScript code. The code gives your library covers, something libraries usually pay for.

This basic grabs cover images from Google. You feed it an ISBN and it gets the cover. It doesn’t link to them. Would they mind? Maybe.

<div id="gbsthumbnail"></div>

<script type="text/javascript">

/* GBS Cover Script by Tim Spalding/LibraryThing */

function addTheCover(booksInfo)
{
for (i in booksInfo)
{
var book = booksInfo[i];
if (book.thumbnail_url != undefined)
{
document.getElementById('gbsthumbnail').innerHTML =
'<img src="' + book.thumbnail_url + '"/>';
}
}
}

</script>

<script src="http://books.google.com/books?jscmd=viewapi&bibkeys=ISBN:0670880728&callback=addTheCover"></script>

Here’s a version that links to them, but only if they have a full version. Surely they wouldn’t mind this.

<div id="gbsthumbnail"></div>
<div id="gbslink"></div>

<script type="text/javascript">

/* GBS Cover Script by Tim Spalding/LibraryThing */

function addTheCover(booksInfo)
{
var gbsnameA = new Array("No information", "Book info", "Partial view", "Full view");

for (i in booksInfo)
{
var book = booksInfo[i];

var quality = 0;
if(book.preview == "noview") { quality = 1; }
if(book.preview == "partial") { quality = 2; }
if(book.preview == "full") { quality = 3; }

if (book.thumbnail_url != undefined)
{
document.getElementById('gbsthumbnail').innerHTML =
'<img src="' + book.thumbnail_url + '">';
}
if (quality > 3)
{
document.getElementById('gbslink').innerHTML =
"<a href='" + book.preview_url + "'>" + "Google Books: " + gbsnameA[quality] + "</a>";
}
}
}

</script>

<script src="http://books.google.com/books?jscmd=viewapi&bibkeys=ISBN:0670880728&callback=addTheCover"></script>

So, book covers for the price of an occasional link to Google. Sounds like a good deal to me!

If this saves your library money, consider getting LibraryThing for Libraries. We’re clever all over.

Labels: code, gbs, google book search, javascript

Wednesday, March 12th, 2008

LibraryThing for Libraries adds statistics

LibraryThing for Libraries now has stats! Libraries in the program can see just where LibraryThing for Libraries is working for them, and where it’s not. You can evaluate changes, and justify it to your bosses.

To see your statistics, go to the Stats tab. Statistics include:
  • Real-world coverage numbers and percentages for each enhancement
  • Recommendation and similar books link-usage
  • Tag popup and search usage
The tab itself is basic, but we included a link to download your statistics in CSV/Excel format. Pie charts? Go crazy.
Of course, statistics are a two-edged sword for us. Although overall rates are good, some libraries aren’t getting the best results. In general, if you’re hiding your enhancements behind a tab, you can expect much lower rates.

We certainly suspect that LibraryThing enhancements are getting a lot more play than some other browse links—like LCSH subjects—or those of our competitors’, who put their enhancements on external pages. Indeed, we’re wondering if libraries would like to use LTFL’s stats structure to track other links too?

LibraryThing for Libraries Email List. We’ve set up a Google Group for LibraryThing for Libraries customers. We hope member libraries will join up. We’ve sent out invites to all the primary contacts.

Sign up to have your voice heard. We will be talking about the future of LTFL and where it should go.

Labels: librarything for libraries, ltfl, new feature, stats

Thursday, March 6th, 2008

Where are the libraries? Where are the bookstores?

I haven’t blogged about LibraryThing Local here, on Thingology. So, for the benefit of those who don’t read the main blog, LibraryThing Local is a new sub-site devoted to finding, mapping and describing the world’s bookstore, library, book fair and festival—as well as all the readings, signings, lectures and other events they host. Open to all for three days now, LibraryThing Local just hit 10,000 venues—all user-contributed.

As it grows, LibraryThing Local is geting more interesting. Below are some interesting visualizations of where the world’s cities have bookstores (green dots), versus where they have libraries (blue dots).

Cambridge, MA Dublin, Ireland
Sydney, Australia Chicago, IL
Toronto, Canada Houston, TX
Minneapolis, MN Los Angeles, CA*

Although none of the maps—with the possible exception of Cambridge—are complete, and not all the libraries are public, the pattern is clear: Bookstores cluster together in the high-traffic center; public library branches spread out into the outlying areas and are separated from each other evenly like identically-polarized magnets.

I don’t think this basic fact will come as a surprise to many, but it’s striking even so. It’s worth thinking about why these two institutions—so different but also sharing much—are positioned so differently in space.

I think the easiest explanation is the difference between economics and politics. Economics favors businesses that can create the most amount of happiness—which is to say revenue— whether or not this makes access difficult for some people. Representative politics favors solutions that give all citizens good or equal access to the resource, even if the resultant distribution is inefficient in economic terms.

So, bookstores go where they’re going to survive and grow. High-traffic areas are best for that, and competition isn’t necessarily damaging and may even be good.** By contrast, library branches are never clustered together, which would seem inefficient. And towns position branches, either directly or through a process grounded in neighborhood representation, to ensure that no area is left out.

That’s my take. There are, I’m sure, other good explanations. Here are some:

  • Google Maps dots are all the same size, but a city’s main library is generally far larger than any branch library, and far larger, compared to a branch library, than city bookstores are to peripheral bookstores. If a city’s main library were broken into bookstore-sized chunks, libraries would seem to cluster indeed!
  • Libraries focus more on services to families, which naturally sends them where the families are.
  • Libraries are often positioned near schools, which show a similar regional distribution.
  • LibraryThing Local probably underestimates peripheral bookstores. Library branches are generally easy to find, but you need to know where a bookstore is to find it. You’re more likely to know the big downtown bookstores.

Food for thought?


*Los Angeles is the anti-case. It’s so spread-out that the bookstores have nowhere to cluster.
**Take Ann Arbor‘s Shaman Drum, an independent, the national flagship Borders, and the excellent used bookstore Dawn Treader are arrayed in a tidy row.

Labels: city planning, economics, librarything local, politics, visualizations

Thursday, February 21st, 2008

Taxation without web presentation

The Library of Congress recently signed a deal to accept 3 million dollars worth of “technology, services and funding” from Microsoft towards building a new website powered by Microsoft’s Silverlight plug-in. I (Casey) usually leave the blogging to Tim, but I’ve got to say something about this.

Microsoft, in general, is very good to libraries, and libraries are very good to them. Microsoft gets huge tax breaks for donating software licenses — something that doesn’t really cost them a thing — and libraries get software they couldn’t afford otherwise.

This is a different beast, however. It sounds like Microsoft technologies will be used from the ground-up — if you use Microsoft’s Silverlight to do the front-end, your developers pretty much have to use Visual Studio and Microsoft languages, your database admins have to use MS SQL Server, and your systems admins have to use Windows and IIS. In any case, it seems unlikely that Microsoft would consult on a project and not recommend you use Microsoft as much as possible.

Once you’re locked in to the entire Microsoft stack, you pretty much can’t change a single piece without completely redoing your entire IT operation from top-to-bottom. When the free deal expires or you need new servers, you end up having to buy new Microsoft licenses and software. It’s like giving somebody a kitten for a present — they’ll still be paying for and cleaning up after your gift 10 years from now.

Most disturbingly, users are locked in, too: anybody using an iPhone, an old version of Windows, any version of Linux, or any other operating system or device not supported by Silverlight will be unable to use the Library of Congress’ new website. How is that compatible with the principles of democracy or librarianship? It’s taxation without web presentation. And how exactly is that a quantum leap forward? (If the LOC really wanted to make a quantum leap, it would open up its data.)

Giant package deals are the wrong way to make both technical and business decisions about software; it doesn’t matter who’s doing the packaging, or how. You should be able to use the best operating system for the job, the best database for the job, and the best programming language for the job. You should be able to hire developers and systems administrators, not Microsoft developers and Windows administrators, and should give them the freedom to use the best solution, not the Microsoft solution. Sometimes the Microsoft solution is best, sometimes it isn’t, but that’s something that shouldn’t be dictated unilaterally.

“I take comfort when I see one of our competitors looking to hire Microsoft developers instead of software developers, for reasons the hacker/entrepreneur Paul Graham explained well:

If you ever do find yourself working for a startup, here’s a handy tip for evaluating competitors. Read their job listings. Everything else on their site may be stock photos or the prose equivalent, but the job listings have to be specific about what they want, or they’ll get the wrong candidates.”

“During the years we worked on Viaweb I read a lot of job descriptions. A new competitor seemed to emerge out of the woodwork every month or so. The first thing I would do, after checking to see if they had a live online demo, was look at their job listings. After a couple years of this I could tell which companies to worry about and which not to. The more of an IT flavor the job descriptions had, the less dangerous the company was. The safest kind were the ones that wanted Oracle experience. You never had to worry about those. You were also safe if they said they wanted C++ or Java developers. If they wanted Perl or Python programmers, that would be a bit frightening– that’s starting to sound like a company where the technical side, at least, is run by real hackers. If I had ever seen a job posting looking for Lisp hackers, I would have been really worried.”

But it’s disappointing to see an institution you respect, admire, and fund with your tax dollars going down that same road. It’s even more disappointing because the Library of Congress does make smart decisions about technology. They announced another major project a few months back that took an entirely different approach to selecting the tools they would use. The people behind the World Digital Library sat down and thought about the best tools for the job, and they came up with an interesting and eclectic list: “python, django, postgres, jquery, solr, tilecache, ubuntu, trac, subversion, vmware”. Those tools are free, open-source, designed with developer productivity in mind, aren’t tightly linked to each other, and don’t inherently limit who can access your website. That’s what should matter.

Labels: library of congress, microsoft, open data, open source

Friday, February 15th, 2008

ThingISBN adds LCCNs, OCLC numbers

ThingISBN, our popular ISBN-based API, supports and returns data for two more identifiers: LCCN and OCLC.

At core, ThingISBN—blogged before here and here—takes an ISBN and returns a simple XML list of other ISBNs, corresponding to other “editions” of the work, eg.

http://www.librarything.com/api/thingISBN/0590353403

Now, if you add &allids=1 to the ISBN, the XML will include relevant LCCN and OCLC numbers, eg.

http://www.librarything.com/api/thingISBN/0590353403&allids=1

You can also feed ThingISBN both numbers, eg.,

http://www.librarything.com/api/thingISBN/lccn97039059
http://www.librarything.com/api/thingISBN/ocm37975719

If you feed it an LCCN or an OCLC number you don’t need to add “&allids=1” to get back these identifiers.

What’s next?

  • I haven’t added LCCNs and OCLC numbers to the ThingISBN feed, yet.
  • Although there are some details to be worked out, this advance looks forward to adding support for LCCNs and OCLC numbers to LibraryThing for Libraries.

Tell us what’s going on. I know that ThingISBN gets a lot of use, some of it even in accordance with its Terms of Use. If you’re using ThingISBN, I’d love to hear how on a new wiki page I’ve created, Projects Currently Using ThingISBN.

Caveat. ThingISBN is free for non-commercial use. Commercial use requires our say-so. Read more here.

In the news! Coincidentally, LCCNs are in the news this week. Yesterday, the Library of Congress announced a “LCCN Permalink,” a smart bid to convert a vital but underused set of permanent, unique IDs, the LCCN (Library of Congress Control Number), into the regnant permanent, unqiue ID, the URL. See Catalogablog for the announcement.

Labels: apis, lccn, lccns, oclc, oclc numbers, thingisbn

Wednesday, February 13th, 2008

We’re ready for Masonic control now, please.

Whenever I talk about LibraryThing among librarians I mention all the libraries that generally fall beneath their radar—churches, historical societies, house museums, birthing centers, Masonic lodges—and how LibraryThing is great for them. In fact, we’ve done smashingly among churches (and a number of synagogues and temples), and well enough with the others, but I don’t think we have a single Masonic lodge!

Something is clearly wrong. Are the Masons against us? Are the Masons supporting Shelfari?

The recent anniversary of the Great Seal of the United States got me thinking. What if we made our sympathies clear? So we’ve redesigned the Great Seal of LibraryThing (formerly the Orca). Social-Networking World domination here were come.

Translations: “He approves our tags.” “A new order of books.”

Labels: everything is miscellaneous, hidden images, masonic control, masons

Sunday, February 10th, 2008

Harry Potter and the Copyright Lawyers

The New York Times has an interesting piece on Rowling’s attempt to stop the publication of the Harry Potter Lexicon, based on the website of the same name. Needless to say, the internet has transformed the cultural background of copyright law. As Lessig put it in the article, if claims like Rowlings’ are valid, the web is turning out a “whole generation of criminals.”

I’d be interested to read some specifics about the HPL’s approach, and Rowling’s charges there. In legal arguments over copyright, details matter. Commentary and criticism are one thing; excessive copying is another.

From the website, it seems that long quotations are rare or absent, and that many of the entries are synthetic or analytical in nature. Some of the essays, like “Wizard Banking” or “British Schooling in the 1970s?” read like those deadly mini-articles from the Transactions of the American Philological Society. And can anyone claim that the analytical and speculative “Religion in the Wizarding World” isn’t protected?

One of the key notions of US copyright law is the distinction between fact and expression. At its most basic, this means that you can write about the dimensions of the pyramids or the life of JFK, but you can’t describe them in the same words as I did. In this way, nobody “owns” a fact, no matter how much trouble it took to collect or how interesting it is. It doesn’t even have to be a true fact. It just has to intend or purport to be one.

When it comes to fiction, however, the line is blurry. That J. K. Rowling wrote a series of books about a character named Harry Potter is certainly a fact. But where do we draw the line? Is it a fact that, as the HPL explains, the diadem of Ravenclaw is “etched with the words, ‘Wit beyond measure is man’s greatest treasure.'”? The diadem doesn’t exit. It’s a product of Rowling’s imagination. And does it matter that the HPL uses “etched with the words” and Rowling used “there were tiny words etched into it”?

I would love to see the fact-expression extended to cover “literary facts,” to allow authors to write about Albus Percival Wulfric Brian Dumbledore as they would JFK—stick to the facts and avoid pulling a Doris Kearns Goodwin. Unfortunately, that’s not where the law is.

Hat tip: David Weinberger.

Labels: copyright, harry potter

Sunday, February 3rd, 2008

Job: LibraryThing for Libraries

LibraryThing is looking for someone to take over the non-coding parts of LibraryThing for Libraries, our innovative plan to bring Library 2.0 gold to OPAC 1.0 slag.

The position is part basic tech and part “sales.” If you come from tech you have to prove you’re personable. If you come from sales you have to prove you’re very sorry about it.

Qualities:

  • Smart. We value brains over experience.
  • Personable. We’re a bunch of trogledytes. Outshine us.
  • Hard-working. LibraryThing is a startup, so hard work is expected. And you have to want that. This is the job you think about in the shower.
  • Organized. We have a few hundred libraries interested in LibraryThing for Libraries already. You’ve got to be able to keep them straight and not get behind on emails.
  • Techy. This isn’t an engineer position, but you need to be comfortable with this world. HTML and CSS strongly preferred. Experience with one or more OPAC/ILS systems preferred.
  • Fast learner. Don’t know anything about XML? Spend today with this book.
  • Library-ish. We’re 3-4 library people now (with 2 MLSs). Even us out.

Location: Portland, ME or Boston, MA preferred, but we’ll entertain all possibilites. Relocation not necessary, but might help.

Money: Salary, commissions, excellent plated health insurance. LibraryThing for Libraries is growing very rapidly. It’s got the potential to change the world. You could be at the center of that. And you get paid?

Contact: Tim Spalding (tim@librarything.com)

Labels: employment, jobs, librarything for libraries, ltfl

Monday, January 28th, 2008

Kindles in libraries? Amazon says “get lost.”

Amazon prohibits libraries from lending out Kindles. It’s unclear if you can let your spouse use it.

(Hat tip Jessamyn West).


I’ve refrained from posting about the Kindle because everyone else is talking about it and I don’t have strong feelings, except on the licensing issue.

There are cultural plusses from the fact that books are objects people can sell, loan, swap and pass onto your children, and that their continued functioning does not depend on the good will and financial stability of a company. There are cultural plusses from some of the extra things Kindle could do too, but those are the things we could lose.

I’m worried that, for most people, these plusses aren’t that important. Shocked as I am by the practice, most people throw away books after they read them. But it’s only books for me. I’ve somehow managed to accept that, when my father dies, his fabulous classical music collection will go to his heirs, but my son won’t be getting my music.

Maybe this aspect of the issue won’t be noticed until people see how DRM-based solutions cut libraries out of the equation. Then again, Amazon will probably move to allow libraries to provide short-term rentals, and libraries will accept that.

What does the library of the future do? I worry it won’t do much more than aggregate rights-managed subscription services. It’s already going that way with databases and journals. Yuck.

Think I’m cantankerous? You haven’t heard David Lynch on the iPhone.

Labels: kindle