Product Craft Bible
Sistema de Notificaciones
Inicio SaaS y Admin Sistema de Notificaciones
SaaS y Admin

Sistema de Notificaciones

12 reglas Material Design 3 Snackbar Guidelines · WCAG 2.2 SC 2.2.1 · Smashing Magazine (2025)Apple HIG · Badging · Setproduct Blog · PatternFly Notification BadgeApple HIG · Notification Interruption Levels · Apple Developer · UNNotificationInterruptionLevelMaterial Design 3 Snackbar Guidelines · Vitaly Friedman · Toasts & Snackbars UX Guidelines (2024)
165

Sistema de Notificaciones

12 reglas
1426

Muestra toasts entre 4 y 7 segundos, proporcional al conteo de palabras

Un toast debe permanecer visible minimo 4 segundos para mensajes cortos (menos de 10 palabras) y hasta 7 segundos para mensajes largos. Formula: base 3s + 1s por cada 3 palabras. Los toasts con accion requerida nunca deben auto-cerrarse en menos de 5 segundos. WCAG 2.2 SC 2.2.1 exige que el temporizador se pause al hacer hover y sea configurable.

Material Design 3 Snackbar Guidelines · WCAG 2.2 SC 2.2.1 · Smashing Magazine (2025)
Preferir
Archivo eliminado · Deshacer 7s
Temporizador se pausa al hacer hover · se registra en centro de notificaciones
Evitar
Archivo eliminado · Deshacer 2s
1427

Limita los badges a 99+ y ocultalos completamente en cero

Los badges de notificacion deben mostrar el conteo exacto hasta 99; cualquier numero mayor se colapsa a "99+". Cuando el conteo llega a cero, el elemento badge debe eliminarse del DOM por completo, nunca renderizarse con "0" o un circulo vacio. Usa aria-label para exponer el conteo exacto a lectores de pantalla.

Apple HIG · Badging · Setproduct Blog · PatternFly Notification Badge
Preferir
7
Exacto
99+
Colapsado
Sin badge (cero)
Evitar
1,847
Numero enorme
0
Badge vacio
1428

Usa los 4 niveles de interrupcion de iOS; reserva Time-Sensitive y Critical con moderacion

iOS 15+ define cuatro niveles: Passive (silencioso al Centro de Notificaciones), Active (sonido, vibracion, activa pantalla), Time-Sensitive (interrumpe el modo Enfoque) y Critical (anula el modo silencio; requiere permiso de Apple). Usa Time-Sensitive solo para notificaciones que deben verse en menos de 60 minutos. Critical es exclusivo para emergencias o salud.

Apple HIG · Notification Interruption Levels · Apple Developer · UNNotificationInterruptionLevel
Preferir
PASSIVE

Oferta del mes: 20% de descuento

ACTIVE

Tu pedido ha sido confirmado

TIME-SENSITIVE

Tu repartidor llega en 5 minutos

Evitar
TiendaApp TIME-SENSITIVE

Oferta de temporada, 20% OFF en toda la tienda. No te lo pierdas!

1429

Posiciona toasts en la esquina superior derecha en desktop y ancho completo inferior en movil

En desktop (viewport mayor a 768px), ancla los toasts a la esquina superior derecha con margen minimo de 16px desde el borde, apilados con 8px de separacion. En movil, los toasts cubren el ancho completo de la pantalla y se anclan al borde inferior con 16px de margen inferior, con zona de 90px libre para dispositivos con notch. Nunca posiciones toasts en la esquina inferior derecha si los CTAs primarios estan en esa zona.

Material Design 3 Snackbar Guidelines · Vitaly Friedman · Toasts & Snackbars UX Guidelines (2024)
Preferir
Contenido del formulario...
Guardar
Guardado correctamente
Evitar
Contenido del formulario...
Guardar
Guardado correctamente
1430

Expone las preferencias de notificacion como una matriz tipo x canal

La pantalla de configuracion de notificaciones debe presentar categorias (filas) cruzadas con canales de entrega (columnas): in-app, push, email, SMS. Un toggle global unico sin control por categoria o canal conduce a opt-outs binarios de todo o nada. Limita la matriz a un maximo de 8 filas para evitar fatiga. Pre-selecciona Transaccional y deja sin seleccionar Marketing.

Suprsend · Notification Preference Center UX Patterns (2026) · Smashing Magazine (2025)
Preferir

Preferencias de notificacion

App Push Email
Seguridad
Menciones
Marketing
Evitar

Preferencias de notificacion

Activar notificaciones

Para desactivar solo los emails de marketing, el usuario debe desactivar todas las notificaciones.

1431

Usa role=status para toasts informativos y role=alert para criticos

Cada notificacion inyectada programaticamente debe tener el ARIA role correcto: role="status" (aria-live="polite") para mensajes de exito e informativos que esperan a que el lector termine de hablar; y role="alert" (aria-live="assertive") para errores y confirmaciones destructivas que interrumpen inmediatamente. El patron correcto es pre-montar dos contenedores vacios al cargar la pagina y poblarlos via JS cuando se dispara una notificacion.

WCAG 2.2 SC 4.1.3 · W3C ARIA Technique ARIA22 · Sara Soueidan · Accessible Notifications
Preferir
HTML inicial (siempre presentes)
<div role="status" aria-live="polite"></div>
<div role="alert" aria-live="assertive"></div>
Al disparar la notificacion
statusRegion.textContent = 'Guardado';
// Limpiar despues de 100ms
Evitar
Patron incorrecto
const div = document.createElement('div');
div.setAttribute('aria-live', 'assertive');
div.textContent = 'Error al guardar';
document.body.appendChild(div);
VoiceOver en Safari no anuncia, la region no existia al cargar la pagina
1432

