View Single Post
Old 11-04-2017, 07:29 AM   #1
HarryT
eBook Enthusiast
HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.
 
HarryT's Avatar
 
Posts: 85,554
Karma: 93383099
Join Date: Nov 2006
Location: UK
Device: Kindle Oasis 2, iPad Pro 10.5", iPhone 6
Suggestion for improving the efficiency of loading new readers

Hi Kovid,

Could I make a suggestion, which I think would greatly ease the ease of using Calibre to load books onto a new device? (Apologies in advance - this is a rather long-winded post!)

I've just bought a new Kindle Oasis 2, with 32GB of storage space, which allows me to have a much larger proportion of my Calibre library on the device than I could previously. I buy books from all sorts of different places, so have a mixture of formats in my library, but always want to send AZW3 to the device (which is set as the device's preferred format).

So, I highlight or mark a block of books in my library, right click, and select "Send to Device". If all the books are in Mobi or AZW3 format, no problem: I get two jobs executed. "Upload 53 books to the device" (or whatever the number is), followed by "Send metadata to the device". Within about 40s I've got all 53 books on my Kindle.

The issue occurs when, let's say, 15 of the books are only in ePub format. I get a "No available formats" warning, and Calibre asks me if I want to auto-convert the 15 books to AZW3 format. I say "Yes", and 15 conversion jobs get sent to the job queue. The books get converted to AZW3 format one at a time, and there are then 15 "Upload one book to the device" jobs in the queue.

The problem occurs when you send, say, 1000 books in total to the device, and you end up with a few hundred conversions. Conversion is fast, but unfortunately sending books isn't. The book gets sent to the device essentially instantly, but after each book there's a "Send metadata" step which takes 30+ seconds.

So in the job queue you end up with a sequence of steps that's something like:

Upload one book to the device (0s)
Send metadata to the device (35s)
Upload one book to the device (0s)
Send metadata to the device (35s)
Upload one book to the device (0s)
Send metadata to the device (35s)
Upload one book to the device (0s)
Send metadata to the device (35s)

etc etc.

As I'm writing this, my Calibre job queue, having completed all the conversions for my authors starting with the letters "J" and "K" has 298 "Upload one book to the device" steps waiting in the queue. With each "Send metadata" step taking on average 35s, that means it'll take about 298 x 35s = 10,430s, or 2h 54m to send all the books, even though actually transferring those 298 books could probably be done in under a minute.

My suggestion is this:

If Calibre's job "engine" finds that it has a whole series of sequential "Upload one book to the device" jobs in the queue, is there any way to make it "smart" and merge all the "upload" jobs into a single upload operation? That way there would be a single "upload" job followed by a single "send metadata" job, and what currently takes hours to complete could be done in a couple of minutes.

Hope you've had the patience to read through all this, and I hope you'll give the idea some consideration.

Many thanks,
HarryT is offline   Reply With Quote