it-swarm-es.com

Acciones masivas: qué hacer cuando no todos los elementos admiten una acción

Imagine el siguiente escenario: el usuario selecciona un grupo de elementos y aparece el cuadro 'acciones masivas'; el usuario selecciona una acción que no admite todos los elementos (por una razón u otra).

¿Qué haces en este caso: aplicar la acción a los elementos que lo admiten? ¿No aplica la acción en absoluto y muestra un mensaje de error?

Mis ideas actuales son:

  • Aplicar la acción a los elementos que lo soportan; para acciones que hacen que los elementos desaparezcan (como 'eliminar elemento'), dejaría los elementos ofensivos, todavía seleccionados, con un mensaje de error: "algunos elementos no se pudieron eliminar".
  • Deshabilite las acciones que no son compatibles con todos los elementos y proporcione un enlace 'arreglar esto' que anule la selección de los elementos ofensivos para la acción.

Además, ¿puede señalarme algún ejemplo relevante del mundo real?

13
Dan Burzo

Sin más información suya (por ejemplo, ¿es una computadora de escritorio o una aplicación web?), Esta es una idea:

alt text

Cuando el usuario selecciona qué acción quiere realizar, no haga nada a los elementos de la lista si la acción puede aplicarse a todos elementos seleccionados. Si no puede, muestre en negrita (o un color diferente) a los que se aplica el elemento, junto con un texto explicativo a la derecha, por ejemplo:

alt text

Definitivamente, debe mostrar el número total de elementos que se pueden reubicar, ya que la lista puede ser bastante larga.

Por supuesto, esta es solo una de varias variaciones posibles.

6
Hisham

La respuesta simple es no permita que el usuario cometa el error en primer lugar. Si no se puede realizar una acción en todos los elementos seleccionados, debe desactivar la acción, explicar al usuario por qué no se puede realizar la acción y sugerir una solución.

5
Antony Quinn

Creo que la mayoría de las soluciones de interfaz de usuario dependen del contexto: una solución que funciona para "eliminar" tal vez no funcione para "mover" y una solución que funciona en un comercio electrónico tal vez no funcione en una herramienta industrial.

Dicho esto, en resumen, probablemente agregaría un indicador numérico en el "cuadro que aparece" que ha citado, diciéndole al usuario algo como: "29 elementos seleccionados, 5 bloqueados" para que pueda continuar sin problemas si lo desea, o verifique cuáles son los "elementos de advertencia" haciendo clic en la parte "5 bloqueados".

De cualquier manera, evitaría cualquier "mensaje de error": es su problema, no el problema del usuario. ;)

5
Folletto

Sobre la base del contraejemplo a continuación: me gustaría ver una lista con todos los elementos emergentes indicando que solo los elementos específicos tendrán la acción (con nombre) aplicada (y aquellos marcados de manera diferente en la lista), y ofrecer un "Claro, vaya adelante "y una acción" Cancelar ".

No se siente cómodo volver a mostrar una lista similar, pero en interés de seguir adelante, creo que esa sería mi primera toma.

Al menos no lo hace como lo hace la Consola Microsoft Exchange 2010: arroja un error para todos los elementos en los que no se admite la acción (una larga lista en una pequeña ventana emergente modal no redimensionable) y tampoco se aplica a los elementos que lo soportan (sic). No hay forma de salir de la situación, excepto cancelar la idea por completo y desenterrar Powershell, o intentar hacer una referencia cruzada del pequeño diálogo de error modal para anular la selección manual de los elementos ofensivos uno por uno detrás de él ... ^^

3
Oskar Duveborn

He visto un par de enfoques para enfrentar esta situación, ninguno de los cuales es particularmente satisfactorio:

  • Denegar silenciosamente la selección múltiple. CorelDraw, por ejemplo, evita el problema al no permitir que los usuarios seleccionen de forma múltiple una combinación de objetos editables y no editables ("bloqueados") incluso solo para ver información de solo lectura. Del mismo modo, IronCAD no le permitirá seleccionar múltiples objetos de ciertas clases diferentes (por ejemplo, una cámara y una parte). Eso me parece una restricción innecesaria.

  • Silencio denegar el comando. Windows XP simplemente lo ignora si intenta abrir una ventana de propiedades para varios elementos de diferentes clases (por ejemplo, Mi PC y un archivo pdf). Eso podría ser confuso y frustrante.

