Using a social network as an example, say I have a button called connect that ultimately sends out a friend request to another user. Clicking on this button then opens up a modal that asks for confirmation from the user (and perhaps collects other information).

What is the best way to indicate to the user that clicking connect does not immediately execute sending out the "friend request", but rather will give the user another chance to confirm? I'm also open to the idea that its not necessary to give such indication, but I wanted to get some idea of typical solutions to this.

  • Confirmation is typically used for potentially destructive or other actions that can have other side effects that they user needs to be warned about. I'm interested in hearing more about what happens next in the friend request process before making a suggestion. FYI - most friend requests/invites are single step because it helps in user acquisition. – nightning Feb 14 '15 at 0:15
  • Great point. I currently don't have a use case for anything else in the confirmation step other than confirming the connection request. My thinking was that perhaps a confirmation would minimize accidental clicks; but your point about user acquisition addresses this somewhat. – John Feb 14 '15 at 0:30

"Are you sure" type of confirmation messages are typically shown after button clicks for potentially destructive actions (e.g. irreversibly delete an item) or other actions that can have side effects the user may not know about (e.g. this item will no longer be searchable once its hidden).

Most friend requests and invitation processes are single step because it helps in user acquisition. It helps in growing your service if you make it super easy to invite others and network with friends.

In this case, there's really no need for a confirmation. To address the issue of accidental requests. Consider making it easy to undo the request. (It's just like soft deletes removes the need for delete confirmation modals.)

  • Do you have any suggestions for "making it easy to undo the request"? – John Feb 14 '15 at 0:52
  • Hmmmm an indicator for "invite sent" plus a little link/button to "cancel invite" to the side might work. This will work well if your invite process is based on an ajax call. Show "Connect" button. User clicks on it. Show a "sending invite" spinner, switch over to "invite sent" indicator with cancel link once it's been sent. – nightning Feb 14 '15 at 0:57
  • What do you think about hiding the "cancel invite" after a set period of time. The "connect" does happen via ajax, and the page is a single page app. So the option is either to leave the "cancel" button until the user goes to a different "page" or hide it after a timeout. – John Feb 14 '15 at 0:59
  • I guess the question about hiding it after a set period of time depends on how I implement the logic: e.g. if the invite gets persisted right away (and sends emails etc.) then theres not really much point in hiding it since the "cancel" button always acts as a "withdraw". But if the actual invitation (even the ajax call) happens on a delay, then it might make more sense to hide the button once the call gets sent out. Just thinking out loud. – John Feb 14 '15 at 1:04
  • Either is acceptable. It dips into the gray area for UX design. Having it fade away with a timeout will likely help your conversion rate. But you're not doing this for the user. – nightning Feb 14 '15 at 1:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.