Very often we have to confirm our actions: shutting down the program, deleting files, transferring money. Developers are trying to protect users from errors that may cause irreversible consequences. But is it always enough to display a question with the answers “yes” and “no”? If a user misses and clicks in the wrong place, a simple question may be salutary. And what if the execution of certain actions, like their confirmation, is a chore? We do not want to spend time reading and understanding the same type of questions, we choose "yes" out of habit.

')
My history
IDE Zend Studio is launched, I write the code. Launched Opera with a dozen tabs. One of the tabs is phpMyAdmin (DBMS administration) with an open temporary table. Call, ask to see the data on the user. Too lazy to go to the admin area, open in the new PMA tab with the users table. I inform the information, I hang up. I remember that it is necessary to clear the temporary table. I click on the TRUNCATE menu (delete all rows), press yes. I see the structure of the table and understand that I did something wrong. Late.
It took 10 hours to restore the site, which is 300 thousand impressions. During these 10 hours, a lot of scripts were written, analyzing other tables and logs, resulting in a backup copy of the table of daily prescription in an acceptable state. It was not possible to recover much, a blow was struck to the reputation, and considerable losses were incurred. I will not describe the losses in detail, I will only say that the site provides users with paid services, and the information on the current balance was in a remote table.
Who is guilty?
Undoubtedly, I had to carefully examine the text of the request before clicking "yes". But was my behavior different from the behavior of the average user? I used to see this question and used to respond positively.
I also want to draw your attention to the location of the text of the question and answer buttons. The picture was specifically compressed for the Habr, but on my not very wide screen monitor the question and buttons are located at different ends of the screen. First of all, when I load the page, I look for buttons, and if I look at the buttons, I don’t see the text.
How to protect users?
I believe that in this case we should add a text field in which the user must 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, a catastrophe will be prevented. A tougher option is the need to type the name backwards. Of course, move the buttons to the left.

Appeal to the developers
Dear developers, please do not let us (users) make terrible mistakes. Better we will spend the extra seconds on confirming important actions in sophisticated ways than hours on correcting the consequences. And, on the contrary, do not force us to click “yes” every time when performing routine operations, bringing this action to automatism.
PS
How can you allow the user to "kill" the system by entering one wrong command (obviously wrong)? Single character error, no confirmation:
habrahabr.ru/qa/5627