Re-design the book adding process #1365
Replies: 42 comments 16 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. :) |
Beta Was this translation helpful? Give feedback.
-
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 ;) |
Beta Was this translation helpful? Give feedback.
-
Sweet. And I'll keep that in mind haha 😆 |
Beta Was this translation helpful? Give feedback.
-
Didn't you just add a label?
--
Mit freundlichen Grüßen
Paul Woitaschek
Software Entwicklung
www.paul-woitaschek.de
|
Beta Was this translation helpful? Give feedback.
-
Sorry I'm dumb, forgot to accept the invite. 🤕 |
Beta Was this translation helpful? Give feedback.
-
@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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
@0rAX0 Could you do a mockup for the new adding process? |
Beta Was this translation helpful? Give feedback.
-
@PaulWoitaschek First, sorry for not responding to recent comments, was a bit sick and busy. How is it going to be, like I suggested? |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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 |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
@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? |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
I did disappear? I don't feel disappeared. |
Beta Was this translation helpful? Give feedback.
-
@thw0rted i did some work on the audiobook/author problem, maybe you can use the code from here: #768 |
Beta Was this translation helpful? Give feedback.
-
Thanks for the pointer -- I'm probably not going to switch to custom builds just for this, but it's good to know it's out there. At some point it would be nice to have the option of organizing my audiobooks folder a bit better. |
Beta Was this translation helpful? Give feedback.
-
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" |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
@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' |
Beta Was this translation helpful? Give feedback.
-
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 |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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 |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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
./book3
Improvements
Another structure we should support is by author:
authorA/book1
authorA/book2
authorB/book1
I 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
Beta Was this translation helpful? Give feedback.
All reactions