Q:

How to implement a delay to prevent inadvertent clicks on a touch screen

I'm developing an app that asks users to fill in a questionnaire which consists of multiple screens. Each screen includes the question text, a graphic, and Yes/No buttons that are always in the same spot. What we've noticed is that some users touch the screen multiple times and so inadvertently record "Yes" for a screen without having read it.
To prevent this we've implemented a delay so that clicks are ignored if they happen within 2 seconds of the page being shown. However this can leave some people who don't want to read the question (e.g. testers & trial users) confused about what the program is doing. Does anyone have an idea on how to indicate that the click was ignored due to such a delay?
I'd like to avoid requiring two clicks (i.e. first on a "Yes" then on a "Go to next question").

A:

One idea would be to add an animated transition between the questions. Tapping an answer would slide the next question in view (or turn to new page?), and no touch events would be of course registered during the animation.

A:

Hide the Yes/No buttons or replace them with a "loading..." indicator/graphic until the next question and image have fully loaded.
This way the user will know that they can't answer the question yet because something is happening (i.e. loading the question and image). It can also act as a feedback mechanism. Once the Yes/No buttons "vanish" for a couple of seconds, they'll know that their answer is being processed/submitted. Ergo, no need to tap tap tap on the screen for a response.

we've implemented a delay so that clicks are ignored if they happen within 2 seconds of the page being shown

Some users might actually increase the screen-tapping if their first few clicks are being ignored, thus encouraging more "bad behavior" in your users.
Better to hide the Yes/No buttons and let them think the answers are loading to avoid confusion about the responsiveness of the buttons. :)

