We have an app that logs tasks of workers and they're able to indicate the start / stop of the task by clicking "Start" or "Stop" (like a in a stop timer).

This "start / stop" time must be accurate (they cannot amend) as the system will record their actual timelog. However, they may accidentally press "Start / Stop" which will log an incorrect timing and they're not able to amend it.

Is there a way to prevent accidental press of this critical button?

Some ways I can think of is:

  1. Always have a confirmation dialog at every press. E.g. "Are you sure you want to Start / Stop Task at XX:XX time. [Cancel] [Confirm].

  2. Don't use a button but some other methods like a slider to Start / Stop?

  3. Make it the press sensitivity low.

Am not sure what will work best or if there are other methods?

enter image description here

  • 1
    Once the button is pressed to tell the system a task is stopped, can that same task be started again? If so, the user could simply press start again. You could have the system "smooth over" small gaps. For example if a user stops a task then starts the same task within 30 seconds (or whatever time is appropriate) the stop/start action is ignored
    – Darren H
    Commented Jul 19, 2017 at 6:21
  • How does the system know which task you are starting and stopping for? You have two tasks in your example, but only one button. Commented Jul 19, 2017 at 7:22
  • 1
    Avoid the issue. Trust your workers enough so they are able to delete/amend an accidentally started/stopped task.
    – TripeHound
    Commented Jul 19, 2017 at 9:23
  • I like this suggestion (TripeHound), make your reporting smart enough to filter out sub 5 minute entries and associate the time to the next task, or whatever works for your company. Commented Jul 19, 2017 at 9:31

4 Answers 4


Do not prevent accidental press. Incorporate multiple starts/stops to the overall duration calculation and separate timer and task controls.

For example:


download bmml source – Wireframes created with Balsamiq Mockups

This approach will turn “mistakes” to more data and will assign less duties/worries to workers.

  • But this approach also won't prevent accidental press? If I am on session 1, there's also a possibility that I accidentally press "Stop" and the system will record that as 1 session. But actually, I am not yet finished with session 1. Commented Jul 19, 2017 at 9:08
  • Lets play it. I'm the System. "Did you complete your task?" (I'm asking for a confirmation to a separate functionality, the task begining/end, not the timer start/stop )
    – cameraman
    Commented Jul 19, 2017 at 9:11
  • Ok am assuming you're asking this after I hit "Stop" for Session 1? Let's say that am the User: Not yet. Commented Jul 19, 2017 at 9:17
  • You, as the user, you ignore Sessions. Sessions are systems creatures and friends. They help it encounter "accidents".
    – cameraman
    Commented Jul 19, 2017 at 9:19
  • I'm showing the "start timer" button
    – cameraman
    Commented Jul 19, 2017 at 9:20

I disagree with the warning message because the button is going to be used very frequently and the extra confirmation will annoy users. Furthermore the confirmation will become a habit after some time and it will loose much of its use.

I also disagree with the low sensitivity because this will require an action that is difficult to perform and some users will be frustrated.

I agree with the slider solution since it is relatively easy to use and will reduce significantly the accidental pressing.

However you can not prevent 100% the error so you have to provide an undo function, so that users can correct their errors. After the start is activated, provide just bellow a cancel option with small fonts and ask for confirmation when the cancel is pressed.


Do not use confirmation dialog.

You have few more options:

  • Ugly "On/Off" swiper, like in configuration entries
  • Nicer swipe button, like in unlock or accept incoming call
  • long press button (start)
  • Long press button with confirmation or more options (stop/pause)


download bmml source – Wireframes created with Balsamiq Mockups


I think you have covered the conventional methods, but one that you can consider with mobile devices is a more complex gesture (such as those for the lock/unlock screens) that can prevent accidentally button pushes and are precise enough to be easily learnt by the user.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.