Cómo diseñar un sistema de notificaciones que no moleste
- notificaciones
- ux
- alertas
- diseño de sistemas
- software
El ruido en los sistemas de notificaciones
Todos hemos sufrido un sistema de avisos mal diseñado: correos innecesarios, pings de Slack a deshoras o alertas críticas que se pierden entre el ruido. Un sistema de notificaciones debe informar, no abrumar. Su objetivo es asegurar que la información correcta llegue a la persona adecuada, en el momento justo y por el canal más eficiente.
Cuando un cliente me llega con este problema, lo primero que hago es un ejercicio de empatía: ¿qué tipo de información necesita cada rol? ¿Con qué frecuencia?
Define la criticidad y el canal para las notificaciones
No todas las alertas tienen la misma importancia. Una nueva suscripción a la newsletter no es lo mismo que un servidor caído. Mi regla es establecer niveles de criticidad claros para cada tipo de aviso.
Esto nos permite elegir el canal adecuado para cada alerta:
- Información general o promocional: Email o notificaciones in-app. Son asíncronas y no interrumpen.
- Eventos de negocio importantes pero no urgentes: Slack o Telegram para el equipo, quizás un correo para el cliente.
- Alertas críticas del sistema: SMS, llamada telefónica o un canal de emergencia en Slack que active una alerta sonora. Requieren atención inmediata.
La diferencia entre una alerta útil y una molesta reside en si interrumpe o no sin una justificación clara.
El contexto en las notificaciones es tan importante como el mensaje
Un aviso sin contexto es como un mapa sin leyenda. “Error en el sistema” no le dice nada a nadie. “Error al procesar pago del cliente X en el módulo Y, causado por Z” sí.
Asegúrate de que cada alerta incluya la información mínima necesaria para que el receptor entienda qué ha pasado y, si es posible, qué acción debe tomar. Los enlaces directos a la fuente del problema —un log, un registro de usuario— son siempre un acierto.
Implementa un sistema de rate limiting
Una avalancha de avisos es peor que ninguna. Si un servicio falla y genera cientos de errores por segundo, no quieres cientos de pings en tu Slack. Quieres un único aviso que diga “El servicio X está caído y ha generado N errores en los últimos Y minutos”.
Implementar rate limiting es necesario para evitar la “fatiga de alerta”. Esto significa agrupar notificaciones similares, establecer umbrales y periodos de silencio. Es una práctica estándar cuando diseñas una API, y aquí aplica igual. Si necesitas una guía práctica, tengo un artículo sobre rate limiting en tu API: implementación práctica.
Cómo gestionar la configuración por entorno
Las alertas en desarrollo no deben ir a los canales de producción. Esto parece obvio, pero es un error común. Los entornos de desarrollo y staging deben tener sus propios destinos de notificación, idealmente canales privados o sistemas de log que no molesten a nadie.
Utiliza variables de entorno o un sistema de configuración robusto para diferenciar los destinos de los avisos. Esto evita que un desarrollador reciba un correo de “nueva suscripción” cada vez que prueba el formulario en local. La gestión de la configuración es un pilar en el desarrollo, y tengo un artículo específico sobre cómo gestionar configuración por entorno sin duplicar código.
Beneficios y complejidades de un sistema de notificaciones
Lo que ganas:
- Menos ruido: Los equipos no se sienten abrumados por alertas irrelevantes.
- Mayor atención: Cuando suena una alerta, se sabe que es importante.
- Mejor respuesta: La información contextualizada permite una acción más rápida y precisa.
- Confianza: Los usuarios confían en que el sistema les avisará solo cuando sea necesario.
Lo que complicas:
- Diseño inicial: Requiere una planificación detallada de roles, eventos y criticidad.
- Mantenimiento: Ajustar umbrales y canales a medida que el negocio evoluciona.
- Herramientas: Necesitas una capa de abstracción o una herramienta dedicada para gestionar el envío multicanal.
Si estás montando un sistema y necesitas asegurarte de que tus servidores estén monitorizados correctamente, te puede interesar mi artículo sobre monitorización básica de un VPS: qué vigilar y cómo alertar. Y si te planteas automatizar el envío de estas notificaciones, quizás te sirva entender cómo uso n8n para automatizar tareas como freelance.
Técnico freelance especializado en desarrollo a medida, automatizaciones con IA y gestión técnica para negocios en España. Más sobre mí →
¿Necesitas desarrollo a medida?
Desarrollo funcionalidades específicas, integraciones entre sistemas y herramientas internas. Si se puede programar, probablemente puedo hacerlo.