Zotero: First impressions

Luckily, I was invited to have a look at the Zotero private beta several weeks ago. Today I finally had time to take a look.

Very first impression: Wow.

Second impression: Ooh, sqlite!

Third impression: This is why we wrote unAPI, and COinS.

I love the idea and am all for it and want to get hacking at it. A few thoughts on what I want to add follow below.

But first, here's what I did on my first look around:

Bring in a reference from our local library catalog, presumably via screen scraping a la LibraryLookup:

  Yale's ORBIS (Voyager)

Bring in a book reference via worldcat.org, presumably through the COinS on the page:

 Worldcat (COinS?)

Imported a swath of records from unalog via its MODS export function. Worked just fine, considering how the unalog MODS generation is a bit haphazard:

 unalog (MODS)

Pulled a reference out of CiteULike, presumably via a COinS:

 CiteULike (COinS?)

Visited that reference through our local OpenURL resolver, which I'd configured by hand in Zotero's preferences:

 to full text via OpenURL (SFX)

I have a lot of little interface nits to mention but I won't presume that they're not all related to how awkward my brain remains at windows-navigation-shortcuts while using windows in OSX w/parallels. I wish items with a URL would allow linking back out through the url in the notes section at right.

Let's see how it does importing a 28Mb file of 10,000 MODS records derived from MARC... yknow, because I can. (Several minutes later...) Didn't work, but it still passes the test because (a) it's running in a lowish-memory virtual machine, and (b) nothing crashed. Failing silently is a good outcome. Especially because (c) it's their first beta release, and it's not even public yet.

I'd love to see Zotero become a unAPI consumer... I think this is in the works but I haven't checked in with them about it lately. In the meantime the first thing I'll do when I get time to poke around under the hood is look for this or where it should go, and see what it'll take to get going.

I want to be able to absorb my friends' Zotero databases and get updates. They've said they're working on this through some sort of central server-based mechanism for this, which makes sense.

My one concern about using sqlite is the concurrent-file-access issue. I'd like to write some code outside of Zotero that would use the sqlite file to expose OAI-PMH and OpenSearch interfaces. These should both be doable (last I checked multiple processes could read sqlite dbs safely, but only one can write safely). But, if I'm a remote user looking at my pal's Zotero through OAI-PMH or OpenSearch or Atom and I want to load some or all of their data into my Zotero, can I do it safely from outside of Firefox/Zotero? Probably not, today, though all of that presumably could happen on the consumer side strictly through web access, which might be enough, and even preferable.

I want to add zeroconf discovery so if I walk into a room with 28 other people using Zotero, I can bind in and metasearch/harvest all their data. And chat, too, but that's a whole other story.

In short - it's projects like these that take numerous ideas floating around and ground them in something practical that I can use right now that really wind my crank. The CHNM folks know their stuff -- they've worked on various flavors of this kind of app for years, and they're already most of the way to something lots of people could use today. I'll be keeping a close eye on it (especially because they asked me to!) and maybe you should too.

Trackback URL for this post:

http://onebiglibrary.net/trackback/103

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <pre> <code> <img> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <form> <input> <span> <object> <embed> <br>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <apache>, <bash>, <css>, <diff>, <dot>, <java>, <javascript>, <mysql>, <perl>, <php>, <python>, <rails>, <ruby>, <sql>, <xml>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
2 + 6 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.