Me parece que desea permitir al usuario la mayor flexibilidad al permitir la selección múltiple de cualquier cosa y hacer todo lo posible en lo que sea seleccionado. Al mismo tiempo, no desea saturar a su usuario con cuadros de mensaje como lo describe Oskar Duveborn en esta página.

Es discutible si los usuarios están cometiendo un error: tal vez quisieron cometer el Comando X en todos los objetos dispersos a lo largo de la ventana a la que se aplica el Comando X, sabiendo muy bien que no se aplica a ciertos objetos. Entonces escriben Ctrl-A y seleccionan Command X. Apoyar ese "truco" sería muy conveniente. O tal vez han seleccionado varias cosas para aplicar el comando X y luego el comando Y. Sería útil si no tuvieran que volver a seleccionar o ajustar la selección múltiple entre los comandos para excluir objetos que no No aplicar.

Aquí hay algunas ideas:

  • Primero, intente indicar la información relevante en la ventana principal/principal para que el usuario pueda adivinar que algunas acciones no afectarán ciertos objetos seleccionados. Por ejemplo, dé a los objetos de solo lectura una apariencia distinta, tal vez solo en la selección (estoy imaginando pequeños candados para manijas para una aplicación de tipo CAD). Cada clase de objeto debe tener un aspecto distinto, quizás etiquetando cada uno con un icono en particular. De esta forma, a medida que los usuarios hacen una selección múltiple, pueden anticipar lo que los comandos hacen y no tienen sentido (por ejemplo, este elemento es una cámara, por lo que se puede mover pero obviamente no se puede cambiar el tamaño).

  • Si la aplicación no puede decir qué se aplica a qué hasta que se abre el cuadro de diálogo, entonces puede cambiar la apariencia de la selección de objetos para los que no se aplica la acción. Por ejemplo, cuando el usuario cambia el valor de una propiedad, todos los objetos que carecen de esa propiedad tienen una apariencia de selección "secundaria" en la ventana principal.

  • Si el criterio para aplicar una acción no es obvio, es posible que necesite algunas indicaciones de texto. El elemento de menú del botón que invoca la acción puede incluir en su leyenda cuántos elementos afecta o qué afecta (por ejemplo, "Solo chapa"). En un cuadro de Propiedades, puede incluir una columna al lado de la columna de propiedades que dice para muchos elementos a los que se aplica o se puede cambiar cada propiedad.

  • Eso puede requerir demasiado espacio, pero tal vez solo necesite indicar que solo algunos objetos están afectados (no el número exacto, identidad o proporción). En ese caso, tal vez pueda usar una nota al pie en el cuadro de diálogo. Cree un símbolo que significa "parcial", ¿tal vez un círculo medio lleno? (No utilice un asterisco, ya que con demasiada frecuencia significa "obligatorio"). Coloque este símbolo en cualquier control que afecte a un subconjunto de la selección. En la parte inferior del cuadro de diálogo, muestre el símbolo con el texto "= se aplica solo a algunos elementos seleccionados". Para las acciones que no usan un diálogo, use el mismo símbolo en el elemento del menú o en los subtítulos de los botones de comando, incluida una información sobre herramientas para explicar lo que significa.

  • Idealmente, debe indicar que la acción solo se aplica parcialmente antes de que el usuario cometa esa acción, pero como alternativa, puede proporcionar algunos comentarios después de la acción. En general, desea que el efecto de cualquier acción sea visualmente aparente en sus objetos en la ventana principal, y eso puede ser suficiente. Sin embargo, si todavía le preocupa que los usuarios estén confundidos (p. Ej., Por objetos que se han desplazado fuera de la vista y luego notaron que no cambiaron), entonces tal vez pueda proporcionar una notificación de texto sin modo (autodescarte) que diga " [accionado] [n] de [m] elementos seleccionados "cuando se completa la acción. Tal vez proporcione un enlace de Ayuda en caso de que el usuario no entienda por qué.

No sé cómo funcionará ninguno de estos, por lo que será una buena idea probar lo que decida sobre los usuarios.

1
Michael Zuschlag

La respuesta simple es no permita que el usuario cometa el error en primer lugar. Si no se puede realizar una acción en todos los elementos seleccionados, debe desactivar la acción, explicar al usuario por qué no se puede realizar la acción y sugerir una solución.

