I see lots of buttons now a days that are animated on a timer, instead of the actual input of the user. This is how all buttons should be if you ask me: 1. Show effect on touch down:
Thread
This post has been deleted
2. Remove effect only on touch up, don’t automatically remove it after a time period:
4. Keep the effect on while the touch is down so the user can change their mind about canceling and move the touch back on the button:
This one I disagree with. As a user this makes me feel like the button’s action will still be triggered if I lift my finger outside of the button. Instead, I would toggle the visible state of the button as the user’s finger moved in and out of it.