Agrupa 3 o mas notificaciones del mismo origen en una fila consolidada tras 60 segundos

Cuando 3 o mas notificaciones llegan del mismo origen (mismo emisor, mismo tipo de evento, mismo hilo) dentro de una ventana de 60 segundos, colapsalas en una notificacion agrupada mostrando el conteo y un resumen. El grupo debe ser expandible al tocarlo para revelar los items individuales. Incluye siempre un control "Marcar todo como leido" en el encabezado del grupo.

Apple HIG · Grouped Notifications · Android Notification Design Guidelines · Setproduct Blog
Preferir
Notificaciones 3 sin leer
A
P

Ana, Pedro y 3 mas le dieron Me gusta a tu foto

hace 2 min · Marcar todo como leido
Carlos comento en tu publicacion
Nuevo mensaje de Maria
Evitar
Notificaciones 50 sin leer
Ana le dio Me gusta a tu foto
Pedro le dio Me gusta a tu foto
Luis le dio Me gusta a tu foto
Sofia le dio Me gusta a tu foto
...y 46 mas
1433

Solicita permiso de notificaciones push solo despues de la primera accion significativa del usuario

Nunca solicites permiso de notificaciones push en el primer lanzamiento de la app o en la primera vista de pagina. Usa un flujo de dos pasos: primero muestra una pantalla de pre-permiso con valor claro y especifico, luego dispara el dialogo del SO solo si el usuario confirma. Las apps que piden permiso en el lanzamiento tienen una tasa de aceptacion del 43.9%; los prompts contextuales logran hasta un 40% mas de consentimiento.

Pushwoosh · How to Increase Push Notification Opt-In Rates (2024) · Apple HIG · Requesting Permission
Preferir
Tu primera compra fue exitosa

Sigue tu pedido en tiempo real

Te notificaremos cuando tu pedido sea enviado, este en camino y llegue a tu puerta.

Activar notificaciones
Ahora no
Evitar

"MiApp" quiere enviarte notificaciones

Las notificaciones pueden incluir avisos, sonidos y marcas de icono.

No permitir
Permitir
1434

Implementa No Molestar con una ventana de silencio minima de 8 horas, configurable por dia

Todo producto que envie notificaciones push o in-app debe ofrecer un horario de No Molestar (DND) con granularidad por dia y una ventana minima configurable de 8 horas. El valor por defecto debe ser 10 pm - 8 am en la zona horaria del dispositivo. Las notificaciones en cola durante DND deben entregarse como un resumen agrupado al terminar la ventana, no como una rafaga de alertas individuales.

Smashing Magazine · Design Guidelines For Better Notifications UX (2025) · Slack DND UX Pattern
Preferir

Horas de silencio

Desde
10:00 pm
Hasta
8:00 am
L
M
M
J
V
S
D
Al despertar recibiras: "4 notificaciones mientras dormias"
Evitar

Silenciar notificaciones

Silenciar todo

Para tener paz nocturna, el usuario debe acordarse de activar y desactivar este toggle cada noche manualmente.

1435

Muestra un estado vacio persistente con copy ilustrativo cuando el centro de notificaciones esta limpio

Cuando todas las notificaciones han sido leidas o eliminadas, el panel del centro de notificaciones debe mostrar un estado vacio no en blanco: un icono o ilustracion, un titular (ej. "Al dia con todo") y una sublinea de una oracion explicando que aparecera aqui. El area del estado vacio debe tener minimo 200px de altura para ser visualmente reconocible como estado intencional.

Carbon Design System · Notification Pattern · PatternFly Notification Drawer · Nielsen Norman Group · Empty States
Preferir
Notificaciones

Al dia con todo

La nueva actividad en tus proyectos aparecera aqui

Evitar
Notificaciones
1436

Limita los canales no criticos a un maximo de 3 notificaciones push por usuario por dia

Aplica un tope de frecuencia de maximo 3 notificaciones push por usuario en una ventana de 24 horas para tipos no transaccionales (marketing, re-engagement, consejos). Las notificaciones transaccionales (actualizaciones de pedido, alertas de seguridad, mensajes directos) estan exentas de este tope. Si multiples notificaciones no transaccionales estan en cola y solo queda un slot, envia la mas reciente o la de mayor tasa de apertura predicha.

Courier.com · Notification Fatigue Is Real (2026) · MoLoud · 50+ Push Notification Statistics (2025)
Preferir
Oferta del dia, enviada
Nueva funcion, enviada
Recordatorio de perfil, enviado
Puntos por expirar, en cola para manana
Tope de 3/dia aplicado en la capa de infraestructura
Evitar
9:00 am Equipo Growth: Oferta del dia
11:30 am Equipo Producto: Nueva funcion
2:00 pm Equipo CRM: Recuerda completar perfil
5:00 pm Equipo Fidelidad: Tus puntos expiran
1437

Ofrece Deshacer dentro del toast para todas las acciones destructivas de un solo paso, con 5 segundos de retraso

Para cualquier accion de un solo paso que sea destructiva o dificil de revertir (eliminar, archivar, desuscribirse, abandonar grupo), ejecuta la accion despues de un retraso de 5 segundos y muestra un toast con el boton "Deshacer" durante ese tiempo. La accion NO debe ejecutarse de inmediato al hacer clic. El boton "Deshacer" debe ser el unico elemento interactivo en el toast. Si la accion no puede retrasarse en el servidor, usa un dialogo de confirmacion en su lugar.

Material Design 3 Snackbar Guidelines · UX Movement · Best Practices for Accessible Toasts · Gmail Undo Send
Preferir
Pendiente de eliminacion...
Mensaje eliminado
5 segundos de ventana de recuperacion
Evitar
Mensaje importante de la reunion
Mensaje eliminado