Background:
Our user runs an internet shop, based on a SoS platform we provide. In particular we provide a desktop app (Windows), which basically stacks up the shelves of this store by uploading offers from selected suppliers.
The uploading process can be ran in so-called debug mode: it then stops at every single product in the offer, asking for confirmation before it imports the product to the store (if it's not in the store yet), or overwrites its data (if it has been imported already).
The window shows some brief previews and asks for a decision. When user wants to exit the debug mode, they can click "Remember this choice for other products" thereby approving or rejecting all remaining products in the queue. (Kind of like in a file copy dialog box).
Current UI:
So we effectively have 4 options:
[green, no checkbox] Import this product (and keep on asking)
[red, no checkbox] Do not import this product (and keep on asking)
[green, checkbox] Import this product and all the rest
[red, checkbox] Do not import this product nor all the rest
The task:
A new (fifth) option is to be added now: "ignore product".
It allows our user to exclude specific / selected products from being taken into consideration at all.
Once user marks some product as ignored, they won't be bothered about this particular product anymore, regardless of all other settings or choices in the window (until they reset the list of ignored products, but that option is available elsewhere).
The question is: how to present this additional option to the user? So simple, yet difficult...
The sense of this new option must be transparent, but given that the present layout has been 'in the field' for quite a while, we also need to avoid confusing users, since they got used to it.
They used to have a green one vs a red one - and I don't want to make them think now by throwing an extra red one in; why, which one is which? etc.
First project:
Adding another button on the right; grouping old controls in a border to distinguish pre-existing options from the added one:
Problems:
"Ignore this product" actually applies to the product on the left pane (not the one on the right; there may even not be any), so it's obviously placed too far away from it.
Also, while it doesn't appear so jarring on the mockup perhaps, the real window got a bit too wide.
Solution:
- Move the new button to the top. Don't put it next to "old" controls.
Second project:
Problems:
It looks odd.
It still doesn't make it clear how "Do not update" and "Ignore" are different. ("Do not update" means "...this time". "Ignore" means "not this time, not any time". But this window doesn't seem to be telling you that).
Solution:
- Leave one red button for a "general negative response"; clicking it will allow user to specify one of two options (old one or new one).
Problems:
How to present these two options? On a popup form? A combobox? Some web-style sliding frame?
It will require more clicking. Someone who stormed through the debug mode making long series of quick decisions (y/n), now will have to click not once but twice for every "no". The new option is getting in the way.
Even more importantly, the checkbox is now isolated from the button whose behavior it alters. The checkbox state only applies to "Don't update now" (the old option), not to "Don't update ever" (or ignore product; the new option). This seems counterintuitive and misleading.
I'm not a UX designer (if I need to tell you that...), but as our team is small, it's up to me to come up with something and my ambition is to find the right solution :)
What would you suggest?
PS.
English wording and names of options are not the main issue here. The primary language of the app isn't English anyway; I just translated the UI ad hoc - someone else will take care of localization later on. Although any suggestions on rephrasing are welcome if they help the case.
The set of options provided (overly complex, one could argue) is not a subject to debate at this point, either.
Here's my mockups in XML, exported from Balsamiq Mockup: http://pastie.org/4642609 - if anyone were kind enough to try and play with it.
I'd really appreciate any comments or insights.