For Zandy documentation, see the Zandy User Manual. Enjoy!
In early August, after many months of exhorting others to write clients for Zotero for platforms like Android and iOS, I finally decided I might as well try to do it myself. For about a week, I worked on the project in the evenings, often until the morning, trying to get back in the swing of things with Java. It’d been a long time, but the Android documentation is pretty comprehensive, so I managed. The second push to make a publishable product happened last week, and I finally managed to make something I wasn’t afraid to have other people use.
When it came to publishing, though, I had a lot of trouble deciding how to distribute the software. I had built in part off of some GPL-licensed code for a Mendeley client (Martin Paul Eve (University of Sussex), hosted at https://code.google.com/p/mendeley-for-android/), and I wanted to release the code under a free license anyway. But I’ve been putting in serious hours on Zotero-related things for almost two years, and I can’t say I’d mind establishing a new income source, especially since mobile apps are something people are usually willing to pay for. So I published the code under the Affero GPL on GitHub (https://github.com/ajlyon/zandy/), and published the app itself in the Android Market, first at a price of $7, and, after seeing concern about the price from people I respect, at $3.99 (I offered partial refunds to those who bought it at the original $7 price).
This first version was rather limited, but it did provide, for the first time, a way for people to access and modify their Zotero databases from a mobile device. Sales have been a bit slower than I had hoped, perhaps because I made some design choices that limit Zandy to Android 2.2 and higher. I was surprised to see that most of the sales are from outside the US– only 10% from the United States.
I also provided the installer for free to interested developers; since anyone can take the code and build the APK and install anyway, there’s no point in annoying the interested by requiring them to do that. That version has been downloaded, it seems, six times by people using mainly late-model Android devices: WOW64 (x2), Nook Color, Nexus One, Droid, HTC Desire (x2).
Next baby steps: Zandy 1.0.1
The initial release turned out to have a few bugs, and one of them was preventing people from logging in to the Zotero server, and another was preventing people from entering their Zotero credentials manually. Both, I think, have now been ironed out, and the next release (1.0.1), will being going out tomorrow (Sunday), with those fixes.
There were also a lot of feature limitations. It was possible to modify creators and their roles, and to add, delete, and change tags, but Zandy couldn’t add tags to an item that didn’t already have them. Also, it could be told to sync the entire library, but that sync would fail on larger libraries with lots of collections. Both these issues have now been fixed.
I also really wanted to add new item creation. One of the great things that Zandy could enable is working offline, in a place like a library, archive or some other field site, and simply adding the items you need, to be synced up later– this is my mode of operation when working in Russian libraries without electronic catalogs, so it matters that this work right. I’m working on finishing that feature up right now, and it should make it into the 1.0.1 release for tomorrow.
Documentation is also in need of serious work– it’s mainly nonexistent. So look for some built-in documentation as well as a new page with a guide and troubleshooting information.
You can follow progress towards the Zandy 1.0.1 milestone on GitHub.
[Update: Zotero 1.0.1 was released on Sunday. Next up: 1.1 and attachments! — AL, Sep. 25]
Bigger steps: Zandy 1.1
My main goal for Zandy 1.1, which I hope to get out in under two weeks, is to provide proper access to item attachments in Zotero. Right now, I don’t provide any way for people to work with notes, be they child or standalone, or to links and files attached to items. The API makes accessing attached files (those stored in Zotero File Storage) pretty easy, so it should become possible to download those files on demand and send them to other Android apps to be read and even annotated. Unfortunately, it’s not yet possible to upload files using the API, so annotations won’t yet sync back to your library– we’ll need to find a way to convert them into notes in the meantime. Notes editing should be an easier affair, but we will need to find a way to make rich text editing in Android work in a way that makes the notes show up correctly in Zotero as well.
Other things on the way, that may or may not make it to Zandy 1.1, are searching within the local library, which will make it possible to do things like browse by author or publication, and autocomplete in fields.
I’m also trying to work out what can be done to make Zandy play well with other apps on the Android platform; the Scanner for Zotero app does a great job integrating with a bar code scanner app, and cross-app integration like this is something that will eventually make its way into Zandy.
You can follow progress towards the Zandy 1.1 milestone on GitHub.