AntennaPod / AntennaPod

A podcast manager for Android
https://www.antennapod.org
GNU General Public License v3.0
6.37k stars 1.4k forks source link

Make accidentally swiping episodes from the queue less likely #4844

Closed keunes closed 2 years ago

keunes commented 3 years ago

Checklist

System info

App version: 2.1.1

App source: e/OS app store

Feature description

Problem you may be having, or feature you want: Accidentally swiping episodes in queue to the side marks them as played and removes them from queue. The little Undo popup disappears very fast before I realized what just happened (since I usually did not expect anything of that sort when i was just scrolling / reordering and accidentally swiped).

Suggested solution: At least keep it around for several seconds or until I diamissed it.

Screenshots / Drawings / Technical details:

Maybe the snackbar can be displayed longer when it's displayed the first time? Or if the user for the first time swipes away, we can (instead) display a modal to explain what's happening (& suggesting the queue can be locked).

Following Accidentally marking episode as played by swiping to side on the forum.

EDIT: As snackbar duration cannot be influenced, the idea is now to make it harder to accidentally swipe episodes from the queue.

tonytamsf commented 3 years ago

We won't be able to make the Toast message longer, see this

(personally) I have accidentally swiped away episodes, and I don't like locking the queue.

The thing we could do is to make the swiping 'harder' so an accident doesn't happen. (maybe a longer swipe?)

keunes commented 3 years ago

Hmm, that's too bad. Thanks @tonytamsf for chipping in. Then what do you think about displaying a dialog the first time?

Not sure how exactly we could make it harder? I have the impression when I swipe diagonally, it swipes away the episode rather than scrolling up and down - maybe this could be adjusted? So that only pretty much horizontal movements lead to removal from the queue?

ByteHamster commented 3 years ago

I don't like dialogs, to be honest. They are so obstructive to the user flow. (this also applies to just showing them once because users are often flooded with dialogs when opening apps for the first time)

keunes commented 3 years ago

Then I reckon the goal is to make accidental swipes less likely

protist commented 3 years ago

Alternatively, I'd love an option to just disable this feature. I never remove things from the queue once they are in, and hence I've only swiped away by accident.

keunes commented 3 years ago

@protist Locking the queue will remove the ability to swipe. You can keep it sorted is one of the many sorting mechanisms and selecting 'keep sorted'.

protist commented 3 years ago

Sorry @keunes, I should have mentioned. I got here from the forum linked in the OP, so I did see your suggestion there. I'm actually moving episodes around all the time, so I'd prefer to keep it unlocked if possible. Cheers.

ByteHamster commented 3 years ago

Why do users lock the queue? There seem to be users who lock+unlock the queue frequently and therefore want the toggle to be displayed prominently. If we can solve the use-case without the user having to toggle the state back and forth, we can remove that button, which is still confusing for some users. Would adding two app settings, "queue swipe action" and "queue reordering enabled", solve this?

protist commented 3 years ago

@ByteHamster I can't speak for the "queue reordering enabled" part, because I would never disable that anyway, but a setting to disable "queue swipe action" would be perfect for me. I agree that having the lock button so prominent might be unnecessary if these settings were added.

jhenninger commented 3 years ago

@protist Locking the queue will remove the ability to swipe. You can keep it sorted is one of the many sorting mechanisms and selecting 'keep sorted'.

I just spend way too long to find the lock queue function lol. Is it intentional that the lock button is hidden while "keep sorted" is active? I had to deactivate "keep sorted", lock the queue, then activate "keep sorted" again.

jhenninger commented 3 years ago

The YouTube watch later list shows a remove button when you try to swipe a video, maybe this would be a solution?

image

ByteHamster commented 3 years ago

Wouldn't that be a two-click approach then? That does not really have an advantage over just disabling the swipe feature and using long-press » Remove.

jhenninger commented 3 years ago

Yeah it would be a two-click approach.

keunes commented 3 years ago

that be a two-click approach then? That does not really have an advantage over just disabling the swipe feature and using long-press » Remove.

Though a swipe would 'feel' faster than a long-press. But I don't think this should be the way to go (it's kind of a middle ground for everyone, while a clear on-off switch with proper swipe action would serve two groups better).

tonytamsf commented 3 years ago

If we are open to another setting then, we can let users pick what swiping left and right does. This list of options could be everything we offer as a long hold. (Add to fav, delete, remove from queue, mark as played)

This is a common pattern in Outlook, Gmail clients.

However, if @ByteHamster or @keunes don't want a setting, to solve for accidentally swiping - we can make swiping harder, and make undo easier.

keunes commented 3 years ago

If we are open to another setting then, we can let users pick what swiping left and right does. This list of options could be everything we offer as a long hold. (Add to fav, delete, remove from queue, mark as played)

I'd rather see that in the Inbox (or the 'New' tab of the Episodes screen) 😅 But I think it could be nice in the queue also - could clean up the long-press menu. However, shouldn't we make swiping a little bit harder still?

ByteHamster commented 3 years ago

shouldn't we make swiping a little bit harder still?

Is there a clean way to do that?

keunes commented 3 years ago

Don't know if it could be done technically, but when swiping diagonally should not swipe an episode (decreasing the angle in which swiping affects a list item).

It might also help to give an extra visual cue by showing a red background when swiping (just like in Gmail and GitHub notifications).

ByteHamster commented 3 years ago

It might also help to give an extra visual cue by showing a red background when swiping

Just a red background could make users believe they are deleting the episode. Maybe we could even show text that says what will happen? That could then be used on the "new" screen, too.

I think adding something behind the items is not easy to do, though.

keunes commented 3 years ago

Just a red background could make users believe they are deleting the episode.

Yup. Maybe we can use blue instead - will already attract attention from the eye.

tonytamsf commented 3 years ago

Let me take a stab at making the swipe a little harder and do the background to give feedback to the user when they are swiping.

tonytamsf commented 3 years ago

Just a red background could make users believe they are deleting the episode.

Yup. Maybe we can use blue instead - will already attract attention from the eye.

I have a PR to fix this issue, https://github.com/AntennaPod/AntennaPod/pull/5135

1) Add a background, blue on swipe, it's really bright :D)
2) Make swiping harder to do diagonally and also you have to swipe longer distance

tonytamsf commented 3 years ago

I think adding something behind the items is not easy to do, though.

I googled it and implemented adding a background color on swipe

tonytamsf commented 3 years ago

Hmm, this is weird that i closed the issue

locuturus commented 3 years ago

Why do users lock the queue? There seem to be users who lock+unlock the queue frequently and therefore want the toggle to be displayed prominently. If we can solve the use-case without the user having to toggle the state back and forth, we can remove that button, which is still confusing for some users. Would adding two app settings, "queue swipe action" and "queue reordering enabled", solve this?

I lock the queue for this reason: I want newly downloaded episodes to arrive in order of publication so I lock and use keep sorted. But, I frequently want to adjust the exact order a little bit so I'll unlock it to drag an episode around.

Edit: I just realized locking the queue is separate from keep sorted since both remove the episode dragging.

ByteHamster commented 3 years ago

I just realized locking the queue is separate from keep sorted since both remove the episode dragging.

Yeah, sounds like you actually just need "keep sorted", not queue locking.

kikecalpe commented 2 years ago

Hi I've had many accidental swipes when I tap play over an element of the queue, so I still think make swipping a bit harder is a must. Anyway, check it. Open the queue and push play of any element, push play of a different element, and so on. After some time swipe will occur. Because of this, I've disabled swipe. Thank you.