Copied from Google Groups:
Hi,
I love AntennaPod and gave it five stars on the Android App Store.
One feature that I often wish for is a kind of ‘smart shuffle’. I listen to (let’s say) five podcasts, and some of them are episodic, so it’s nice to listen to them in order. Since different podcasts began on different dates, and have a different frequency (e.g. weekly, bi-weekly, etc.), when I add multiple podcasts to my queue and then sort the queue by date, I get something like this:
• Radiolab 1
• Radiolab 2
• Radiolab 3
• :
• :
• Radiolab N
• Thrilling Adventure Hour 1
• Thrilling Adventure Hour 2
• Thrilling Adventure Hour 3
• Thrilling Adventure Hour 4
• Radiolab N+1
• Thrilling Adventure Hour 5
• Thrilling Adventure Hour 6
• Thrilling Adventure Hour 7
• Thrilling Adventure Hour 8
• Radiolab N+2
• :
• :
• Fresh Air 1
• Radiolab N+2
• Thrilling Adventure Hour 1
• Thrilling Adventure Hour 2
• Thrilling Adventure Hour 3
• Fresh Air 2
• Thrilling Adventure Hour 4
• Radiolab N+1
• Thrilling Adventure Hour 5
• Thrilling Adventure Hour 6
• Fresh Air 3
• Thrilling Adventure Hour 7
• Thrilling Adventure Hour 8
• Radiolab N+2
• :
• :
This is correctly sorted according to date, but it can result in ‘clumping’ of podcast episodes; something that’s not as pleasant to listen to. A ‘smart shuffle’ would pick episodes in date order from each subscribed podcast, round-robin fashion. This would result in a queue that looked more like the following:
• Fresh Air 1
• Radiolab 1
• Thrilling Adventure Hour 1
• Fresh Air 2
• Radiolab 2
• Thrilling Adventure Hour 2
• :
• :
Even though Radiolab episode #1 aired (let’s say) years before Fresh Air episode #1, the important thing is that Radiolab episodes are queued in order and Fresh Air episodes are queued in order. Of course, ‘clumping’ would still occur at the very end of your queue unless you happened to have the same number of episodes from each different podcast. That’s OK, I think, because I usually just add all new episodes from each subscribed podcast to my queue. By the time I’ve burned through a significant percentage of my queue, there are usually new episodes, and I can re-sort to interleave the new episodes. So, though there may be 'clumps' at the end of the queue, I never actually come close to reaching the end of the queue.
I find myself manually arranging my queue this way, and it’s very time-consuming and labor-intensive (even more so on a phone). Perhaps this could be an alternate Sort By choice, like “Date, Ascending (interleaved)”.
I have a proposal for this (a.k.a. _Smart Shuffle_) and #2602 (a.k.a. _Random_).
I'm assuming that I can combine both of these into a single merge request. If you'd prefer I keep it as two, please let me know.
I think the simplest thing would be to add two additional items to the Queue fragment's Sort menu:
Sort >
Date >
Duration >
Episode title >
Feed title >
Random
Smart Shuffle >
Ascending
Descending
(Smart Shuffle's sort order will refer to Date)
It would be nice if I could just define two additional comparators in QueueSorter.java for Random and Smart Shuffle, but neither can be implemented that way.
Instead, I'm thinking I'll add another method to DBWriter.java (e.g. DBWriter.shuffleQueue). I'll try to maintain the abstraction of passing in a lambda with the shuffle logic, instead of dirtying things up with the sort logic in QueueSorter.java and the shuffling logic in DBWriter.java.
@mr-intj Would you please mind updating the documentation in the wiki? Many thanks!
@keunes - Done.
@mr-intj
There is no secondary sort field involved here, so episodes within a feed will be grouped together, but in no particular order(?)
The sort functions are stable, meaning that you can sort the playlist eg. by date and afterwards by feed title. I don't know if this is a feature or just a coincidence. It's definitely not easy for users to find out.
User experience feedback after trying out the smart shuffle, merged in #2659.
Smart shuffle basically sorts by feed title (ascending), but do not group episodes of the same feed together. It just seems to be a bit surprising to end users.
It might be a tad clearer to end users if the smart shuffle options appear in the sub menu of Sort by Feed title, as "Smart, ascending date" and "Smart, descending date".
When I first tried out smart shuffle casually, what I expected is that it takes the queue order as-is, only "de-groups" episodes of the same feed, but not drastically changes the existing order.
E.g., if the existing queue is:
I thought smart shuffle will reorder it to:
In "Smart Shuffle", episodes /from any given feed/ appear in publication
date order, But, episodes are selected (in round-robin fashion) from a
list of feeds ordered by title.
Yes, I know that's kind of a confusing description, and if this seems
weird ("why would anyone want that?"), here's the reasoning behind it:
(this can't be accomplished with any kind of primary, secondary, ... key
sort, so trying to understand the ordering in that way will probably
only lead to confusion.)
It may make more sense if you imagine that you're working your way,
chapter-by-chapter, through several books:
If you sort by date, you'll get all chapters of Don Quixote before you
get the first chapter of Oliver Twist, etc. You'll get the same
clustering if you sort by book (i.e. 'feed') title.
What you really want is to retain the order of chapters (i.e. pub date)
within each book, but interleave chapters from each book (i.e.,
date-order is not maintained between chapters of different books). So
your queue would start with the first chapter of Don Quixote, followed
by the first chapter of Oliver Twist, followed by the first chapter of
The Secret Garden, and then back to the second chapter of Don Quixote, etc.
I'm not married to the name "Smart Shuffle", and if anyone can suggest a
name that better conveys what I've described above, please don't hesitate.
--Scott Smith
On 05/09/2018 03:22 PM, Sam Lee wrote:
>
I tried out the smart shuffle, merged in #2659
https://github.com/AntennaPod/AntennaPod/pull/2659. The sorting of
smart shuffle seems to be done by feed title, rather than publication
date stated.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AntennaPod/AntennaPod/issues/2366#issuecomment-387893340,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-nXyfEjYWRIf4wGmYVofUUZsrWiZ9Eks5tw2w2gaJpZM4OLPKl.
@mr-intj I appreciate its usefulness for podcasts that are serial in nature like the examples you suggest.
My main point is that it is probably a tad clearer to expose them as options under "Sort by Feed title" sub-menu, as the end result would appear to be similar to "Sort by Feed title."
The term "Smart shuffle" is not ideal but I don't have a better suggestion: "Sort by Feed title ascending, de-grouping serial feeds" is too verbose.
This is the greatest thing ever! I was wondering if no-one had ever thought about adding a feature like this only to discover, yes, someone described exactly what I desire and, better still, the code has already been added!
So I spent the past hour trying to get it to actually show up in my version of the app and now I'm starting to worry it may not be included in the Fdroid version.
What I tried:
I will see if I can convince someone else to test this for me with a play store version of the app tomorrow.
@kingannoy Version 1.6.6-RC1 is available on Google Play if you enable beta testing. F-Droid will be updated as soon as we release the final version 1.6.6
Thanks! I'll wait for the update to hit f-Droid!
I don't think I'm able to upgrade the f-Droid installed version with the beta from the play store. It gives a notice about the keys being different.
Thanks for the reply!
This way I'll have something to look forward to!
@kingannoy - yeah I was waiting for this feature myself. I finally built a debug version directly for my phone. I'm now enjoying smart-shuffle bliss.
Just found the feature today while playing around in the queue. a great new feature
I used the smart shuffle twice thus far, it's a really nice feature! What a awesome world we live in!
My main point is that it is probably a tad clearer to expose them as options under
"Sort by Feed title" sub-menu, as the end result would appear to be similar to
"Sort by Feed title."
@orionlee - Re-reading your post just now, I realize that I probably should have replied. Apologies for my not having done so sooner.
I completely agree that "Smart Shuffle" doesn't clearly convey to the users what it does. I also think you're right that it the menu option might make more sense under "Sort by Feed Title". I can't come up with a good, meaningful and short term for this either, unfortunately.
If the sort options were radio buttons on a queue-settings page (which could make sense if sort was being _maintained_ rather than a one-time action), then I think there would be simple solutions such as adding a text area below the radio buttons where a description of the selected sort option could be displayed. I can't think of a good UI solution for the menu items we have now, though.
Indeed 'Smart shuffle' doesn't say much. Maybe within current limits, and extra menu item could be displayed saying 'How it works' or 'About this sorting' or something, after which a dialogue opens with some more explanation. In any case, some info in the Wiki would help as a central point of reference.
It seems like Smart Shuffle is broken in 1.8.1
investigating...
Found it - see https://github.com/AntennaPod/AntennaPod/issues/3905
Most helpful comment
Just found the feature today while playing around in the queue. a great new feature