Mi truco de animación favorito: suavizado exponencial (2023)
Alcance del artículo / técnica
- A muchos lectores les gusta la explicación clara y las demos interactivas de suavizado exponencial y easing.
- Varios señalan que es una idea bien conocida desde la época de los juegos/Flash (easing, funciones de resorte, PID/control proporcional), pero aun así vale la pena verla explicada con claridad.
- Algunos enfatizan el beneficio clave: una forma sin estado de suavizar el movimiento que funciona independientemente de la tasa de fotogramas o de objetivos cambiantes (p. ej., movimiento de cámara, desplazamiento inercial), no solo otra curva de easing de 0→1.
Valor de la animación de UI
- Quienes la apoyan argumentan que las animaciones:
- Ayudan a los usuarios a seguir los cambios de estado y a entender “a dónde fueron las cosas” (p. ej., desplazamiento de mapas, minimización de ventanas).
- Proporcionan retroalimentación de que la entrada fue registrada, especialmente en pantallas táctiles donde los dedos ocultan los controles.
- Hacen que las interfaces se sientan “pulidas” y emocionalmente agradables, lo cual importa para muchos usuarios.
- Quienes la critican argumentan:
- Las animaciones a menudo añaden latencia, se sienten lentas y son innecesarias para controles binarios simples.
- Las interfaces instantáneas y “ágiles” son mejores para la productividad y el uso frecuente.
- Muchas implementaciones del mundo real son lentas, entrecortadas o bloquean la entrada, por lo que la técnica suele aplicarse mal.
Interruptores vs casillas de verificación y semántica de los controles
- Debate intenso sobre si los interruptores animados son una buena metáfora:
- Algunos dicen que los toggles son más claros para estados inmediatos del sistema (luces encendidas/apagadas, modo A/B), mientras que las casillas de verificación pertenecen a formularios.
- Otros consideran ambiguos los interruptores: es difícil ver qué lado está “encendido”, a menudo dependen solo del color y pueden confundirse con deslizadores arrastrables.
- Varios argumentan que las casillas de verificación/radios clásicas con etiquetas claras son más accesibles, más fáciles de descubrir y más robustas culturalmente.
Accesibilidad, preferencias y “reducir movimiento”
- Varios comentaristas desactivan las animaciones en todo el sistema y reportan que las UIs se sienten más rápidas y tranquilas.
- Otros señalan que el sistema operativo y los navegadores admiten
prefers-reduced-motion; las UIs web deberían respetarlo, pero a menudo no lo hacen. - Se critica la indicación de estado solo por color, especialmente para personas daltónicas y usuarios de pantallas e‑ink; se prefieren la forma, las etiquetas y el contraste.
Implementación y rendimiento
- Algunos ven las demos pesadas en JS y basadas en canvas como sobredimensionadas y señalan serios problemas de rendimiento/congelación en Firefox y navegadores móviles.
- Otros subrayan que en producción normalmente usarías transiciones CSS o funciones de easing, o funciones de resorte ajustadas con cuidado, no muchos bucles
requestAnimationFrame. - Hay discusión sobre el comportamiento asintótico del suavizado exponencial y alternativas (enfoques cuadráticos / basados en sqrt, términos de fricción, control PID).