Are you sure you want to complete this action?

    Very often we have to confirm our actions: shutting down the program, deleting files, transferring funds. Developers are trying to protect users from errors that can cause irreversible consequences. But is it always enough to display a question with the answers “yes” and “no”? If the user missed and clicked the wrong way, then a simple question can be saving. But what if the execution of certain actions, as well as their confirmation, is a routine? We do not want to waste time reading and comprehending the same type of questions, we choose "yes" out of habit.





    My history


    Zend Studio IDE is launched, I am writing code. Opera is launched with a dozen tabs. One of the tabs is phpMyAdmin (DBMS administration) with an open temporary table. Call, ask to see user data. Too lazy to go to the admin panel, open in a new PMA tab with the users table. I inform you, put the phone down. I recall that you need to clear the temporary table. I click on the TRUNCATE menu (delete all lines), click "yes." I see the structure of the table and understand that I did something wrong. Late.

    It took 10 hours to restore the site’s performance, which is 300 thousand impressions. During these 10 hours, many scripts were written that analyzed other tables and logs, bringing the backup copy of the daily table to an acceptable state. Much could not be restored, a blow to the reputation was dealt, significant losses were suffered. I will not describe the losses in detail, I can only say that the site provides users with paid services, and information about the current balance was in a remote table.

    Who is guilty?


    Undoubtedly, I had to carefully study the text of the request before clicking “yes”. But was my behavior different from the behavior of the average user? I am used to seeing this question and am used to answering positively.

    I also want to draw your attention to the location of the question text and answer buttons. The picture was specially compressed for the Habr, but on my not the widest monitor the question and buttons are at different ends of the screen. The first thing I do when loading a page is looking for buttons, but if I look at the buttons, I don’t see the text.

    How to protect users?


    I believe that in this case, a text field should be added into which the user should enter the name of the table that he is going to clear. Yes, the name can be copied, but in this case the text will be read, the disaster will be prevented. A tougher option is the need to dial the name backwards. Of course, move the buttons to the left.



    Contacting the developers


    Dear developers, please do not allow us (users) to make terrible mistakes. It’s better to spend extra seconds confirming important actions in sophisticated ways than hours to fix the consequences. And, on the contrary, do not force us to click “yes” each time during routine operations, making this action automatic.

    PS


    How can I allow a user to “kill” a system by entering one incorrect command (obviously incorrect)? Single character error, no confirmation:
    habrahabr.ru/qa/5627

    Also popular now: