How do you give your user options without overloading them?

by corsiKa   Last Updated July 10, 2015 13:07 PM

I was using WinSCP the other day for transferring files, when I came across this.. umm.. I'll call it a set of options, but it was more like an interview.

enter image description here

Oh boy. I just want to move a file. Now I have to read nine options to determine what I want to do!

The problem is, for the kind of thing WinSCP does, each of these options is sometimes very relevant. Clearly, yes no and cancel are always relevant. When you're moving log files, append is very useful. The option to rename is a common one, particularly when copying output files. When moving code or config or graphic files, newer only is very useful. No to all and yes to all are good for when you're doing a bunch of files at once.

Lord knows they could have added "append all" too. To top it all off, in case you're confused, there's a help button! (The help button doesn't really help either... but that's another story...)

So being that each of these buttons is a good thing at times, how can this problem of overloading be avoided while still giving people the flexibility they need to get high productivity out of your tool?

Edit: here's what the help button does, actually:

enter image description here

Answers 12

Two ideas that come to mind immediately are:

  1. Have a drop down with the list of actions and an "Ok" button that executes it. In this particular case I would rework the text ("Remote file already exists. What action would you like to take?" and replace "Yes"/"No" with their respective actions such as "Overwrite"/"Copy".
  2. See what buttons can be consolidated out. ex: Help can be an icon in the top right corner, check box to "Apply all" instead of the "Yes/No to all" button, etc.

Edited for clarity.

March 06, 2013 22:17 PM

I feel that some of the buttons can be combined by simply adding a "if all apply" checkbox. I would also NOT put in a help button if there isn't anything there. It seems rather pointless to direct the user to something that doesn't exist.

Chris N.
Chris N.
March 06, 2013 22:18 PM

One big issue here is a lack of hierarchy, all of the buttons are given equal weight on one wide line, which ends up being overpowering at first glance. The user wastes mental energy scanning all available actions because he/she assumes that all choices are equally important.

I believe this dialog box should be customized, with obviously the 2 big buttons (which I'm assuming are the most popular ones) - being Yes and No. Then below that there could be "Other options" that has a smaller list of remaining actions, with a description if necessary (which would negate the need for a prominent help button). And as others are saying a checkbox for "Apply to All" like Windows does could also alleviate the visual clutter.

With that approach, you have 2 major actions and 4 minor ones (with a checkbox and a help link), which is much easier on the user.

Jason Tavarez
Jason Tavarez
March 06, 2013 22:24 PM

That is one of the best examples of an interface designed by engineers for engineers :)

I would suggest the following improvements:

  1. Some of the options should be moved to an advanced section, which is selectable for people that know that they want advanced features.
  2. Related options could be grouped together to make it easier to scan.
  3. The buttons should not be "yes" or "No", but should rather have text that explains what they will do.
  4. If the help is specific to the advanced options, I would remove the button and simply show inline help for what the advanced functions do.
  5. De-emphasise alternate versions of options such as (currently) "Yes to all".

A rough mockup would be something like this: enter image description here

March 06, 2013 22:43 PM

I know this window, and also never remember what to click, so I need to go through all the options :) Anyway, WinSCP is a great tool, so I close my eye for this one. What can be done in this situation:

  • First of all, the buttons use different forms: there is yes/no (to understand which you should read all the text above the button), there are verbal ones, plus two buttons refer to additional conditions

  • Help button should not be there, I mean - it should be present, but in a different form, maybe question mark icon or a link (even though I hate links in such windows). And of course it must show some help related to the window, not what is shown there now. While options are self-explanatory, there are many users who will need additional help, which does not appear here

  • Third thing is proper grouping of the buttons.

  • Last but not least - I think the "Never ask me again" option is very dangerous, as the overwrite action always should be confirmed by the user.

I would do it like this:

Group 1: [Overwrite] [Do not overwrite] [] Only if if newer [] Apply to all.

Group 2: [Append] [Rename] (does anyone append, btw?)

Plus a non-intrusive help button, presented and located in a corner for example.

Dominik Oslizlo
Dominik Oslizlo
March 06, 2013 22:46 PM

I think FileZilla does a good job of this. And they give you options to never ask again when overwriting - either in the current queue of transfers ('apply to current queue only'), or for the entire FTP session (just 'always use this action' selected).

If they were to add any more options though, I reckon a drop down list would be in order for the 'action' radio boxes.

Another great part about FileZilla is that the queue isn't blocked while this prompt is showing, so if you go away and come back to this, any files that don't have overwriting issues will have continued to transfer. I really dislike coming back to my Windows machine to discover that the 25GB of files I was transferring got blocked by a file around the 1GB mark...

enter image description here

March 06, 2013 22:48 PM

