Mascotas virtuales para apps de hábitos: rachas sin culpa
Por el equipo de Charmotion · Actualizado el

Una mascota de marca para una app de hábitos debe premiar cada registro con una reacción breve, celebrar los hitos de racha con una más grande y recibir un día perdido con un estado tranquilo y neutral, no con tristeza. Las investigaciones sobre rachas rotas muestran que la gente suele abandonar tras una interrupción, así que ese día la tarea de la mascota es facilitar el reinicio, no lamentar la racha.
Puntos clave
- Asigna a cada evento de hábito un estado: registro a yes, día completado a success, hito a success y luego wave, día perdido a idle o wave.
- Un artículo de 2023 del Journal of Consumer Research encontró que las rachas intactas aumentan el compromiso y que las rotas suelen ponerle fin, así que diseña el reinicio, no la culpa.
- Los widgets de iOS solo se animan entre actualizaciones de la línea de tiempo, durante dos segundos como máximo, así que planifica una pose fija por estado de ánimo.
- Los adjuntos de notificaciones de iOS aceptan GIF animados de hasta 10 MB; el texto debe funcionar igual sin la imagen.
- Un set de personaje te da estados de ánimo, no crecimiento: la mascota no evolucionará, no cambiará de ropa ni ganará poses nuevas.
¿Ya tienes un personaje o logo? Mira tu personaje en pantallas reales de una app: pantallas de splash, onboarding, carga y estado vacío. Es gratis, funciona en tu navegador y no sube nada.
¿Qué estados necesita la mascota de una app de hábitos?
Las apps de hábitos, concentración y estudio con una mascota acompañante funcionan con un pequeño conjunto de eventos que se repiten. Asigna cada uno a un solo estado antes de diseñar nada, para que la mascota reaccione siempre igual y los usuarios aprendan qué significa.
| Evento | Estado | Loop o reacción puntual | Notas |
|---|---|---|---|
| Primera apertura del día | wave (2), luego idle (0) | Loop | Saluda una vez y luego se calma |
| Hábito marcado | yes | Reacción puntual | Pequeña y rápida; se dispara muchas veces al día |
| Todos los hábitos de hoy completados | success, luego happy (1) | Reacción puntual, luego loop | La recompensa diaria |
| Hito de racha | success, luego wave (2) | Reacción puntual, luego loop | Que sea poco frecuente para que siga siendo especial |
| Temporizador de concentración o estudio en marcha | idle (0) o una pose fija | Loop | El protagonista es el temporizador, no la mascota |
| Temporizador terminado | success | Reacción puntual | Acompáñalo con la duración de la sesión en texto |
| Escribiendo una nota de reflexión | listening (6) | Loop | Mientras el teclado está abierto |
| Sincronizando o importando | loading (5) | Loop | Solo mientras realmente se ejecuta |
| Recordatorio pendiente (en la app) | attention (9) | Loop | Junto al nombre del hábito |
| No lo cumplió ayer | idle (0) o wave (2) | Loop | Texto para volver a empezar, sin culpa |
| Hora de dormir o día de descanso | sleeping (8) | Loop | El descanso es parte del plan |

