Since the introduction of DHTML a very long time ago, developers and designers have been fascinated and trying to include animations on the page to enhance the UX or impress the users. Then, we got jQuery, MooTools, and Scriptaculous which made everything so easy for anyone to add animations to their applications. But I think that in some instances, we have gone too far.
It is understood that animations can enhance the user experience and how users feel when using the app. However, the core goal for a user is accomplishing the task with ease. In some cases, users just want to get the job done so they can continue with their lives. Engagement is not the main requirement for them as they have other duties. The “WOW” effect wears off very quickly if the animation is slapping you in the face each time you perform the task.
Animations are meant to attract the eye and let the user knows the state of the application. For example, when updating content with Ajax, the users should know what areas of the page changed. The Yellow Fade technique was popular when Ajax was introduced because it served two purposes. One was to teach users that a page has changed content and attract the eyes to that section of the page because they were not used to seeing values being changed “automatically” without refreshing the entire page. Also, it was to familiarize users with a new paradigm that was Ajax. Users didn’t have to refresh the page to see the changes which changed how we used websites. This is a dated technique, but it was very useful back then and it is a great example of using animation to enhance the user experience.
I love how the micro-interaction of pressing the like button on YouTube works currently. It shows an animation that is modest in terms of UI because it happens very fast to let you know that the button worked when you pressed it. But I had encountered apps with animations taking 3 seconds while blocking the UI for any other interactions. If I use an application daily and waste 15 seconds a day on animations, I lose an hour and a half of my life in just one year. I am not talking about progress indicators or skeleton screens needed for applications that use external data and improve perceived performance. I am referring to the animations that move items across the screen with no real purpose. So, please consider how the animations work and how the users feel about the animations after a long period because instead of enhancing, they might be annoying. I know that this is a very extreme example, but if I have to work with software for hours a day, I could quickly get to 15 seconds of animations.
I would suggest testing a lot with users to see if the animations work and keeping the animation only where it is needed. Also, it would be a good idea to follow some operating systems that allow users to disable or decrease the number of animations in the UI. Users should be in control of the interface and giving them the option to remove or change the speed of the animations might be ideal.