First of all, the messages themselves should be explicit
. It means that you should indicate what's wrong with the data user entered.
Two simple examples:❌ Bad: "Your password is wrong."✅ Good: "Your password should contain at least six characters."
Then, the messages should indicate what the user should do
. This rule is applied to the whole UX area. When the user receives the message, we shouldn’t leave him without any clues of what to do next.
Take a look:❌ Bad: "Something went wrong, sorry!"✅ Good: "Looks like someone has already used your email. Please, use another email address."
It is pretty common when you get an error message in an app, which says that something went wrong, but it doesn't provide any information on what to do next.
Apps just leave users alone, and this doesn't help them to do their tasks.
The messages should be human-readable
, meaning that you write for users, not for machines.
❌ Bad: "Ooops, the server responded with 500 code."✅ Good: "Something went wrong on our side, we already received the error & our team is working on it. If it's urgent, contact our support at [email protected]"