La escala importa más que cualquier animación individual. Un gesto de aprobación por cada check-in, una recompensa por un día completo y una celebración para los hitos hacen que los grandes momentos sigan teniendo sentido en la sexta semana. Si cada check-in recibe el trato de un hito, nada se siente merecido. La guía del coach de fitness usa la misma escala de tres niveles para los entrenamientos.
¿Qué debería hacer la mascota cuando el usuario se salta un día?
Mantenerse amable y hacer que el siguiente paso sea pequeño. El día perdido es el momento más frágil de cualquier producto de hábitos, y hay investigación que explica por qué.
En un artículo de 2023 publicado en el Journal of Consumer Research, Jackie Silverman y Alixandra Barasch comprobaron, a lo largo de siete estudios, que las rachas intactas mostradas en los registros de comportamiento aumentaban la participación posterior de las personas, y que las rachas rotas la reducían. El efecto dependía de cómo el registro mostraba el comportamiento pasado, no del comportamiento en sí, y era más débil cuando las personas podían reparar la racha (Silverman y Barasch). En la nota publicada por la universidad, las investigadoras dicen que los mensajes que recuerdan el tropiezo "normalmente no funcionan" y sugieren ofrecer una meta nueva en su lugar (CU Boulder).
Eso se traduce en estas reglas para la mascota de marca:
- Nada de cara triste ante el tropiezo. Sad (mood 4) junto a "Perdiste tu racha de 40 días" convierte el fallo del usuario en la tristeza de la mascota. Usa idle o wave.
- Nada de textos que generen culpa. "Tu mascota te extrañó" está a un paso del confirmshaming, que usa la culpa para empujar a las personas a actuar (Deceptive Patterns).
- Ofrece una meta nueva y más pequeña. "¿Empiezas una nueva racha de 3 días?" con un wave funciona mejor que un resumen de lo que se perdió.
- Ten cuidado con las reparaciones de pago. Barasch dice que una insignia de racha que los usuarios pagan por restaurar es "totalmente intrascendente", porque ya no refleja un comportamiento real. Las reparaciones gratis y limitadas son una decisión de diseño; venderlas es otra muy distinta.
- No castigues a la mascota. Una mascota que se enferma o se pone triste cuando el usuario falla es una mecánica de culpa con una cara tierna.
¿Cómo debería usar la mascota un temporizador de concentración o estudio?
Durante una sesión de concentración, la mascota debería apartarse. Una app de concentración vende enfoque, y un personaje que no deja de moverse en el borde del campo visual juega en contra.
- Antes de la sesión: attention (9) sobre el botón de inicio, o un wave cuando el usuario abre el temporizador.
- Durante la sesión: una pose fija, o idle con poca presencia. La guía de movimiento de Apple advierte que la animación innecesaria "puede distraer a las personas" y desaconseja añadir movimiento a interacciones que ocurren con frecuencia (Apple HIG).
- Descansos: sleeping (8) se entiende de forma natural como "ahora descansa".
- Sesión completada: una reacción success y luego idle.
Las reglas de accesibilidad apuntan en la misma dirección. Según el criterio 2.2.2 de las WCAG, el contenido en movimiento que empieza automáticamente, dura más de cinco segundos y está junto a otro contenido necesita una forma de pausarlo, detenerlo u ocultarlo (W3C). Una mascota en loop junto a un temporizador de 25 minutos cumple esas condiciones, así que dale un interruptor para ocultarla y una pose fija cuando el movimiento reducido esté activado. Consulta Reduce Motion en SwiftUI para la parte de iOS.
¿Qué puede mostrar una mascota en widgets y notificaciones?
Sobre todo imágenes fijas, con una excepción en las notificaciones de iOS.
- Widgets de iOS. Apple documenta la animación de widgets como transiciones cuando cambian los datos de la línea de tiempo, con "una duración máxima de dos segundos", y sin ninguna animación en Always On (Apple). Un GIF o un video en loop no es una opción. Incluye una imagen fija por estado de ánimo y cambia la imagen cuando cambien la racha o el progreso. La guía de límites de widgets y Live Activities lo explica a fondo.
- Widgets de Android. Los layouts de los widgets se construyen con
RemoteViews, que "no admite todos los tipos de layout o de widget de vista" ni vistas personalizadas (Android Developers). Aquí también planifica una imagen fija. - Notificaciones de iOS. Un adjunto de notificación puede ser un JPEG, GIF o PNG de hasta 10 MB, y Apple indica que una imagen "puede contener una imagen estática o una secuencia de imágenes animada"; los adjuntos de video admiten hasta 50 MB (Apple). En las notificaciones push remotas, una notification service extension descarga el archivo antes de mostrarlo.
- Notificaciones de Android.
BigPictureStyleestá documentado en torno a un bitmap, así que trata la imagen grande como un fotograma fijo.