1
Antony Quinn

En cuanto a un ejemplo del mundo real, Jira viene a la mente. Y muestra al menos una posible desventaja de las acciones ocultas: cuando las personas no se dan cuenta de que cierta acción no está disponible, puede ser bastante frustrante. No puede mover los problemas que están cerrados, pero al principio no lo sabía. He buscado mucho antes de descubrir por qué de repente no hubo movimiento-acción cuando estaba muy seguro de que había movido los problemas de esa manera antes.

Creo que, por esa razón, esconderse en una manta no es la mejor manera. Puede marcar las acciones que no están disponibles para todos, preferiblemente con una explicación de por qué están marcadas. Creo que podría funcionar muy bien si permites que las personas lo seleccionen independientemente y dejas que se apliquen a 'los disponibles'. Si no, creo que deshabilitar los elementos es mejor que esconderse. (Por otro lado, se debe tener cuidado de no terminar con una lista de acciones que es infinitamente larga).

1
Inca

¿Por qué no hacer lo que hacen los inspectores de propiedades/objetos de muchos entornos de desarrollo integrado: solo mostrar propiedades comunes a todos los objetos seleccionados en un formulario?

En su escenario: ofrezca solo las acciones masivas compatibles con todos los elementos seleccionados. Y actualice la disponibilidad (aspecto habilitado) frente a la no disponibilidad (aspecto deshabilitado) de todas las acciones masivas con cada elemento seleccionado/deseleccionado. De esta manera, el usuario recibirá comentarios y rápidamente seleccionará qué acciones masivas están disponibles en qué elementos (y qué elementos tienen qué acciones masivas en común).

1
Marjan Venema

Parece que la segunda solución ofrecida en la pregunta en sí funciona mejor:

Solo habilite la acción cuando todos los elementos seleccionados lo admitan

Puede mostrarlo deshabilitado, con una explicación al lado o en una información sobre herramientas para que el usuario sepa por qué esta acción está deshabilitada.

Creo que puede ser muy confuso permitir que el usuario realice una acción que afecta solo una parte de su selección, incluso notificándoles después o antes de que el hecho no funcione ya que los usuarios no leen el texto.

Por lo tanto, es probable que cualquier advertencia o explicación no evite que el usuario simplemente haga clic en el botón Y luego cierre inmediatamente el cuadro de diálogo de notificaciones.

Dicho esto, depende de la acción y la aplicación: si la acción desencadena un cambio en el ciclo de vida de un objeto, afectando su estado, etc., impondría "permitir la acción solo cuando todos los elementos seleccionados lo admitan". Para cosas que no son de misión crítica, es posible que prefiera un mejor flujo que la precisión.

1
Dan Barak

Iría por aplicar la acción a los elementos que lo aceptan y deje el resto. Creo que el usuario es lo suficientemente inteligente para saber que la acción no se puede aplicar a los otros elementos.

Si crea el resto de la interfaz para que el usuario lo entienda directamente, no debería haber ningún problema, y ​​puede dejar los otros elementos sin un mensaje especial.

Esta es también la forma en que se hace en Gmail, por ejemplo. Tome dos mensajes, uno no leído y uno leído, seleccione ambos y elija marcar como leído. El mensaje no leído se marca como leído y el ya leído no cambia. El resto de la interfaz (texto en negrita y otro color de fondo) deja en claro que el mensaje leído ya se había leído.

(Gmail incluso dice que 2 mensajes se marcaron como leídos, lo que parece un poco extraño, pero está bien).

1
Lode

Mi acercamiento:

Permita que los usuarios seleccionen los elementos que desean, permita que los usuarios seleccionen la acción que desean si al menos un elemento puede verse afectado por la acción y, una vez realizada la acción, devuelva un mensaje de información: "los elementos x, y, z no son compatibles * acción porque * motivo ".

Filtrar las acciones que se pueden aplicar al menos a un elemento seleccionado puede ser un poco complicado.

0
Bobby Tables

Haría algo como: publicar un mensaje indicando que no todos los elementos tienen la posibilidad de eliminar/editar/mover/etc. y tener una lista con su entidad definiendo valores de campo después. O si su no a muchos tienen una temperatura. reordenando con los elementos n/a en la parte superior de la lista, resaltados.

0
Billy