As I made rapid initial progress on the prototype of the Mendeley Client for Android, I started to think about the design. In order to minimize hits on the API, as well as for speedy browsing, it doesn't make sense for the UI to be initiating API calls at every turn. Instead, it would be better, I decided, to implement this via a synchronization service. Unfortunately, this required massive code changes (and I am much indebted to these two articles for their advice) which have taken me a long time to refactor. While this is a little disappointing (I'd hoped to have the library displaying today), it's a far better structure for sustainable development.
However, this part is done!
I now have a system that will let you add an account, will check the authentication tokens, refresh them automatically when they expire (well, it will with not much more effort). The next thing to do is to create SQLLite database tables that will hold the synced data and perform the sync once per hour.
If you are interested in how I developed this, the Google Code repository holds the latest efforts.
The exciting news for tomorrow is that I am scheduled in for a phone call with Jason Hoyt, the Vice-President, R&D and Chief Scientist, of Mendeley, to discuss how the API can better serve the community.