Para crear las imágenes fijas, extrae un fotograma de cada clip. Esto se ejecutó con ffmpeg 7.1.1 sobre un MP4 de demostración:
ffmpeg -ss 0.5 -i happy.mp4 -frames:v 1 widget-happy.png
El fotograma del MP4 conserva el fondo sólido del clip. Para obtener un PNG transparente, lee el WebM con fondo transparente usando el decodificador VP9 que conserva el canal alfa: ffmpeg -c:v libvpx-vp9 -ss 0.5 -i happy.webm -frames:v 1 widget-happy.png.
¿Qué archivo va en cada superficie?
| Superficie | Archivo | Finalidad |
|---|---|---|
| Pantalla de la mascota y lista de check-ins | Rive .riv (número de mood más triggers) o un MP4 por estado | Rive cambia de estado en vivo; el video funciona si solo alternas unos pocos clips |
| Widgets de inicio y de pantalla bloqueada | Imágenes PNG fijas extraídas de los clips | Los widgets no reproducen video ni GIF en loop |
| Notificaciones push de iOS | Adjunto GIF o MP4 | Los adjuntos pueden animarse en la vista expandida |
| Email de resumen semanal | GIF con un primer fotograma que tenga sentido | Algunas versiones de Outlook solo muestran el primer fotograma |
| Capturas de App Store y redes sociales | Video 9:16, MP4 cuadrado | Reels, Shorts y TikTok son verticales |
| Movimiento reducido activado | Una imagen fija por estado | Mismo significado, sin movimiento |
Mantén el número de la racha, el nombre del hábito y la siguiente acción en texto en todas las superficies. La mascota marca el tono; las palabras transmiten los datos, para los lectores de pantalla y para quien haya ocultado la mascota.
¿Qué no puede hacer un set de animaciones de un personaje?
Apps de mascotas como Finch construyen toda una progresión alrededor del personaje: Internet Matters describe un pájaro que crece, consigue accesorios y explora lugares nuevos a medida que el usuario gana puntos (Internet Matters). Eso requiere un flujo de trabajo de arte dedicado, con un dibujo nuevo para cada etapa, atuendo y lugar.
Un set de Charmotion es algo distinto y más acotado. Subes una imagen de tu mascota y obtienes 17 animaciones de ese mismo personaje: diez loops (idle, happy, wave, thinking, sad, loading, listening, talking, sleeping y attention), seis reacciones puntuales (success, error, yes, no, enter y exit) y una intro de inicio. Cubre todos los eventos de la tabla anterior. No incluye:
- etapas de crecimiento ni evolución (de bebé a adulto),
- atuendos, sombreros ni accesorios,
- poses nuevas como comer, regar una planta o sostener un libro,
- ciclos de caminata ni desplazamientos entre habitaciones,
- sincronización labial ni una barra de progreso dibujada en el personaje.
Cada set tiene los MP4, el video 9:16 y los GIF, suficientes para widgets, notificaciones y redes sociales, y el .riv para estados en vivo dentro de la app (planes de pago, desde $20/mes). Si el bucle principal de tu app consiste en coleccionar atuendos o hacer evolucionar a la mascota, presupuesta ilustraciones a medida; si consiste en registros diarios y rachas, un set es suficiente.
Preguntas frecuentes
¿La mascota de una app de hábitos debería verse triste cuando se rompe una racha?
No. Una mascota triste junto a una racha perdida convierte el fallo del usuario en culpa, justo cuando es más probable que abandone. Silverman y Barasch comprobaron que las rachas rotas suelen reducir la participación, y las investigadoras recomiendan ofrecer una meta nueva en su lugar. Usa idle o wave con una pequeña invitación a volver a empezar.
¿Un widget de iOS puede reproducir la animación de mi mascota de marca?
No en loop. Apple documenta la animación de widgets como transiciones entre actualizaciones de la línea de tiempo, con un máximo de dos segundos, y ninguna en Always On. Exporta una imagen fija por estado de ánimo y cambia las imágenes cuando cambien los datos. Las notificaciones son distintas: un adjunto de iOS puede ser un GIF animado de hasta 10 MB.
¿Reparar las rachas ayuda a que los usuarios vuelvan?
Pueden suavizar la caída. Silverman y Barasch descubrieron que el efecto negativo de una racha rota era más débil cuando las personas podían repararla. Barasch también advierte que una racha que los usuarios pagan por restaurar ya no refleja un comportamiento real, así que mantén las reparaciones limitadas y honestas en lugar de convertirlas en una venta adicional de pago.
Respuestas rápidas de esta guía
Fuentes
- On or Off Track: How (Broken) Streaks Affect Consumer Decisions (Silverman and Barasch, 2023), Journal of Consumer Research
- Research on streaks, marketing and tech (Barasch), University of Colorado Boulder, Leeds School of Business
- Confirmshaming, Deceptive Patterns
- Animating data updates in widgets and Live Activities, Apple Developer Documentation
- Create a simple widget, Android Developers
- UNNotificationAttachment, Apple Developer Documentation
- Motion, Apple Human Interface Guidelines
- Understanding SC 2.2.2: Pause, Stop, Hide, W3C WAI
- Finch: a parent's guide to the self-care pet app, Internet Matters
Guías relacionadas
- Mascotas entrenadoras para fitness: rachas, celebraciones y hápticos
- Mascotas para apps de salud mental: estados tranquilos y reglas para crisis
- Animación de mascota estilo Duolingo: estados, reacciones y esfuerzo
- Límites de animación en Live Activities, Dynamic Island y widgets
- Estados de animación de mascota de marca: Loading, Success, Error
- Reducir movimiento en SwiftUI y UIKit