Frage

Hier ist ein Beispiel, dass meine Frage stellt.

  • Ich habe ein Programm, dass die Listen 1000 Elemente.
  • Ich wähle 10 von 1000 Stück.
  • Das Programm ermöglicht eine Taste anzeigt, dass ein Befehl für meine Auswahl zur Verfügung.
  • I auf die Schaltfläche klicken, und ein Fenster erscheint.
  • Ich mache einige Änderungen in dem Fenster und klicken Sie auf OK.
  • Der Befehl ändert 5 der 10 Einzelteil in meiner Mehrfachauswahl, und diese 5 geändertenen Elemente nun einen modifizierten Zustand in meiner Liste wieder.

Meine Frage ist:

Wie komme ich zum Benutzer anzuzeigen, dass der Befehl wirkt sich auf eine Teilmenge von einer Mehrfachauswahl, bevor Sie auf OK klicken?

Kann mir jemand Beispiele bestehender Produkte anführen, die dieses Szenario gut behandeln?

War es hilfreich?

Lösung

I don’t know of any existing products that have dealt with this issue the way you’re trying to, but I think you’re taking the right approach. CorelDraw, for example, avoids the issue by not letting users multi-select a mix of editable and non-editable (“locked”) objects even for just viewing read-only information. Likewise, IronCAD won’t let you multi-select objects of certain different classes (e.g., a camera and a part). That seems like an unnecessary restriction to me. Windows XP simply ignores you if try to open a properties window for multiple items of different classes (e.g., My Computer and a pdf file). That could be confusing and frustrating. It seems to me you want to allow the user the greatest flexibility by allowing multi-selection of anything and do as much as possible on whatever is selected.

Here’s some ideas:

  • First, try to indicate the relevant information in the main/parent window so the user can guess that some actions won’t affect certain selected objects. For example, give read-only objects a distinct appearance, perhaps only on selection (I’m imagining little padlocks for handles for a CAD-type app). Each class of object should have a distinct appearance, perhaps by tagging each with a particular icon. This way, as the users multi-select, they can anticipate what commands do and don’t make sense (e.g., this item is a camera, so it can be moved but obviously can’t be resized).

  • If the app can’t tell what applies to what until the dialog is opened, then maybe change the appearance of selection of objects for which the action does not apply. For example, when the user changes a property value, all objects that lack that property take a “secondary” selection appearance on the parent window.

  • If the criteria for applying an action isn’t obvious, you may need some text cues. The menu item or button invoking the action may include in its caption how many items it affects or what it affects (e.g., “Sheet metal only”). In a Properties box, you can include a column beside the column of properties that says many selected items each property applies to or can be changed for.

  • If that is too space intensive, and all you need to do is indicate that only some objects are affected (not the exact number, identity, or proportion), then maybe you can use a footnote in the dialog. Create a symbol that means “partial,” maybe a half-filled circle? (Don’t use an asterisk –that too often means “required.”) Put this symbol by any control that affects a subset of the selection. At the bottom of the dialog, show the symbol with the text “= applies to only some selected items.”

  • You are correct that you should indicate that the action only partially applies before the user commits that action, but as a fallback, you could provide some feedback after the action. In general, you want to make the effect of any action visually apparent in your objects in the parent window, and that may be sufficient. However, if you’re still worried about users being confused (e.g., by objects that have scrolled out of view that they later noticed weren’t changed), then maybe you can provide a text notification (self-dismissing) that says “[actioned] [n] of [m] selected items” when the action is completed. Maybe provide a Help link in case the user doesn’t understand why.

It seems you’re cutting a new UI design trail. It’ll be a good idea to test out whatever you decide on users to see if it’ll actually work.

Andere Tipps

If the list contains items of different types, and an action applies to only certain types of list items, then both the list item and the action button should reflect what type it is referring to. And the this item should reflect that an action has taken place on it. (Which it sounds like it does in your description.)

For example here is a list of different types of items:

ITEMS
NAME       TYPE      STATE
====       ====      ==== 
oatmeal    cookie
chocolate  cake
chocolate  pudding
carrot     cake
cherry     pie

Now if the user selects all of the items in this list, then the button labelled

"Frost Cake" 

becomes enabled. And after the "Frost Cake" dialog is opened and closed, the action having been performed, the list now looks like this:

ITEMS
NAME       TYPE      STATE
====       ====      ==== 
oatmeal    cookie
chocolate  cake      frosted
chocolate  pudding
carrot     cake      frosted
cherry     pie

Of course this example may not be quite right. Because now you may want to know what kind of frosting was used, and you may not want to put the same kind of frosting on all cakes. But that is another problem.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top