Once upon a time, there was a tool that was written that allowed a client to alter their own database in a fairly serious way. The tool wasn't written on a whim, but was actually needed in some select cases. Because of the seriousness of the operations being performed, there had to be some mechanism to ensure that the user running it was really sure that they wanted to run it.
Enter the "safety dialog".
It wasn't so much as a single dialog, as a series of message boxes with "yes" and "no" options. The user running the tool would have to select "yes", then "no", then "yes". Each message box explained the correct option to select to proceed. There had been more than one support call where some user had complained along the lines of "Well, I selected 'yes, yes, yes', and it's not working!".
In theory, the idea behind the safety dialog was good - wanting to prevent users from doing irreversible damage to a database, but the implementation could have used some improvement.
These days, a better alternative I've seen is to get the user to type in a specific series of words or a phrase when deleting things like API keys. It's maybe still not the best option (designing a system where such tools aren't necessary), but at least the "safety dialog" prevented a few accidents from happening along the way.
Top comments (0)