Repository navigation
Re-design the book adding process #1365
Replies: 45 comments 19 replies
|
@PaulWoitaschek Do you mind labeling the open issues that need my input/design/ideas as 'Design' or something similar. I feel that we would work a lot more efficiently if we introduce some organization. :) |
|
I added you as collaborator. Feel free to comment / close / tag issues on how you think it's useful. Please don't push directly to master ;) |
|
Sweet. And I'll keep that in mind haha 😆 |
|
Didn't you just add a label?
--
Mit freundlichen Grüßen
Paul Woitaschek
Software Entwicklung
www.paul-woitaschek.de
|
|
Sorry I'm dumb, forgot to accept the invite. 🤕 |
|
@PaulWoitaschek I think that a good onboarding flow is the most important piece here, then I suggest giving the user 3 choices: the two current ones with better explanations, and additional 'let me choose' mode when the user points to a directory and he's taken to a screen where he can choose the books by ✅ ing the boxes next to them. Now when a folder that contains a bunch of other folders is ticked it means that it's a book with multiple chapters; when the children folders are ticked then they're the books. Of course, the best thing in the world is figure a way to be pointed at a directory and intelligently figure everything out, but it probably needs some genius AI or something. |
|
There is probably something that I don't understand here, but why don't you use a simple folder explorer. I use MortPlayer Audio Books before using your app and the process of having to add audiobook folders to the app really confused me at first. |
|
@0rAX0 Could you do a mockup for the new adding process? |
|
@PaulWoitaschek First, sorry for not responding to recent comments, was a bit sick and busy. How is it going to be, like I suggested? |
Yes, even though I'm not sure yet if the "Let me chose" is the right way. Maybe the 3rd option will just be the "Author" way. |
|
Rather than importing based on folder structure, why not import by ID3 tags? I've got a mix of single file audiobooks as well as audiobooks split by chapter into multiple MP3s. It would be beneficial to specify an "Audiobook Directory" that contains all books and import and organize by Album name. As of now, I have to add each multi-file audiobook separately and then I have to add my single file book directory. It would also be nice to be able to import books directly from Google Drive/Dropbox/OneDrive etc. |
|
I second Shawn's suggestion above. I was confused when adding files the first time I used the app, and just messed around with folder layout until it worked. I think I have several folders with single-file books (m4b), one each, which took some guess work. If this were a music player, I'd just dump all the files in and let the player present them by |
|
I think the process should be streamlined but without giving the user too much options; what if the app created an "Audiobook" folder on first opening and the user only had to use a file manager to copy the audiobooks there. |
|
@siniux how would that behavior work with external storage (sd card)? I like the idea of having a default. Maybe make an Audiobooks folder on both devices and show any books in either one? |
|
Could be, I think it would to be better to have the two options just there when the user tries to copy its first book. |
|
I agree with @thw0rted, it would be nice to be able to put the audiobooks inside theme/author folders and to only add one folder in Voice [as a "folder with multiple books"]: the parent folder of those "theme/author folders" |
|
What is the current state here if I may ask? If no new design has been implemented yet - at least that's my guess trying the current version - my suggestion would be: Let the user select a root folder. Recursively iterate the folder hierarchy below that root as a tree of nodes and leafs. If the search discovers a match - either a recognized audio file or a playlist - treat this folder and anything below (sub-folders may contain playlist tracks) as a single audiobook, i.e a "leaf" in the tree, and continue searching with the next "node" folder. This way you are independent of the user's folder organizing scheme. He/she can use any scheme, with or without extra levels for genre or author. That's also the method other players like VLC are using. |
|
I do like the idea of looking at folders recursively so I can organize by author but if you don't look at the file metadata at all, you still can't put more than one book in a folder. All my books are in single M4A files, so I'd love to just have a folder per author or series, with all the books in it, without having to make superfluous folders per book (with a single file in each), which is what I do now. |
|
@thw0rted I think your structure is one of the hardest to implement, without major changes. I have build a 'smart' scan, that properly scans recursive folders to add everything it finds, however: differentiating audiobooks only by filename/directory basically excludes multiple audiobooks in a single folder. For that, the scanner would need to also look at the id3tags, which it does not do afaik. However, my 'smart' implementation (and i use the term smart here very loosely) is able to cover most cases that occur. The downside is that it relies on a list of keywords that indicate a group of books, eg. CD or PART So for your case: as long as the filenames are in order, you end up with a single book for the whole series, and each book would be a 'chapter' |
|
How about this: when you encounter a folder full of files,
ETA: I'm not sure how to handle multipart books with spelled out chapter names, because the differences between |
|
I already do the part with regex for folders (okay, i dont use regex at the moment, just This breaks: Since they are all in the same folder, it assumes This i can detect properly, we get two different books. However, this does not require any smarts. So what does? This: If we do it naively, we end up with 4 audiobooks, one for each CD. This is not optimal. But with a little regex and a list of keywords, we can add them together. I think we can completely remove the old "single book" and "collection" types, since my pr can actually handle both, without the user needing to know how or what those types mean. Even if we dont find a solution for "multiple books in same folder", this would improve the app anyway if we can make the The PR: #1072. The last commit has a working version that can only detect CD's, but it is easily extended to different keywords in different languages. Edit: sorry, i think i went a bit offtopic and summarized what i did, but maybe it is helpful to anyone anyway Edit2: If anyone has additional, very strange patterns that are maybe not working, please provide examples so that we can think about them Edit3: After reading the thread again, the only thing that i think is nearly impossible is the podcast/recurring format detection, since that relies again on the displayed name in the app, not the scanning. I don't think voice was designed to support that kind of content Edit4: Another example on what wont work, but this is far off: That will create two audiobooks. |
|
Sounds like you've thought this through. I'd still like some option for because it's a lot easier to manage in my phone's file manager than making a bunch of extraneous folders, but I understand if the need to reduce the number of user-facing buttons / options wins out. |
|
I don't think it will be possible to archieve your goal with folderbased detection, at least not to my knowledge. That probably requires switching to metadata-based detection. One possibility would be to apply the "part" detection from your post, but as you said, it breaks as soon as the filename does not contain any "chapter"-identifier like a tracknumber or similar. |
|
I'm still in the thought process on this. With the switch to SAF, the process is even more complicated. The current version (6.0.x, rolled out with about 10%) has only a single option: You can only select a root audiobook folder. But from reviews I can see that people are actually missing the other options. This is my current draft, but I have doubts that users will understand the distinction between the three types. |
|
I made a first draft on how the UI could look like that allows to select both folder modes. https://drive.google.com/file/d/14xFhQ_ykYfqxM20Jd9eT2umK27CD-PgZ/view?usp=sharing |
I think this comes from a misunderstanding on how voice should deal with this properly. The whole problem with differences between single files, folders with single files and all the other combinations stem from the fact that voice actually moves the "burden" of management to the user, instead of actually managing it itself. Mostly we should assume that all the files have metadata, and we should use those primarily to identify books etc. Using the parent folder (name) (or filename) should only be the case if and only if the file has no id3tag, otherwise the tag should be the source of truth. This completely removes the nesessity for the user to differentiate their folder-types. All types, all sorting would automatically be supported because voice does not rely on them at all. This has huge benefits because the user is no longer confused (and in fact, cannot be confused) and on a side bonus, there is no maintenance overhead from additional views and ux-flows. |
|
I'm coming back to this discussion quite some time later, because #1893 was just converted to a discussion. I still use Voice the same way as before -- all my audiobooks are single-file M4A/M4B, I still store them on OneDrive, and when I want to listen to one I manually make a subfolder under If I could have a button to add a single folder, with a checkbox that says "this folder will only ever have one book per file, I promise", it would make that workflow a lot easier for me. I could just bulk download a dozen files from OneDrive and save them all in one place. If that's just not going to happen, I understand, but I thought it wouldn't hurt to check. |
|
I realize this is an old thread, but this seemed like the right place to discuss this. I have a LOT of audiobooks which I keep organized with a single .m4b file per book in folders and sub-folders, which usually denote the genre or subject. I'd really like to use Voice, however the folder modes make it borderline unusable for finding books as they get imported into a huge flat listing. It would be very helpful if you added support for a mode that's just a simple file-system view with navigable folders and sub-folders, and displaying file names in addition to title/author metadata. For reference, the Android version of VLC (which I also tried using for audiobooks) does something similar to this; in particular, I really like how it indexes metadata so that I can list files by, eg, artist or album, in addition to browsing the filesystem directly Thanks! |
|
@halcyonseeker I get your point and I use the same format (m4b), but are you really sure that it would be better to have a Filesystem structure? I really don't like moving my files around to update the structure of my database, especially on Android where moving files is not keyboard or mouse based but touch based... @PaulWoitaschek The book adding process should work automatically (no selection on how the folder structure might be). In my opinion this could be done very easily by grouping the files by:
If all these are the same for multiple files in the same folder, the folder is an audio book - otherwise the folder contains separate audio books per file. The After the scanning process there could be a UI Element of selecting or entering data of elements that are not or incompletely tagged to choose, what this is. An example:
There is NO available option to scan this structure and have ONE BOOK PER FILE - the Folder method results in having ONE Harry Potter book with 7 parts and the books have to be added manually. |
|
Do I get it right that we are trying to find a solution that would correctly recognize all the books below? I think this cannot be done without resorting to some heuristics. Like checking the audio files play time (chapters are shorter than whole books) or inferring the "chapters mode" from the files names differing by just digits or using files tags to guess the grouping. It is possible to improve the current solution with the following simple rule:
P.S. This essentially merges the current options "book per directory" and "organized by author". So the user's choice could be simplified to just "single book" or "multiple books". Once the heuristics to tell chapters from books is in place asking the user about this would not be needed at all. |

Uh oh!
There was an error while loading. Please reload this page.
Right now the whole adding process is severely flawed.
Issues
Users...
Current Solution
Currently there are two kind of folder structures we support:
./book1./book2./book3Improvements
Another structure we should support is by author:
authorA/book1authorA/book2authorB/book1I think we need to re-think in a larger picture how we let users add folders.
This should be combined with an onboarding flow. Right now the user is thrown into cold water and I assume that mostly users with a technical background understand how to add folders.
I'm open for ideas! @0rAX0 cc
All reactions