There are some existing constraints in terms of the functions that need to be made available, and the type of interaction for the file transfer dialog window. The only way I can see to addressing this issue is to deal with some of the options before you start the file transfer process. So what you might have is a set of options that asks the user what they want to do when there a conflict (Overwrite, Rename, Don't transfer), and then once the transfer is complete then you can do a batch rename or append process afterwards.

Given the choice I would redesign the process, but I guess it comes down to how much effort it takes versus how much return for the effort.

Michael Lai
Michael Lai
March 06, 2013 22:54 PM

When a user is about to take an action that may not be easily reversible, it is imperative that the interface give them enough information to:

  • Make the correct decision on what they want to do.
  • Make it very clear how to make that happen.

In Windows 7 the "Copy File" dialog gives you plenty of information to help you compare the two files using meta data and clear steps for how to make it happen:

enter image description here

Because this is an FTP program there are more options than whether to overwrite or not.

It would be better if the interface made it easier for the user to know what the effect of their decision would have.

FileZilla does a much better job of asking the user for the same information as the question's example:

enter image description here

The dialog might benefit if it grouped related actions so that it is more clear to the user what their options are broadly and then specifically what their refinement options are based on their need:


download bmml source – Wireframes created with Balsamiq Mockups

Charles Wesley
Charles Wesley
March 06, 2013 22:55 PM

While Charles's Answer shows some great UIs, I wanted to add the UX that Directory Opus uses for the same action, which I find very good as well. Simple on the surface with advanced options tucked away after a click.

Simple Copy View.

Clicking on the Dropdowns results in these options:

Replace Options Skip Options

As you can see it also provides shortcuts for the advanced operations making it easy for power users as well.

March 07, 2013 06:03 AM

The problem is not even in the huge amount of possibilities. It is with the fact that they are fundamentally different.

I will try to break them down by creating a scenario of several questions that make sense, rather than one that doesn't.

Currently we have:

  File already exists. Overwrite?
  "Yes" "No" "Cancel" "Append" "Newer Only" "No to all" "Yes to all" 

The Yes and No options are obviously valid but there are ones that are not for example the "Cancel" option is part of a separate question:

  Do you want to stop the operation? 
  "Yes" "No"

The next option is Append. This clearly should stay because it is a new alternative (different from "Yes" and "No"). However the question should be revised because of it:

  File already exists. What do you want to do?
  "Overwrite" "Keep Old File" "Append the two Files" "Newer Only" "No to all" "Yes to all" "Help"

I will skip the "Newer Only" option for now and I will proceed to the No/Yes to all options. I think they should also be excluded because they ask a different question. Which is:

  Do you want to do the same for all files?
  "Yes" "No"

Now lets get to the Newer Only. This option should be removed from the initial question (the user can see for himself which file is newer). However it is absolutely valid for the question:

  Do you want to do the same for all files?

So options the options that come from it are now three:

  "Yes" "No" "Only if my version is newer"

The last button we have is Help which is not really part of the procedure. It should be there on all popups but not on the same level as the option buttons.

The end result is:

  File already exists. Do you want to stop the operation? 
  "Yes" "No"

  What do you want to do then?
  "Overwrite" "Keep Old File" "Append the two Files"

  Do you want to do the same for all files?
  "Yes" "No" "Only if my version is newer"

It is far from usable. We can fix that by removing the first question (because we have undo, right?). Putting the third question in a combo that remembers the last option the user chose and sets it as default etc. but that is another story

Bobby Marinoff
Bobby Marinoff
March 07, 2013 14:13 PM

enter image description here That's 9 buttons.

Now that's a very poorly designed dialog box.
The problem here is that all those actions are displayed at the same level, when they have various levels of relevance.
e.g: You don't want to provide a "New name" if you don't wanna overwrite anyway.

For starters: No and Cancel are basically the same thing.
And if cancel is to stop the current copying, you have the red cross for that already.
Remove the cancel button. (-1 button)

So now what may be done when a file already exists?
You ask the question: overwrite?

You offer (YES/NO)
And add a checkbox "Apply to all". (-2 buttons)

If NO was selected, you rename the file being moved with ([INSERT NUMBER HERE]) as is the default behavior. That's basically what "New name" does. (-1 button)

If YES was selected, offer actions that may be performed:

  1. Overwrite
  2. Append

With a checkbox: newer only

We don't need the Help button anymore. It's a Yes/No question. (-1 button)

Louis Kottmann
Louis Kottmann
March 07, 2013 14:44 PM

I'm the author of WinSCP and I've found this "question" really inspiring. Thanks. This is my (kind of) "answer".

Improvements I've done (see also the screenshot below):

  • Inspired by the @Vijay's answer (and Directory Opus), I have merged similar buttons into one with a drop down menu. So now there are only 4 buttons, Yes (with Newer Only and Yes to All in menu), No (with Append, New Name and No to All in menu), Cancel and Help. Also I've introduced key+click shortcuts for the advanced options.
  • The Help button now really opens a relevant help page:
  • Reworded the prompt text to have a real question on the very first line, so it is obvious, what the Yes / No do.
  • EDIT: We have made further improvements, particularly highlighted the main sentence (question) of the prompt and make the buttons width variable. See updated screenshot.

New WinSCP file overwrite prompt

There are some suggestions that I've decided not to adopt:

  • Renaming Yes / No buttons: I believe that after rewording the prompt and hiding the advanced options, it's now obvious, what the buttons do. Moreover renaming them would be inconsistent with other WinSCP prompts and in general with other Windows application, that stick with standard button labels. Also many users are used to the existing Y/N keyboard accelerators.
  • Removing Cancel or moving it to advanced options: I believe there should be Cancel button on all prompts. I'm aware that there's already the X button on window caption, but it is not really clear what that does. Explicit Cancel is more straightforward. Also Cancel is not a special version of Yes nor No. It cancels whole batch transfer, not only the file in question.
  • Making important buttons larger: While I see that this is common practice in web design, desktop applications should stick with their platform standards. On Windows, the buttons have a single size.

Thanks for all the suggestions!

Martin Prikryl
Martin Prikryl
April 23, 2013 07:36 AM

Related Questions

Using flags vs. three-letter codes for countries

Updated December 21, 2016 08:06 AM

How do I update my existing search?

Updated May 19, 2017 07:16 AM

Should you always minimize cognitive load

Updated August 20, 2015 17:07 PM