On the general topic of 'oh no' moment protection, what do you feel creates less friction to the user, but still allows recovery from those rare moments of inattention that result in an accidental deletion:
- A confirm deletion prompt, or
- An in-app Recycle Bin
I pose that question because to delete a file of playlist in ST3 or ST4 takes some very deliberate actions:
- Swipe left on the song/playlist to expose menu options
- Click the delete button
I'll raise the obvious point about user accountability, but not dwell on it - when performing any file operations, you must pay attention. This is not the time to be also doing some other task and dividing your attention as that significantly increases the liklihood of an accident. OK, that said, we're all human and we've all been there and done that.. more than once!
Adding 'Are you sure you want to do the thing you just clicked on' type gates can be quite annoying to most people, most of the time. Then again, security and protecting people from themselves usually is annoying to the people being protected. 🙂
Song and Playlist deletion are probably not tasks people will perform often, or many times in quick succession, so putting an extra gate is usually only short-term pain for a limited number of repeats of a task in any one sitting. People will generally tolerate that (not love it, but tolerate it).
If you put a Setting in the app to allow users to turn this 'Delete confirmation' off (on by default of course), then even the most ardent critic still has an out. Or, it can be left on, except when you find yourself need to delete a large number of songs/playlists at which point you can turn it off for that task, and then re-enable.
An in-app Recycle Bin concept obviously puts no gates in front of any operation, and provides a way (for a limited amount of time) to restore an accidental deletion. It possibly requires more app coding (i.e. more work to implement and maintain than the delete confirmation prompt) but provides a frictionless option that is always available and never gets in a user's way.