babluboy / bookworm

A simple ebook reader for Elementary OS
GNU General Public License v3.0
1.32k stars 100 forks source link

Discover books while UI is visible #259

Open varac opened 5 years ago

varac commented 5 years ago

I'm not happy with the book discovery after "closing" the app/UI. This is a comletely unvisible process to the user and confusing especially for non-tech users who don't know how to find a process in a process table. I'd like to suggest a similar behaviour like other media apps, i.e. rhythmbox which scan the music library while running / the UI is visible. I dedicated indicator show show the progress of the discovery process / which book is processed.

babluboy commented 5 years ago

@varac Agree. with your views. I have implemented the current import process after closure of bookworm as I didnt want to set up another trigger for the import process like a scheduled cron job (specific interval) or a file watch on a folder. There is a message which says "Discovery will be done after Bookworm is closed" to clarify this behaviour.

But I think I can improve this by using the trigger of the user action when adding a folder to watch for ebooks to show the process of importing and progress of books being added to the Bookworm library.

However, if the user drops a couple of books into the folder set up for discovery, the import will kick in after closure of bookworm. Or I can add a import now button to trigger the process for looking for new books in a watched folder and loading the same with visual progress of the import.

The visual process can continue even if Bookworm is closed by continuing to run the process in the background. This will especially be useful for users who are importing a large set of books for the first time.

Does the above workflow seem suitable.

varac commented 5 years ago

The visual process can continue even if Bookworm is closed by continuing to run the process in the background. This will especially be useful for users who are importing a large set of books for the first time.

Hugh, I don't understand - how can the visualisation continue when bookworm is closed ? My point is this:

Does this clarify my proposal ?

babluboy commented 5 years ago

The Elementary HIG states that after the app is closed a number of things like saving stuff, saving state, can continue in the background.

I can understand your point about providing visual feedback if the app is open but it should not be a dependency for the discovery process to run if the machine is running.

An option in preferences to break the discovery process when Bookworm UI is closed can be a way out for people who want control of background app processes...

Also a log of the import process can be provided to check what books were not imported due to any format/permission issues.

Good conversation...helps me to think further...

varac commented 5 years ago

The Elementary HIG states that after the app is closed a number of things like saving stuff, saving state, can continue in the background.

Well saving the state of course, but I doubt a long running discovery process falls under this category. But I'm fine with an opt-in/-out option in the preferences.

babluboy commented 5 years ago

@varac @stuarttempleton Thinking about implementing this design:

The following will be the three way to discover and add new books to the library 1- The import will start as soon as the user adds a new directory for discovery 2- A new "import now" button will be added to start the discovery from added directories on click 3- The normal action to look for new books after the Bookworm app is closed will continue as-is 4- If the import process is killed (i.e. shutdown of machine) then the user should be shown an indication to continue the process the next time the Bookworm app is opened (via the issue notification bar)

The following will be the design to visually show the import process 1- If the Bookworm application is open, the progress bar on the library view will show the progress of the import process i.e. 3/10 books imported 2- If the Bookworm App is opened while a import is continuing in the background, the progress bar should show the current status i.e. 7/10 books imported 3- After the import if there is an issue loading specific books then those should be shown via the dropdown notification bar if the Bookworm app is open and if the app is closed the same should be shown next time the Bookworm app is opened.

Hopefully the above design takes care of the import suitably providing feedback to the user regarding the process while still making it possible to continue the import when the Bookworm app is not open. Please feel free to add your thoughts to the above.