Most likely I would rarely use the pull feature, I would prefer to push out books from Calibre to the device(s). I have all of my (good) books on my tablet already.
But using pull, I would prefer the second variant, with local browsing on the device. Preferably even without any need for Calibre to be running at the same time. Or even without any network at all. You would then create a "wishlist" from the local database that would be automatically downloaded on the next connect to Calibre.
When CC request metadata for the whole Calibre library, CC could include the timestamp for the most recent update. That way Calibre only have to create a package/catalogue containing metadata for books that have changed/added/removed since the last transfer of metadata.
Instead of transferring a lot of metadata that already might be available on the other side, "packages" with pairs of bookid and hashes/checksums for the metadata for that bookid might be transferred instead. Perhaps 8 bytes per book? Then only metadata for books with different hashes have to be sent. The local database might still allow browsing of all metadata if the metadata is not up to date, but could flag entries with bad hashes as being in the process of being updated. That way the transfer of metadata might be a relatively low priority process. Could even add a refresh button that overrides the background update to quickly fetch updated metadata for just that book.
Error handling would be fun...
The possible problems regarding performance with huge libraries could be handled by making parts of CC optional. That way owners of different devices might activate different parts of CC.
Basic functionality using push from calibre should still be available to all, the pull feature could be optional, depending on how powerful device you have, and how much storage you can spare.
Users with weak devices might then create a Calibre library with a small subset of their books to allow them to use the pull features of CC.
When activating some features a notice could be shown warning about possible problems when very large libraries, slow connections or devices with low processing capabilities are used.
Last edited by Adoby; 08-27-2012 at 07:31 AM.
Reason: Fixxed som speling erors
|