Así como en la vida, asumir siempre que todo estará bien puede no ser lo más saludable, sin importar lo que digan los carteles con gatitos.
Un concepto que se ha puesto de moda desde hace un par de años es la interfaz de usuario optimista. Se trata de una técnica de diseño que mejora la experiencia del usuario al mostrar cambios inmediatos en la interfaz, antes de recibir la confirmación del servidor.
La frase inicial hace alusión a que en un mundo donde todo va rápido, queremos dar una sensación de rapidez y fluidez a nuestros usuarios. Pero a veces, eso puede traernos problemas.
Uno de los riesgos de usar esta técnica es provocar una condición de carrera, que se da cuando dos o más procesos acceden a un mismo recurso al mismo tiempo.
¿Cómo podría ocurrir algo así? Imagina una aplicación para pedir pizza a domicilio, que se conecta a una API. Ésta te permite guardar tus preferencias de ingredientes, pero hoy te apetece cambiar el queso por el jamón; así que guardas los cambios y haces el pedido, y te aparece el mensaje de que en 10 minutos tendrás tu pizza en casa.
Lo que pasa es que la API recibió al mismo tiempo el cambio en las preferencias y el pedido. Y el pedido se hizo con las preferencias anteriores, antes de que se actualizaran. ¡Imagina tu cara al ver tu pizza con queso!
Aunque es posible que esto se deba a una mala arquitectura, este tipo de cambios suelen ser más difíciles y costosos de hacer. Una solución más sencilla habría sido esperar a que se confirmara el cambio en las preferencias antes de hacer el pedido.
Una Interfaz de Usuario Optimista puede mejorar la experiencia al mostrar cambios inmediatos. Sin embargo, es importante tener en cuenta los riesgos y tomar medidas para evitar problemas. Al equilibrar velocidad y precisión, podemos ofrecer una experiencia óptima.
Top comments (0)