XilinJia / Podcini

Open source podcast instrument for Android in Kotlin with media3, supporting YouTube channels.
GNU General Public License v3.0
149 stars 5 forks source link

Improving usability of multiple queues #72

Closed summersab closed 1 week ago

summersab commented 1 month ago

Checklist

App version

6.0.13

Where did you get the app from

F-Droid

Problem you may be having, or feature you want

The new multiple queue feature is handy, but it isn't quite intuitive:

  1. Switching queues isn't in the most obvious location
  2. The "Choose active queue" menu could be simplified
  3. Adding episodes to a specific queue is cumbersome (first activate the queue to make it "global," then browse to the subscription/episode, and finally long-press/add to queue)
  4. No ability to automatically add episodes to a specific queue on a per-subscription basis

Suggested solution

Here are some ideas for how to make this more user-friendly

  1. Currently, switching queues requires opening the Queue page, tapping the three-button menu, and selecting "Switch queue." I think it would be more intuitive to add a menu to the Queue page title (the text next to the "hamburger menu" icon) with a down-chevron icon next to it (▼). Tapping on the page title would expand out a drop-down menu and allow the user to switch queues. In addition to this idea, the queues could be added as a "tree" to the navigation drawer with a down-chevron to expand and collapse the tree.
  2. The previous suggestion would make this idea unnecessary. However, if you prefer to keep the queue switcher popup menu, I have an idea to make it easier to use. Right now, it relies on a drop-down menu. I think it would be better for the popup menu to use radio toggles. Instead of actual radio icons, use tiles for each queue (like the Android system quick-settings tiles). These are easier to tap, and it would require one fewer screen touches to switch between queues.
  3. Instead of having to globally activate a queue first in order to add episodes, it would be easier if long-pressing an episode and selecting "Add to queue" brought up a popup menu so the user can select the queue they wish to use. This menu should ideally look like the menu described in point 2 (radio toggles disguised as tiled buttons).
  4. This should probably be a separate feature request since it requires more than just UI tweaking. It would be nice if certain subscriptions could be added to a specific queue when auto-download is enabled. For example, the user would tap the settings gear inside the subscription, and in the "Auto download settings" section, there could be an option to "Auto add to specific queue."

Screenshots / Drawings / Technical details

No response

XilinJia commented 1 month ago

I agree the multiple queues need to be improved.

But what is said here is not true:

You can switch queue from the menu on most episodes list views.

summersab commented 1 month ago

I agree the multiple queues need to be improved.

But what is said here is not true:

  • Currently, switching queues requires opening the Queue page, tapping the three-button menu, and selecting "Switch queue."

You can switch queue from the menu on most episodes list views.

Ah, I didn't realize it was possible to switch queues from the episode list view. Still, I think it would be better to be able to specifically select the queue when tapping "Add to queue" instead of adding the episode to the currently-active queue.

XilinJia commented 1 month ago

in 6.1.2, there is an option "Put to queue" when episodes are selected. When chosen, a popup will prompt to choose the queue, then the selected episodes will be sent to the designated queue. This is different from "Add to queue" not only in that the latter adds to the active queue but also in that the former also remove the selected episodes from other queues if they were set to. The option is accessible from all episodes list views, including a queue.

The queue view is also amended in that the toolbar title is a spinner which allows you to switch to another queue.

summersab commented 1 month ago

I like the new queue switcher. It's much more intuitive.

I think the menu that opens when tapping the "Put to queue" button should use buttons to list the queues instead of a dropdown. It would reduce the number of taps to the screen and be easier to use.

Also, it should probably be "Put in queue" (sorry, I'm a grammar Nazi).

XilinJia commented 1 month ago

Good suggestions! I did it accordingly in 6.1.3. Check out.

summersab commented 1 month ago

I like it! It's a lot cleaner and easier to use.

I thought about the options and how to make them more clear. "Add to queue" and "Remove from queue" actually mean that the episode is being added to or removed from the current/active queue, but this isn't clear to the user.

For example, I wondered if "Remove from queue" would remove an episode from ALL queues, but it does not - it only changes the active queue. This makes sense, and the behavior is fine, but it is not clear based on the option text.

To clear up any confusion, perhaps the options in the menu should be this:

This would be instead of:

XilinJia commented 1 month ago

Did it as you suggested. "Add to queue..." doesn't quite carry the essence of what to be done in "Put in queue", as it involves removing the selected episode from other queues if they happen to be in. So in the dialog of "Add to queue..." I added a checkbox "remove from other queues", which clarifies the operation.

summersab commented 1 month ago

I tried the most recent version, and I think it's excellent! Much easier to use and understand.

I'm not quite sure I understand the new "bin" feature. Is this how it works?

Active Queue Name in Navigation Drawer

Another suggestion. Maybe it would be helpful to show the name of the active queue in the navigation drawer. For example:

As an alternative, perhaps put the name in parentheses instead of after a colon:

Another alternative would be something like this:

Just an idea.

Setting to Add to Specific Queue Per-Subscription

This is the last bullet in my initial feature request. Right now, subscriptions with auto-download enabled are added to the Default queue. It would be nice to be able to specify which queue episodes should be added to on a per-subscription basis.

XilinJia commented 1 month ago

No. Tapping the bin icon allows you to view the bin items, which you can do most anything with them, like in other episode list. The items are added when an episode was removed from the queue (manually or automatically). Tapping it again you get back to the normal Queue view.

Yes

XilinJia commented 1 month ago

I'm looking to have the user change the queue names (or even create them). I'm also thinking about associating any feed with a queue, haven't decided the best way to have it yet.

XilinJia commented 1 month ago

in 6.2.0, queues can now be renamed, added (up to 10), and associated to any feed.

summersab commented 1 month ago

How do you do each of these?

I'm poking around the latest version, but I can't quite figure it out.

Excellent work on all of this, by the way. Stability is getting better with each release, and the new features are very useful.

XilinJia commented 1 month ago

Rename / Add: from the menu of Queue view. No remove, as I don't see a real need for it. An extra queue doesn't hurt. Associate: in the setting of every feed, accessible from FeedInfo or FeedEpisodes views

summersab commented 1 month ago

Ah, I didn't look hard enough. Either that, or you did such a good job putting the settings in logical places that they didn't stand out to me, so I didn't notice them. I'll go with that. 😉

Suggestion. In the Queue view, perhaps you could add a "Manage Queues" option to the end of the queue switcher dropdown. This would bring up a modal window listing all current queues:

XilinJia commented 1 month ago

I think your idea of "Manage Queues" is a overkill. My thought is that queues are are there only to facilitate the listening process. They are like your routes going to work. You can pick one in certain situations and another in others. It's good that they are there. But you don't need to make a big deal of picking or even building or removing routes, your goal is to go to work.

summersab commented 1 month ago

Fair enough - it was just a thought. The current functionality is good enough, in my opinion. Perhaps keep it in mind as an idea for future versions. It would be slightly more intuitive and user-friendly, but the current interface works just as well.

XilinJia commented 1 week ago

OK, let's close this chapter now.