Negotiate with your users

I always advocate against simple (and especially modal) dialogs in user interfaces because they aren’t there to help the user get past the problem, more like work through the emotional issues the software is having.

Dialogs aren’t the real evil, though they usually aren’t great, it’s the lack of real negotiation.  In the book Getting to Yes it states that you “Make emotions explicit and acknowledge them as legitimate…”, however don’t stop there.

Acknowledge Me!

A useful dialog would negotiate with your users.  Give them actions and power to change their situation.  Don’t ask users to acknowledge your troubles and stop the negotiation there.  ReconnectTry Again!  Even simple actions can help people correct the situation.


10 thoughts on “Negotiate with your users

  1. I agree 100%, nothing is more frustrating than a application stating the obvious, while asking me to confirm this obvious statement.
    Yes, telling me you can’t connect is fine, but don’t also ask me to tell you it is OK.

  2. Very Good…

    “Don’t ask users to acknowledge your troubles and stop the negotiation there. Reconnect! Try Again! Even simple actions can help people correct the situation.”

    It should be mandatory that this statement be pasted to every programmers screen.

  3. And what about information? “Try again” could me much more useful if you give
    the user a fair chance at finding out what really happened. The command,
    the error message, the log file, etc?

  4. Bad example: here the application should just notify the user that the connection failed and attempt to fix it all by itself, exactly as in the xkcd strip Jakub pointed (but maybe not as far:)

  5. Pretty much all dialogs in Thunderbird should be non-modal. Like the “Failed to connect to server” one – which I get 3x if I’m disconnected as I have 3 accounts. It’s hell.

    Dialogs like those should be more like the Firefox 3 “Do you want to save this password” non-modal dialog, but in yellow or something like that.

Leave a Reply

Your email address will not be published. Required fields are marked *