Uso de conceptos de UX/UI
Los componentes Nimbus son elementos para crear interfaces personalizadas según sea necesario, cuando no hay un estándar disponible. Estos componentes mantienen la consistencia con los productos de Tiendanube y sus interfaces existentes. Es importante usar los componentes correctamente para garantizar una experiencia de navegación más fácil para los usuarios de Tiendanube.
Consultar checklist de homologación
Priorización y organización de acciones y contenido
Priorización de acciones
Acción principal
La acción principal es la tarea principal de la página. Debe haber solo una por instancia. Para darle el debido énfasis, debe representarse con un componente Button en la variante primary.
Acciones secundarias
Las acciones secundarias son complementarias a la acción principal. Para resaltarlas de manera diferente a la acción principal, podemos utilizar el componente Button en la variante default, un Icon button o un Link .
Posicionamiento de acciones
Acciones de contexto general
Las acciones de contexto general se colocan en el encabezado del patrón Page . Estas acciones están relacionadas con un contexto general de la pantalla, haciendo referencia a acciones generales. Se alinean a la derecha, distribuyendo las más importantes de derecha a izquierda.
Acciones de contexto local
Las acciones de contexto local se colocan en un elemento específico, como un Card . Están relacionadas con un contexto específico de un grupo de información determinado.
Organización de contenidos
Ordenación
Los contenidos siempre deben organizarse por orden de importancia para el usuario. Los temas más relacionados con la función principal de la página deben presentarse primero. Es importante promover una ordenación lógica de los elementos, contextualizando gradualmente al usuario y conectando temas relacionados.
Agrupación
Siempre que sea posible, agrupamos temas relacionados en tarjetas . De esta manera, ayudamos al usuario a comprender las divisiones de temas y elementos en la pantalla.
Señalización de estado y estandarización de elementos
Siempre que un elemento pueda cambiar de estado o cantidad por acción del usuario, debemos mostrar el estado actual de manera clara y sencilla, utilizando pocas palabras y colores apropiados.
¿Cómo representar el estado?
Tenemos dos tipos de representación de estado: uno representa condiciones cambiantes y el otro está relacionado con la cantidad de elementos.
Representación de condiciones
En el caso de diferentes tipos de condiciones de un objeto, utilizamos el componente Tag y sus respectivas variantes que están documentadas en el sitio web de Nimbus.
Representación de cantidades
En el caso de la cantidad de elementos, utilizamos el componente Badge y sus respectivas variantes que están documentadas en el sitio web de Nimbus.
¿Cómo posicionar el estado?
Contexto global
Cuando el estado se refiere a una pantalla en su conjunto, debemos utilizar la posición predeterminada en el encabezado del patrón page .
Contexto local
Cuando el estado se refiere a un elemento específico, debemos tener en cuenta la organización del componente en el que se encuentra el estado. En el caso de Cards , podemos utilizar la variante default.
Mensajes de retroalimentación y confirmaciones
Siempre que procesamos información, debemos mostrar una retroalimentación sobre la tarea que acaba de ejecutarse.
Tipos de retroalimentación
Tenemos dos tipos de retroalimentación: retroalimentación de alerta y retroalimentación informativa.
Retroalimentación de alerta
Cuando la notificación tiene la función de alertar al usuario sobre un evento importante o que requiere una acción para resolver un problema, para completar algún dato o esperar una confirmación asíncrona, recomendamos el uso del componente Alert y su respectiva variante adecuada al contexto.
Retroalimentación informativa
Cuando la notificación tiene un tono informativo, es decir, solo describe que algo ha sucedido o está sucediendo, no requiere una acción inmediata del usuario, recomendamos el uso del componente Toast y su respectiva variante adecuada al contexto.
Mensajes de confirmación
Durante la realización de acciones destructivas o abandono de formularios, debemos alertar al usuario sobre los respectivos impactos utilizando la plantilla modal de confirmación .
Eliminación de información
Cuando un usuario está eliminando cualquier tipo de información, debemos advertirle que esta acción no se puede deshacer.
Información no guardada
Cuando un usuario está saliendo de una pantalla de formulario donde no se han guardado la información, debemos advertirle que al realizar esta acción, los datos del formulario se perderán.
Procesamiento y carga de información
Siempre que se cargue información, debe representarse de manera clara para el usuario, cada tipo de carga se representa de manera diferente.
Carga de páginas
Siempre que se cargue la información de una página, utilizamos el Skeleton de los componentes para representarla. De esta manera, el usuario puede familiarizarse con la estructura de elementos que mostraremos y reducir la sensación de tiempo de carga.
Carga contextual
Siempre que un procesamiento esté vinculado a un elemento específico, donde no haya cambio de página, lo mostramos utilizando un Spinner .
Procesamiento de tareas o carga de archivos
Siempre que una tarea o carga de archivos sea el resultado de una acción principal, es decir, haya un cambio de página, mostramos esta acción utilizando un Toast Progress .
Organización de datos en tablas
¿Cuándo usar tablas?
Utilizamos el patrón Data Table cuando sea necesario organizar una gran cantidad de datos tabulares, utilizando filas para organizar las entradas y columnas para categorizar los tipos de datos.
¿Cómo priorizar datos en una tabla?
Organizamos las columnas según el orden de importancia de la información, es decir, colocamos las columnas con información más esencial (Fecha, Nombre, Número de pedido) en las columnas de la izquierda, mientras que la información complementaria (Productos, Estado, Acciones) la colocamos en las columnas de la derecha.
Agrupación de acciones
Siempre que haya más de dos acciones por fila de la tabla, se recomienda agrupar las acciones utilizando un botón de icono con un icono de puntos suspensivos.
Uso de acciones masivas
Siempre que sea técnicamente posible, proporcionamos acciones masivas para cambiar el estado, eliminar o realizar cualquier otro tipo de tarea que se pueda realizar en todos los elementos de la tabla.
Responsividad y alineación de elementos
Para poder utilizar el producto en diferentes tipos de resoluciones, debemos asegurarnos de que las pantallas diseñadas tengan una experiencia adecuada en diferentes tamaños de pantalla.
Resoluciones comunes
El patrón de página tiene un ancho predeterminado del 100%, pero podemos configurar este ancho según el tipo de contenido. Para formularios, utilizamos un ancho de 800 px para compactar mejor la información y facilitar la lectura del usuario, mientras que para tablas o contenido de múltiples columnas, utilizamos 1200 px. Esta resolución se puede ajustar mediante una cadena.
Responsabilidad de componentes
Patrón de página
Este patrón en el contexto móvil tiene algunos comportamientos diferentes para abrir más espacio para elementos esenciales, colapsando acciones y ocultando algunos enlaces.
Componente Tabla y patrón Data Table
En estos dos casos, debido a que contienen datos tabulares, su uso en contextos móviles no se recomienda. Pueden ser reemplazados utilizando el componente data list manteniendo la misma priorización de información y separándola en filas.
Barra lateral
Este componente tiene un comportamiento diferente en el contexto móvil, ocupando toda la extensión de la pantalla.
Rejillas y alineaciones
Es posible alinear los elementos en diferentes tipos de composición y proporción utilizando el patrón grid ; en contextos móviles, por defecto, independientemente del ancho de las columnas, los elementos deben apilarse.
Por defecto, todos los títulos y textos deben estar alineados a la izquierda, de la misma manera que los botones se alinean a la derecha; dentro de las tarjetas, siempre alineamos a la izquierda.
Organización y señalización en formularios
Alineación de campos
Los campos siempre deben estar alineados a la izquierda; preferiblemente, deben tener un ancho total o combinado igual en todas las demás filas.
Agrupación de campos
Cuando un formulario es muy largo, agrupamos los campos en diferentes tarjetas para facilitar la visualización de los grupos de información.
Cuando tenemos campos con información relacionada, se permite agruparlos en la misma línea de un formulario; recomendamos que se agrupen como máximo 2 campos para evitar una sobrecarga de información.
Dimensionamiento de campos
Los formularios deben utilizar el patrón Page con un ancho de 800 px; de esta manera, los campos se pueden compactar mejor, facilitando su lectura.
Los campos deben tener tamaños acordes al tamaño de la información que se solicita; por ejemplo, si solicitamos el código postal de una residencia, debemos dimensionarlos con un ancho compatible con el número de caracteres de un código postal.
Cómo señalar campos en un formulario
Campos opcionales
Siempre que haya campos opcionales, deben señalizarse mediante la inclusión de un texto junto a la etiqueta "(Opcional)"; si hay un grupo de campos opcionales, podemos agruparlos dentro de una tarjeta plegable, también señalizada en su título con "(Opcional)" y mantenerla cerrada para llamar la atención sobre los campos obligatorios.
Validación de campos
Éxito - Siempre que haya una validación de campo en tiempo real, debemos señalizarla utilizando el patrón Form Field en su variante de éxito.
Error - Siempre que haya una indicación de error en tiempo real o después del envío de información, debemos señalizarla utilizando el patrón Form Field en su variante de peligro, junto con un texto breve explicativo sobre lo que causó esta condición.
Próximos pasos
- Conozca los conceptos de UX Writing