Zotero on Android with Zandy

Zandy logo

The Zandy logo. Read the "ә" as in Tatar or Azeri, it's "ä" like in "cat".

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.

Pricing Free

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).

Browsing items using Zandy 1.0.0

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.

Item editing using Zotero 1.0.0. Item editing will be somewhat improved for 1.0.1.

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.

This entry was posted in Tools and tagged , . Bookmark the permalink.

26 Responses to Zotero on Android with Zandy

  1. Scott says:

    I’m a happy user and eagerly awaiting the upcoming releases. Now tablets and smartphones are about to get really useful, thank you so much!!

  2. adam.smith says:

    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.

    That seems to indicate that the problem is a lack of awareness – it’s not like you’ve done much advertising beyond your twitter announcement and the post on zotero-dev(!). The French Zotero people have blogged and tweeted about it on the other hand.

  3. Avram Lyon says:

    Sebastian: You’re probably right that I would do well to advertise this more. I try not to be crass — which often means just not making a fuss. With the 1.0.1 or 1.1 update, I’ll try to raise awareness a bit, when the program is more feature-complete and more thoroughly tested. The best forum will be the Zotero blog, which, I assume, is going to cover the app relatively soon.

  4. Jon Hiller says:

    Avram: Can you post a short user guide? I just downloaded the app but I am having trouble syncing with my Zotero collection. Perhaps I am doing something wrong, but it is hard to know without some more information. Thanks. JON

    • Avram Lyon says:

      Jon: I’ll get a user’s guide out as soon as possible.

      As for the syncing issue, I overlooked a key step when writing the code to add item deletions in Zandy 1.0.1, which made the syncing not work on fresh installs of Zandy, and only work for installs that upgraded from Zandy 1.0.0. This was fixed in Zandy 1.0.2, but I overlooked essentially the same thing at that point, so 1.0.2 would only work for fresh installs, but not for people who upgraded from 1.0.1. You can make 1.0.2 work by resetting the application’s data from your Android preferences, or install 1.0.3, which will be out in under an hour, to fix the problem automatically.

      As a result, my second biggest goal is putting some proper testing into place, since I’m sure you and everyone else will get sick of such frequent updates.

      But a user guide is forthcoming. I also want to create a proper forum for the software to get news and such out to Zandy users.

      • Avram Lyon says:

        The 1.0.3 update will come out today, but not in an hour as I said. Resetting application data should also serve the same purpose and make a 1.0.2-upgraded-from-1.0.1 install work.

  5. Pingback: ProfHacker - The Chronicle of Higher Education

  6. Raoul says:

    This is a good thing you’re doing, and I agree that you need to promote it more. You might consider throwing it on Amazon’s market, as well. I also think there is a strange psychology behind app purchases–$4 somehow feels high, even though it really isn’t in terms of everyday spending. But with only 15 minutes to make a return, for people to spend 4x the price they’re used to seeing takes a leap of faith. I imagine–as most people would, I think–that the first sync could take more than 15 minutes by itself. You might want to put up a trial version that is limited in some way, so people can see how (and if) it works on their device.

    • Raoul says:

      Or, you know, make it even cheaper. There’s a balance you have to find.

    • Avram Lyon says:

      I don’t know how to make this more clear, but I’m quite willing to give refunds for those who prove unsatisfied. I wish I could extend the return window more, since 24 hours is fine by me, but that’s a general Android Market policy that I can’t influence.

      I do plan on putting this on the Amazon market as well, probably at the same price.

      As for the $4 price, I’m OK with dropping it a little, maybe to $3, but I’m not sure that is psychologically so different.

      • Raoul says:

        There’s no reason to be touchy about it. It’s pretty obvious how “how to make this more clear” about refunds: put a note on the actual Android Market page to that effect, which you have not done. Obviously, I’m on your project page. Not a lot of people make that step. It may be putting people off. It’s a valid observation and a practical suggestion.

  7. Navin says:

    Thank you for writing this app. My expectations were perhaps a little high for an app this new. I installed it, but syncing only gives me the names of the collections without any items in it. Is this due to the fact that I’m hosting my library collection on an external webdav server rather than on the Zotero server itself? Or did I do something else wrong? My entire library is almost 2 Gb, which I stored on CloudMe which gives free webdav access. Zotero in Firefox can be configured to get the items from a webdav server, while the database itself is still hosted on the zotero server. It works perfect but it seems I cannot configure Zandy to fetch items from there.
    May this problem otherwise have anything to do with permissions (read/write)? I just clicked Default when Zandy asked for Zotero key permissions, rather than Change (which I perhaps should have done).

    If Zandy cannot fetch library items from elsewhere (rather than zotero.org) then I for the time being have no use for it.

    • Avram Lyon says:

      Zandy should be giving you access to the items as well, and not just the collection names. Note that you need to long-click (tap and hold) one of the collections to initiate a sync of its contents, and subsequently to open it to view its contents. A single short tap on a collection will open its subcollections. You can also view all the items that have been requested from Zotero.org already by selecting “View items” from the main screen; a sync started from that item list will request your entire library from the server.

      As for WebDAV support, it is not yet possible to download file attachments to Zandy that are stored in WebDAV. This does not affect metadata, like collections, items, and notes, that are always synced using the Zotero.org dataserver. I will be adding support for attachments stored on WebDAV in the near future.

      I have been using Zandy with my research collection of nearly 3,000 items, so a library like yours shouldn’t present any significant issues.

      If you haven’t yet, take a look at the user guide (http://www.gimranov.com/avram/w/zandy-user-guide), particularly the Syncing and Navigation sections.

      I hope this helps you get started with Zandy on your device; if you have more questions, please ask. And if you find that Zandy just isn’t what you need at this time, let me know and I’ll refund the purchase price.

      • Navin says:

        Thank you Avram,
        I can now indeed check the collections but still cannot get to my webdav-stored attachments. The webpage of zotero does allow me to access pdf-attachments of library items.
        When do you expect to integrate viewing of webdav-stored attachments into Zandy? What priority does webdav integration have for you?
        Sincerely yours,

        • Avram Lyon says:

          WebDAV integration is a fairly high priority for me, since I use it as well, and because recent developments have shown that it would be rather easy to implement. Still, I think you’ll find that the online library view at Zotero.org does not yet allow you to download PDF attachments stored in WebDAV.

          So my first goal at present is to improve the search and navigation functionality, then turn to WebDAV. Shouldn’t take longer than several weeks, unless something comes up.

        • Avram Lyon says:

          I just enabled WebDAV integration in the latest development version of Zandy. If you’re interested, I’d like send you a copy to try out with your library and WebDAV setup, to make sure it works for your WebDAV server. Send me an email at zandy@gimranov.com if you’re interested.

  8. Pingback: reference management | Pearltrees

  9. Salvador Perez says:

    Hi, I am having problems to download my pdf attachments. The download stucks in 0% in my phone and my tablet. I am currently using webdav from cloudme.com. I hope there can be any solution soon.


  10. LastKraig says:

    I see you don’t monetize your site, don’t waste your traffic, you can earn additional cash every month
    because you’ve got hi quality content. If you want to
    know how to make extra $$$, search for: Mertiso’s tips best adsense alternative

  11. AurelioSmall says:

    I have checked your blog and i have found some duplicate content,
    that’s why you don’t rank high in google, but there is a tool that can help you to create 100% unique
    content, search for: Boorfe’s tips unlimited content

  12. LouChief says:

    I have checked your page and i have found some duplicate content, that’s why you don’t
    rank high in google’s search results, but there is a tool that
    can help you to create 100% unique articles, search for: boorfe’s tips unlimited

  13. BestLettie says:

    I see you don’t monetize your website, don’t waste your
    traffic, you can earn additional cash every month.
    You can use the best adsense alternative for any
    type of website (they approve all websites), for more info simply search in gooogle:
    boorfe’s tips monetize your website

  14. Freda Wurth says:

    Good day! If you’re reading this then you’re living proof that ads posted through feedback forms like yours works! We can send your ad to people via their contact us form on their website. The best part of this type of advertising is that messages sent through feedback forms are inherently whitelisted. This dramatically improves the chances that your ad will be opened. No Pay per click costs! Pay one flat rate and reach millions of people. To get more info send a message to: pia3543bro@gmail.com

  15. Belinda McVilly says:



    Check Out Our Coupons for This Month & Get Your Domain, Hosting and SSLs For Less!
    Namecheap Offers Amazing Deals That Save You Money Across Our Product Range!
    Best Value Web Products. 20 Years Serving You. Free WhoisGuard. #1 for Value Vs. Others.

    Check Out Our Coupons for This Month => https://zeep.ly/M4Zol

    Thanks, Belinda McVilly
    If you no longer wish to hear from us, please reply this email.

Leave a Reply

Your email address will not be published. Required fields are marked *