I have many many ebooks bought via O'Reilly. (I'm counting ~ 350 titles in PDF format, tho some of these might be duplicates. Then there's also the ePub, the Mobi, the APK, and the DAISY versions of these titles as applicable... And that doesn't count some titles I've purchased that I haven't downloaded yet!)
Between the fact that some of these were purchased as "Early Access" titles which have subsequently been released in their final form, and the fact that others of these have had new electronic "printings" released since I first purchased them, which new printings I am entitled to download because I bought the book directly from O'Reilly, I am finding it hard to keep track of the status of my ebooks to see which should be re-downloaded to get any new content or corrections which might be available.
I realize I am getting e-mails telling me when a new electronic printing of a book is available, but even with those I am finding it hard to keep track of what I have already downloaded and what I still might need / want to re-download. And, if I *do* have multiple copies of a file for some reason, I am finding it hard to tell which is the most current copy, or if they are identical.
I know that I could just use the brute force way of simply re-downloading *everything* periodically, but that's wasteful of network bandwidth and server time, and I'm certain O'Reilly would prefer I not resort to such a strategy. (Indeed, if I were O'Reilly, I think I'd find that to be kind of an abusive thing to do!)
Instead, I'm wondering if there's anything which can be done automatically and without human intervention on O'Reilly's end, which would make it easy for me to check this sort of thing.
One possibility would be to provide for each title the date that title was last regenerated / reprinted by O'Reilly. I realize that in the current Your Products / Ebooks screen, there's a field for when a title was "Purchased / Registered"; I am talking about a different piece of information. Ideally it would be possible to sort the screen by this new field. Then, if my local copy of a title has a last modified date older than this field, I can presume it's out of date. (This, assuming nothing else might change the last modified date, which isn't a perfect assumption but at least gives me something to go on.)
Another and perhaps better possibility would be to provide for each of the formats (.epub, .mobi, .pdf, etc) a title is published in one or more commonly used hash values (e.g. MD5, SHA1, AES, etc) for the most recent version of the title in that format. Then, if the hash value for my local copy of a given title in a particular format does not match the hash value O'Reilly says it should be, I can presume my local copy is outdated or corrupted, and I should re-download it. (This, presuming there are no ebook readers which change the local copy of an ebook to indicate bookmarks, annotations, etc, in which case this strategy won't work as is and needs to be reconsidered.)
I could see this hash value (or set of hash values) being provided both on an individual basis, e.g. as a field or set of fields for each title, and also on a bulk basis, e.g. perhaps as a CSV, JSON, XML, etc text file of values for all titles I've purchased (or simply all titles available period) which can itself be downloaded and processed. (I could conceivably obtain the hash values in bulk by screen scraping the Your Products / Ebooks screen, but obviously I'd prefer not to have to do this if I can avoid it.)
I could see a similar strategy being used for other products O'Reilly provides in electronic downloadable form (e.g. videos), or even products provided in tangible forms (e.g. print books and DVDs), but I don't know that downloadable videos change as frequently as do ebooks and/or that people would tend to repurchase new printings of tangible products (as opposed to new *editions*) just to get changes in content, so I don't know if this would be as useful for those sorts of products.
Obviously it would take some developer time for either or both of these things to get it implemented and running, but once it *was* set up I don't see why it would require much or any human intervention at all to keep it going; it seems like something that could be relatively easily integrated into your existing work flow (at least, standing on the outside as I am).
Is this something O'Reilly would be willing to consider providing? I'd think it would provide additional value-add (not that you need it, of course) in terms of providing "lifetime access with free updates", in that you're trying to make it even easier to see when updates are available / should be gotten.
Thanks for your time in considering this request. I look forward to hopefully hearing back from you concerning it.
Thanks for taking the time to really think about this, and to share your thoughts with us! You're right, we don't have a good way for you to do this now, and updates are something we care about doing well.
We're working on a redesign to the Your Products section, so we will definitely take this into consideration as we work on that. I'll share your comments with the group, and I'll let you know when we release something to help with keeping track of updates.