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:
Bring in a book reference via worldcat.org, presumably through the COinS on the page:
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:
Pulled a reference out of CiteULike, presumably via a COinS:
Visited that reference through our local OpenURL resolver, which I'd configured by hand in Zotero's preferences:
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.





Post new comment