Cómo permitir que los usuarios elijan cuándo y con qué frecuencia les contacta una IA
Las personas deberían poder decidir si una IA se pone en contacto con ellas, qué tipos de mensajes puede enviar y cuándo pueden llegar esos mensajes. Un diseño útil comienza con una suscripción voluntaria (opt-in) explícita, permite a los usuarios definir un horario y una frecuencia, separa los tipos de mensajes genuinamente diferentes y mantiene los controles de pausa y desactivación fáciles de encontrar. También explica la zona horaria seleccionada y lo que puede afectar a la entrega. Estos controles constituyen una promesa clara; los sistemas de programación y entrega del producto deben ser capaces de cumplirla.
Empiece con una suscripción explícita y opcional
Solicite permiso cuando la persona pueda comprender qué está aceptando. Describa los tipos de contacto con un lenguaje sencillo: por ejemplo, un recordatorio que la persona solicitó o una actualización periódica. Indique a dónde llegará y con qué frecuencia podría enviarse. Evite que una solicitud de permisos del sistema operativo sin explicaciones sea la única aclaración; las personas necesitan saber qué quiere enviar la aplicación antes de tomar una decisión.
El U.S. Web Design System aconseja recopilar preferencias de contacto solo para los canales que un servicio realmente puede admitir, y recomienda explicar las condiciones y el cronograma previsto para el contacto siempre que sea posible. Aplicado a un producto de IA, esto significa mostrar solo opciones de entrega reales e indicar para qué sirve cada una. No condicione el uso de funciones no relacionadas a una preferencia de notificación. USWDS: Contact preferences
Trate el consentimiento como una opción que el usuario puede revisar en cualquier momento. Las directrices de notificaciones de Apple recomiendan un sistema claro de activación o desactivación para los tipos de notificación y un método dentro de la aplicación para gestionar la configuración de notificaciones. Un producto puede seguir ese principio con una página de configuración que resuma las elecciones actuales, en lugar de obligar a alguien a buscar en configuraciones no relacionadas del dispositivo para comprender la propia programación de la aplicación. Apple: Managing notifications
Haga que el horario sea concreto
Permita que las personas elijan un intervalo que se adapte a su rutina, como días laborables entre las 18:00 y las 20:00, o una hora recurrente en días seleccionados. Muestre los días y las horas de inicio y fin juntos. Si el control define un «intervalo de contacto», aclare si un mensaje puede llegar en cualquier momento dentro de ese margen o a una hora específica. Si no hay ningún mensaje aplicable en un día determinado, indique si el sistema omite ese día o pospone el mensaje para más adelante.
Un diseño práctico puede ofrecer algunos ajustes preestablecidos fáciles de entender, como «una vez a la semana» o «días laborables», permitiendo al mismo tiempo una programación personalizada si el producto lo admite. Un ajuste preestablecido debe traducirse en un horario visible, no en una etiqueta ambigua. Por ejemplo, «semanal» debería mostrar el día y la hora elegidos, y «hasta tres veces por semana» debería indicar si tres es un límite máximo o un objetivo. Esta es una recomendación de diseño: la documentación de la plataforma admite entregas programadas, pero el equipo del producto debe decidir y describir sus propias reglas de envío.
Sea preciso con las zonas horarias. Identifique el horario con una ubicación con nombre o con la zona horaria local actual del dispositivo, e informe a los usuarios si el horario se ajusta cuando viajan o si permanece anclado a la zona original. Una simple diferencia respecto a UTC puede resultar engañosa cuando cambian las reglas del horario de verano o las normativas gubernamentales sobre husos horarios. La base de datos de zonas horarias de la IANA registra las reglas para diversas ubicaciones y se actualiza para reflejar los cambios realizados por organismos políticos, incluidos los ajustes en las diferencias horarias y el horario de verano. IANA: Time Zone Database
Una buena confirmación podría decir: «Martes a las 19:00 en su hora local actual. Este horario se ajusta a la zona horaria de su dispositivo». Esa redacción solo es exacta si la implementación realmente rastrea la zona actual del usuario. Si el horario permanece fijo en una zona seleccionada, indique esa ubicación en su lugar. Cuando una persona viaje o la zona del dispositivo cambie, muestre el horario efectivo y ofrezca una vía para revisarlo.
Separe los tipos de mensaje y los canales
Es posible que las personas deseen un tipo de contacto y no otro. Mantenga los recordatorios opcionales, las actualizaciones de productos y otras categorías distintas seleccionables por separado, en lugar de agruparlas en un único interruptor de «notificaciones de IA». No invente categorías que no tengan un comportamiento correspondiente en el producto, ni cree una categoría como pretexto para enviar mensajes que el usuario no seleccionó.
Esta separación también se alinea con los controles de las plataformas. Android requiere que las notificaciones se asignen a canales en las versiones modernas, y los usuarios pueden modificar el comportamiento de cada canal; las directrices de Android recomiendan canales que permitan a las personas personalizar las notificaciones que reciben. La aplicación puede nombrar los canales con términos reconocibles, como «Recordatorios programados», y describir qué incluye cada uno. Android Developers: Create and manage notification channels
Mantenga la lista de canales lo suficientemente breve como para que sea fácil de entender. Un canal debe representar una opción significativa que una persona podría querer elegir de forma independiente. La propia configuración del producto debe seguir explicando el contenido y el horario: los controles de canales del sistema operativo pueden alterar si una notificación aparece o cómo lo hace, pero no explican la política de envíos de la aplicación ni sustituyen un horario configurado dentro del producto.
Ponga los controles de pausa, reanudación y desactivación al alcance
Ofrezca una pausa temporal y un interruptor de desactivación permanente. Una pausa debe hacer explícita su duración —por ejemplo, hasta una fecha elegida o hasta que el usuario la reanude— y mostrar si los mensajes programados se omiten o se retienen. Un control de desactivación debe indicar a qué categorías o canales afecta y confirmar el cambio de estado de inmediato. Reanudar no debería restaurar silenciosamente un horario anterior sin mostrar qué sucederá a continuación.
Ponga estos controles a disposición desde la pantalla de configuración de notificaciones y, cuando sea práctico, desde una acción en la propia notificación o mediante un enlace directo a la configuración. Android admite acciones en las notificaciones y ofrece a los usuarios mecanismos a nivel de sistema para gestionar futuras notificaciones; sus controles varían según el dispositivo y la versión de Android. Por lo tanto, una vía dentro de la aplicación sigue siendo útil para mostrar el horario completo y modificar las preferencias a nivel de producto. Android Developers: Notifications
Los controles a nivel de dispositivo siguen siendo importantes. Un usuario puede desactivar las notificaciones de una aplicación o cambiar el comportamiento de los canales a nivel del sistema operativo, con independencia del propio horario de la aplicación. La interfaz no debe insinuar que un ajuste dentro de la aplicación anula esas opciones. Si las notificaciones del sistema están desactivadas, muestre un estado claro cuando el usuario visite la configuración y evite pedirle insistentemente y de forma reiterada que vuelva a activarlas.
Establezca un límite de frecuencia que el sistema pueda cumplir
Ofrezca a las personas una elección directa sobre la frecuencia: por ejemplo, un mensaje por día como máximo, un límite semanal o un número de días seleccionado por el usuario. Defina el período de cómputo y qué cuenta como un mensaje. Si varias categorías pueden enviar mensajes, aclare si el límite se aplica por categoría o en todo el producto. Un límite por categoría aún puede dar lugar a un volumen conjunto elevado, por lo que un diseño útil suele incluir también un tope general.
Un tope solo funciona si todas las rutas de salida lo respetan. Verifique los recordatorios programados, los reintentos, los mensajes retrasados y los mensajes iniciados por diferentes funciones con respecto al mismo estado de preferencias. Si un mensaje se retrasa, decida si caduca, si llega más tarde dentro del intervalo permitido o si se descarta; explique el comportamiento que sea relevante para el usuario. Evite enviar varios mensajes atrasados de golpe después de que un dispositivo se vuelva a conectar, a menos que el usuario haya elegido explícitamente ese comportamiento.
La entrega en la plataforma no es lo mismo que la decisión de envío de un producto. Firebase Cloud Messaging señala que los mensajes suelen entregarse de inmediato, pero un dispositivo puede no estar disponible o la entrega puede retrasarse; el servicio puede almacenar un mensaje e intentar entregarlo más tarde dentro de su período de vida útil configurado. Esto significa que un producto no debe prometer que cada notificación aparecerá en un minuto exacto. Puede prometer programar un envío dentro de un margen indicado, explicando al mismo tiempo que las condiciones del dispositivo y de la plataforma pueden afectar el momento en que aparece. Firebase: Set the lifespan of a message
Esta distinción también afecta a la frecuencia. Si una notificación se puso en cola y llega tarde, el sistema debe comprobar si el usuario ha pausado o desactivado esa categoría desde entonces, y si enviarla superaría el límite actual. Un diseño honesto cancela o suprime los mensajes en cola que hayan quedado obsoletos cuando la última decisión del usuario los invalida.
Una secuencia de decisiones simple para el diseño
Utilice esta secuencia para transformar la configuración en un compromiso comprensible para el usuario:
Nombre los tipos de mensajes que el producto realmente puede enviar y haga que cada categoría opcional sea comprensible.
Pida al usuario que acepte expresamente cada categoría y canal de entrega deseados. No preseleccione el contacto opcional.
Permita al usuario elegir los días, una hora o intervalo, y una frecuencia máxima. Indique si el límite es global o por categoría.
Muestre la zona horaria e indique si el horario sigue al usuario cuando cambia la zona horaria de su dispositivo.
Haga visibles los controles de pausa, reanudación y desactivación; a continuación, muestre el estado actual y la próxima hora válida de contacto.
Antes de la entrega, vuelva a verificar el horario, el límite máximo, el estado de pausa y la preferencia de categoría. Asuma que la entrega en el dispositivo puede retrasarse y describa el compromiso del producto en términos que realmente pueda controlar.
Un resumen de configuración compacto puede facilitar la verificación de lo acordado: «Recordatorios programados: activados. Martes y jueves, 19:00–20:00 hora local. Máximo: dos por semana en todas las categorías. Pause o desactive en cualquier momento». Las opciones exactas deben reflejar capacidades reales; si un producto no puede aplicar el límite mostrado o ajustarse a la hora local con fiabilidad, debe modificar la implementación o acotar lo que promete antes de presentar ese control.
