it-swarm-es.com

¿Manejando múltiples ventanas emergentes "alertas"?

Una aplicación de iPad que estamos construyendo muestra una ventana de alerta para varias condiciones de error. Estamos considerando crear una IU personalizada para las alertas, ya que la ventana de alerta predeterminada es bastante molesta. Mi pregunta es, ¿cómo se apilan las alertas? Por ejemplo, si 2 partes de la aplicación lanzan 2 alertas diferentes, ¿cuál es la mejor manera de mostrar que 2 cosas salieron mal? Un pensamiento es mostrar solo el primer error que sucedió. Otra es mostrar las alertas una tras otra, para que el usuario haga clic en "ok" dos veces. Otro es algo así como "2 cosas salieron mal: aquí hay 1 y aquí hay otro", pero el problema es que el error 2 puede ocurrir después del error 1 pero antes de que el usuario haya tenido la opción de descartar la alerta 1.

¿Alguien ha visto algún buen patrón de interfaz de usuario para agrupar múltiples mensajes de alerta?

7
Arpit

Así es como Apple lo hace en el Finder Mac OS:

alt text

alt text

5
Hisham

a nadie le gustan las alertas (que yo sepa), pero para múltiples mensajes asincrónicos, una interfaz de 'gruñido' hasta ahora se siente bastante atractiva. Después de revisar varios complementos específicos de jQuery para 'notificación', encontré lo siguiente bastante útil:

http://pines.sourceforge.net/pnotify/

Intente hacer clic en las demostraciones simples y esté atento a las notificaciones de JavaScript en el lado derecho de su página.

8
ericslaw

Consideración principal aquí: ¿necesita interrumpir al usuario?

¿Es necesario mostrar el error en una ventana emergente o se puede mostrar en el flujo de la aplicación? P.ej. ¿Es una excepción o es una notificación? "La página no se pudo cargar" tiene un significado y un peso diferentes a algo como "Retweet falló. Twitter no respondió".

Pensar en esas diferencias lleva a un par de pensamientos:

  • Si se trata de un error crítico, debe interrumpir el flujo de la aplicación y alertar al usuario. "La página no se pudo cargar" debe aparecer porque no hay nada más que pueda suceder en paralelo.
  • Los errores no críticos, como "Retweet falló" en una aplicación de Twitter, no deberían interrumpir el flujo, ya que interrumpirá el uso de la aplicación por parte del usuario, que generalmente será algo así como leer o escribir.
  • ¿Qué está haciendo el usuario? Si el usuario está realizando alguna tarea secuencial, por ejemplo. llenando un formulario, luego muestre al usuario los diferentes errores agrupados.
  • Considere diseñar su salida del problema. Por ejemplo, no trate el error como un error. En el ejemplo de "retweet", la API de Twitter es una dependencia externa y, por lo tanto, cualquier llamada a la misma debe ser tolerante a fallas, incluida la retroalimentación al usuario en la interfaz de usuario. Esto afecta la forma en que el usuario percibe su aplicación: si siempre aparece un error cada vez que ocurre alguna excepción, el usuario percibirá una aplicación inestable y molesta que la interrumpe. Si alinea los errores y los muestra como notificaciones inevitables que simplemente suceden porque Twitter puede estar caído a veces, se verá de manera muy diferente.
  • Mira las convenciones de plataforma para iPad. Consulte las Pautas de interfaz humana Apple y mire las principales aplicaciones. Mi experiencia con el iPad ha sido que hay muy pocos estados de error en las aplicaciones; esto puede deberse a grandes pruebas o debido a el hecho de que los diseñadores hayan diseñado posibles estados de error fuera de la aplicación. Considere este ejemplo: en un formulario web, si solicita números de teléfono en un determinado formato específico, acaba de introducir un posible estado de error en el que el usuario rellena incorrectamente número de teléfono. Sin embargo, si acepta cualquier formato, ese es un problema menos del que debe preocuparse el usuario. A veces me pregunto si los diseñadores de aplicaciones de iPad se inclinan por ese tipo de diseño.

Sruly publicó una respuesta mientras escribía esto y parece muy específica y técnica. Espero que mi respuesta pueda aportar algo de reflexión de alto nivel.

3
Rahul

Aullido

Howl es para iPad lo que Growl es para Mac

multiple alerts

Es capaz de apilar automáticamente múltiples alertas. Las alertas pueden desaparecer después de un segundo si no es una alerta grave. También puede crear alertas que el usuario debe descartar. Growl se usa en una gran cantidad de programas de Mac, no sé qué tan popular es Howl.

3
neoneye

Aunque es posible que no desee utilizar patrones de Windows para un producto Apple producto.

Algunos patrones a considerar. (Desde Windows)

  • Los iconos de notificador de la barra de tareas muestran un mensaje a la vez y cuando lo cierra o agota el tiempo de espera, aparece otro.

  • Algunos mensajes se acumulan con cada mensaje posterior que se mueve unos pocos píxeles hacia abajo y hacia la derecha.

  • Algunos mensajes (como una alerta en JS) se bloquean hasta que se responden, por lo que obviamente solo puede haber uno a la vez.

  • Algunos mensajes (como las alertas del sistema de Windows por riesgos de seguridad) se muestran en un cuadro pero con todos los mensajes que hay.

  • Los sitios de StackExchange colocan notificaciones importantes en la parte superior y pueden aparecer otras menos importantes después de realizar una acción.

Como no sé exactamente qué está construyendo, es difícil hacer una sugerencia, pero a través de un proceso de eliminación puedo reducirla.

Dado que tiene una cantidad limitada de píxeles de pantalla, agrupar los mensajes en una casilla podría robarle mucho espacio en la pantalla.

Probablemente no desee que su aplicación se bloquee a menos que haya un error crítico, por lo que las alertas de estilo JS probablemente no estén disponibles.

El apilamiento de ventanas emergentes no bloqueantes no funcionaría nuevamente debido a la falta de espacio en la pantalla.

Creo que esto te deja con solo unas pocas opciones. Una ventana emergente que no se bloquea y se desvanece o desaparece cuando se hace clic (como el icono de notificación aparece en la barra de tareas de Windows o las notificaciones pequeñas en StackExchange) o un área de notificación (como la barra superior en StackExchange)

2
Sruly

Probablemente aparecería una alerta de estilo de letrero transparente y la dejaría en la esquina superior derecha o inferior derecha.

Cada vez que se produce un error, puede mostrar el símbolo y luego, si se produce otro error, puede hacer que la alerta muestre un color más brillante y agregar un contador junto a él con la cantidad de errores que han recibido. Además del símbolo y el contador, es posible que desee una o dos etiquetas de Word. Algo corto y al grano probablemente sería mejor ahorrar en bienes raíces.

Cuando el usuario empuja (hace clic) la alerta, puede desplegar un cuadro con su lista de errores.

1
LoganGoesPlaces