In-app inbox
In-app inbox
8 reglasSepara accionables de informativas antes de diseñar el contenedor
Las notificaciones se dividen en dos clases que NNGroup distingue: las action-required alertan sobre un evento que exige respuesta activa, y las pasivas reportan una ocurrencia del sistema sin pedir nada. Mezclarlas en el mismo nivel visual obliga al usuario a procesar cada item para saber si debe actuar, subiendo la carga cognitiva. Las accionables justifican más prominencia (icono diferenciado, CTA visible, color de acento); las informativas deben ser discretas y pueden archivarse solas. Definir esta taxonomia primero determina la jerarquía visual, el orden de lectura y las reglas de expiración.
NNGroup "Indicators, Validations, and Notifications" · NNGroup "Transactional Notifications"Haz el estado leido/no leido inequivoco con más de una señal
El usuario debe distinguir a primera vista que es nuevo sin leer el contenido. El patrón más extendido (GitHub, Slack, LinkedIn) combina un punto azul con peso de fuente bold y un fondo levemente elevado, pero cada señal debe funcionar de forma independiente para no depender solo del color, que falla en modo oscuro y con deficiencia de color. La acción "marcar como leido" debe estar en el item individual (hover o swipe) y como acción global "marcar todo como leido" en el encabezado del panel. El estado debe persistir entre sesiones y sincronizarse entre dispositivos.
NNGroup "Indicators, Validations, and Notifications" · Courier "How to build a notification center" · GitHub Primer / Atlassian / CarbonAgrupa por fecha y tipo; filtra con tabs visibles, no con un dropdown escondido
Los usuarios escanean cronologicamente, así que agrupar bajo encabezados como "Hoy", "Ayer" y "Esta semana" reduce el esfuerzo de orientación temporal. Cuando el volumen es alto, filtros por tipo (menciones, asignaciones, sistema) dejan llegar a lo relevante sin desplazarse. Los tabs visibles (All / Mentions / Updates) tienen mayor descubrimiento que un dropdown oculto tras un icono de filtro. Slack, Linear y GitHub combinan ambos: agrupación temporal más filtros por tipo como tabs de primer nivel; Apple y Android agrupan por app o tipo nativamente para minimizar items sueltos.
Smashing Magazine "Better Notifications UX" (2025) · Apple HIG Notifications · Android notification groupsExpon acciones inline; no fuerces navegación a otra pantalla para responder
Las notificaciones accionables deben incluir los botones más comunes (aprobar, rechazar, responder) directamente en el item, sin obligar al usuario a navegar al recurso referenciado. Esto recorta los pasos para completar aprobaciones y mantiene el contexto del flujo actual. Las acciones secundarias o destructivas pueden quedar tras un menú de tres puntos; las primarias deben verse en hover o focus. Si la acción necesita datos extra (un comentario de rechazo), puede abrirse un mini-formulario expansible inline antes de confirmar. NNGroup pide que una notificación action-required de toda la información y las acciones necesarias sin abrir la app completa.
NNGroup "Indicators, Validations, and Notifications" · Carbon "Actionable notifications" · inline-notification-replies (Woodruff)Permite vaciar y archivar; no obligues a borrar item por item
Cuando el inbox acumula decenas de notificaciones, el usuario necesita acciones de barrido: "archivar todas las leidas", "limpiar esta sección" o un archivado por item vía swipe o hover. Archivar (reversible, con destino consultable) es preferible a borrar destructivo: el usuario recupera el contexto si se equivoca. Toda acción masiva que vacia la lista debe ofrecer deshacer durante unos segundos y nunca dejar la sensación de perdida irreversible. Combinar archivado individual con "vaciar todo" cubre tanto la limpieza puntual como el reset completo sin fricción.
NNGroup "Indicators, Validations, and Notifications" · Smashing Magazine "Better Notifications UX" (2025)Ofrece preferencias dentro de la app; no redirijas a la configuración del SO
Dejar al usuario controlar que notificaciones recibe, por que canal (in-app, email, push) y con que frecuencia es una expectativa básica de usabilidad. Redirigirlo a la configuración nativa del sistema operativo sube la fricción y termina en desactivaciones totales en vez de ajustes granulares. NNGroup documenta que en muchos estudios la respuesta inmediata al prompt de permisos es "No permitir", motivada por recibir demasiadas notificaciones y perder relevancia. Un panel de preferencias dentro de la app reduce el opt-out total y educa sobre el valor de cada categoría; WCAG 2.2.4 exige además que las interrupciones puedan posponerse o suprimirse, salvo emergencias.
NNGroup "The Most Hated Online Advertising Techniques / Push Notifications" (2019) · WCAG 2.2.4 (AA) · SuprSend "Notification preferences"Controla el badge: una fuente de verdad, cap 99+, ocultalo en cero
El badge es una de las señales visuales más efectivas para atraer atención: un estudio con más de 1.000 participantes encontro que WhatsApp con badge recibio 79,7% de clics frente a 38,2% sin badge (p < .001). Esa potencia hace que duplicar el badge en varios puntos de la misma UI genere ansiedad artificial y desorientación. Debe existir una sola fuente de verdad para el conteo de no leidos, el número debe capear en "99+" para evitar layout shift, y debe desaparecer por completo al llegar a cero, nunca mostrar "0". El demo contrasta el aumento de descubrimiento del badge contra el icono pelado.
Martinez-Navarro et al. (2022), PMC9246170 · SetProduct "Badge UI design" · IxDF "Better Notification UX"Disena el empty state útil y el foco/teclado del panel
El inbox vacio es un momento de carga emocional positiva: un "Ya estas al día" con ilustración ligera y una ruta directa ("Ajusta lo que recibes") confirma el logro y elimina la duda de si "no hay nada" es error o exito, frente a una pantalla en blanco. En accesibilidad, marca la lista con role="log" (aria-live polite implicito, aria-atomic false) para que el lector anuncie solo lo nuevo; el badge necesita aria-label descriptivo ("12 sin leer") porque el número visual no basta. El panel debe ser totalmente operable por teclado: Tab entre items, Enter para activar, Escape para cerrar devolviendo el foco al trigger, sin trampas de foco. WebAIM Million 2024 hallo problemas de indicador de foco en el 78% de las homepages, así que el anillo visible no es opcional.
- R-1198 Separa accionables de informativas antes de diseñar el contenedor
- R-1199 Haz el estado leido/no leido inequivoco con más de una señal
- R-1200 Agrupa por fecha y tipo; filtra con tabs visibles, no con un dropdown escondido
- R-1201 Expon acciones inline; no fuerces navegación a otra pantalla para responder
- R-1202 Permite vaciar y archivar; no obligues a borrar item por item
- R-1203 Ofrece preferencias dentro de la app; no redirijas a la configuración del SO
- R-1204 Controla el badge: una fuente de verdad, cap 99+, ocultalo en cero
- R-1205 Disena el empty state útil y el foco/teclado del panel