ZotDroid - A Zotero Client for Android
Hello everyone!
I'm a big fan of Zotero and I've been using it for a long while. I'm currently an MRes student and I need to get a lot of reading done. I run my own webdav and I like to read papers on my tablet. I organise them all with Zotero. My wife is also a zotero user, in the humanities (I'm in the biological and computer sciences) and we both think it's great!
I used to use Zandy but I found it didnt work for me and I think the developer has left it alone. To that end, I've released another Android Client, ZotDroid.
At the moment, it is in beta and it's version 0.2. It needs a lot of testing - it was designed for my Nexus 10 and so, I need folk to test it, tell me whats wrong and what features you'd like. Basically, I figure I can keep it for myself, or put it out there. At the moment, it needs work, so it's free. It's read only right now. I'm going to start work on write features, such as adding notes and deleting entries. But I need to prioritise so let me know what you think is most important.
You can download it here: https://play.google.com/store/apps/details?id=uk.co.section9.zotdroid
Here are the features thus far:
Reading a fresh copy of a Zotero Library
Downloading an attachment via the WebDav interface
Basic search on all fields
Selecting a collection and viewing the items for just that collection
Incremental syncing
Backing up via SQLite DB
Things still to do:
More testing!
Tag support
Label support
Option as to where to save attachments
Icons to show if an attachment is downloaded already
Adding notes
Removing records
Removing collections
Modifying records
Multiple Author records
Sorting via multiple options such as date
More robust recovery from internet problems
Better UX design
Whatever the greater Zotero community wants
Cheers!
Ben
I'm a big fan of Zotero and I've been using it for a long while. I'm currently an MRes student and I need to get a lot of reading done. I run my own webdav and I like to read papers on my tablet. I organise them all with Zotero. My wife is also a zotero user, in the humanities (I'm in the biological and computer sciences) and we both think it's great!
I used to use Zandy but I found it didnt work for me and I think the developer has left it alone. To that end, I've released another Android Client, ZotDroid.
At the moment, it is in beta and it's version 0.2. It needs a lot of testing - it was designed for my Nexus 10 and so, I need folk to test it, tell me whats wrong and what features you'd like. Basically, I figure I can keep it for myself, or put it out there. At the moment, it needs work, so it's free. It's read only right now. I'm going to start work on write features, such as adding notes and deleting entries. But I need to prioritise so let me know what you think is most important.
You can download it here: https://play.google.com/store/apps/details?id=uk.co.section9.zotdroid
Here are the features thus far:
Reading a fresh copy of a Zotero Library
Downloading an attachment via the WebDav interface
Basic search on all fields
Selecting a collection and viewing the items for just that collection
Incremental syncing
Backing up via SQLite DB
Things still to do:
More testing!
Tag support
Label support
Option as to where to save attachments
Icons to show if an attachment is downloaded already
Adding notes
Removing records
Removing collections
Modifying records
Multiple Author records
Sorting via multiple options such as date
More robust recovery from internet problems
Better UX design
Whatever the greater Zotero community wants
Cheers!
Ben
LiborA - Samsung Galaxy S3 claims to be supported. However, my current API target is: API 22 - Lollipop - Android 5.1.
I'll have a look and see if I can target a more popular API version. There isn't anything in this program that really requires a later API so if I can reduce it down somewhat I will
The biggest problem is the support for all the devices really. I wonder if there is a better way to do such testing?
Regardless, I'd be glad to hear what people have to say about features they need.
A good question. It uses a DB and sync. I wanted to be able to use my tablet away from an internet connection, such as on flights or the middle of nowhere.
In that case, does it work on an inserted memory card?
Thanks for the development!
Let me add this as an option for the next version - where to store the Database SQLite file. Cheers!
It also never registered when I entered a manually created api key in the settings (it just continued to send me to do the oauth process when clicking sync).
Once I got it syncing, it shows titles (very large) and allows for switching between collections, but does not show any of the item details. I can see the twisty icon rendered behind the title and it gets toggled, but I don't see any other change.
This is on a pixel phone.
As others have found it won't set up using Firefox but did begin to work with Chrome.
Unfortunately it got stuck at 70% (or I got impatient ...) and I closed ZotDroid. Now on restarting it (I've tried restarting the tablet) all I get is a total white screen with nothing else. I'll try uninstalling it, reinstalling it see if that helps, but it appears that it doesn't fail gracefully :)
Other than that - well being able to run it off a sd-card would be really great.
Exciting stuff, hope you continue to work on it.
How big are people's libraries that are successfully syncing? I've got about 8,200 items.
Ok so a few points I'm taking away:
1) Font sizes - definitely a consideration for all the different devices
2) More item details - I, personally, have only been interested in attachments and the titles. I'll try and add more details and differentiate between these and attachments
3) Larger libraries can crash things - big databases and SD Card options. My personal library is not so large but does have many large attachments. I'll see if I can test this and make it somewhat faster. My suspicion is that the larger libraries are using too much memory so some level of restriction might be needed. Not sure how best to do that. My library is around the 1000 mark.
Ok so some good points there. I'll see what I can do over the coming week to make that a little smoother. Cheers for the feedback!
For these interested, the source is here: https://github.com/OniDaito/ZotDroid
B
Edit: 2nd attempt to synchronization with Zoteto database freeze the app.
If I understand correctly, if you want offline access to all of your PDFs that would require downloading each one one-by-one? (which is not feasible with realistic collections).
An alternative would be to allow users to specify where the complete Zotero attachment directory structure is (and to leave it up to the user to sync the attachments in any way the user sees fit). In other words, if you let the user sync the attachment base directory, Zotero will find the attachments (because Zotero uses relative paths for attachments), and the user can keep the complete PDF collection synced between devices.
This is, for instance, the modus operandi that I use when using Referey with Zotero (https://github.com/rdiaz02/Zotero-to-Referey).
Why does this matter? Because to some of us it is essential that we can have offline access to any of our PDFs so that we can read any arbitrary PDF. And keeping full directories in sync between devices (and resyncing as soon as you are online) is easy (there are many options, from Syncthing to Dropbox to ...).
rdiaz02: Probably I won't fix that. My collection is also realistic and there is no way it would ever fit on my tablet in it's entiriety. What I would like to do is have the option to do multiple downloads in one go when a connection exists, with a small icon next to an attachment to show it is available offline (in a similar manner to dropbox). I don't like the idea of faffing with more than one application when Zotero does the majority of what I want. Specifiying where the attachments are stored is number 1 in my todo-list though and that could be made to work easily with dropbox I think.
P.S. Yes, I have a tablet with loads of storage, of which about 13 GB are zotero pdfs :-)
rdiaz02 - At present, the save path is the 'default storage path' + ZotDroid. If a file of the same name exists in here, zotdroid will not attempt a download and instead, will open that file. So yes, you are correct. I figured the simplest solution was best. I don't keep an internal database record for downloaded PDFs. This leaves it open to synchronising these files another way 'underneath' zotdroid. ZotDroid always attempts a download if it can't fine the file.
It would be great to have the possibility to underline and comment on the documents and have it synched back to Zotero. In the style of PaperShip.
I/O refers to the webdav settings which you need to enter by hand. I prioritised external webdav as it's what I tend to use.
@"Chandra Ehm" it sounds like you are referring to Zotero's notes and tags feature yes?
Sorry my ignorance here, what are webdav credentials.
yes exactly. I was referring to the function that zotfile offers on a computer. When underlining, annotating and commenting you can back those changes back up to the file stored in zotero.
with apps like PaperShip, you don't need to use the syncing functionality of ZotFile as you can access and annotate your PDFs via your iPad
Note taking is definitely a good idea, as that would be essential! My thinking along these lines is how best to display this onscreen? This is more of a UX issue rather than a sync / internet one.
can you kindly clarify for me and @LiborA how to correctly insert these basic insertions?
https://play.google.com/store/apps/details?id=uk.co.section9.zotdroid
If you don't fill in the webdav section, it will default to using the Zotero Amazon cloud storage. So hopefully this will work for folk.
Options appear for storing the SQLite database at whichever location you prefer but this isn't implemented yet. Downloads can be saved at whatever location you type in.
I've been busy with my MRes so I've only just started back on this client. But rest assured, it's still progressing.