The rule is that you should never have to wait for a UI animation - That said, UI animations done correctly, which are subtle and extremely short, do enhance perception of UI controls state and transitions. But I can't blame people for the broad hate towards animation on the web, so much of it is done poorly in a way that detracts from the overall experience.
Whenever somebody tells me they want a new phone because their old one is slow, I recommend disabling all animations and usually they just keep their phone because now it feels like it's new again.
Sadly we live in a world where developer time is a cost, and the cost of respecting user preferences is way down the list of things to spend cash/time on ... unless, of course, an A/B test showing that common courtesy leads to better conversions gets deployed and runs to significance.
Saying that, I don't believe we should give up on the fight to better respect our users' preferences. For my part, I've designed my JS library in a way to make it as easy as possible for developers to build interactive 2d canvas-based graphics that are as respective of user choices as possible[1][2][3]. If nothing else, it demonstrates to other developers that such things are not impossible to achieve.
[1] - https://codepen.io/kaliedarik/project/full/AMVKPx - Accessible stacked bar, and line, charts
[2] - https://codepen.io/kaliedarik/project/full/AzWnNa - Header text colorise and animate effects (respects prefers-color-scheme, prefers-reduced-motion, etc)
[3] - https://scrawl-v8.rikweb.org.uk/learn/eleventh-lesson - tutorial on how to make the 2d canvas more accessible/respective of user choices
This is why, as part of a baseline of proper software engineering, it’s so important to get into a configurability/feature flag mindset, right from the start.
If every feature is treated as something toggleable - if every color and padding value is a variable, and every visible string of text is wrapped in a function call that just returns the string, right from the start, then things like turning off animation, making colors more contrasting, or translating on-screen text to another language becomes magnitudes simpler when you do need it.
This is where I have a problem with the pervasiveness of the YAGNI mindset. So many of these things fall right onto the YAGNI sword.
Sure, you can get carried away with premature optimization, for example, but there are so many simple habits developers can and should develop that, once established, will add virtually no time or complexity to what you’re building but will save time and complexity in spades later on.
And if you truly “ain’t gonna need it”, then you still benefit from a more disciplined code structure.
If you can’t find your glasses, being able to magnify the screen comes in handy.
Outside in the sun? Features for the sight-impaired like increasing the contrast helps.
Framing it as an accessibility issue makes it harder to remove.
> “look at my mad skills”
I’m torn about this: there are enough unneeded and horrible animations that I completely understand this point of view of wanted to get rid of all of them.
I also see that as throwing the baby with the bath water. There’s also fundamentally useful and informative animations to tell you something changed, what you’re supposed to do with an element or even what type of content you’re looking at.
As an unintentional experiment, when I got my new phone a few weeks ago I checked “disable animations” first and foremost, and started using the device normally. And everytime I was doing a specific action the screen froze with a round arrow. It took me 5 min to understand that page and app transitions where, well, “animations”, and getting rid of them made for a broken experience.
Same for popups and dialogs. Did it come from the top of the screen or from somewhere else in the app ? If you saw the animation you’d understand it immediately, before even parsing the design of the popup or the content.
I think we’re far away from the time where animations where random animated gifs with no meaning, and platforms are mature enough to use them in more advanced and useful ways most of the time.
I don't get it. That sounds like the OS is fundamentally broken that it assumes a hard coded timer is required before it does the next step.
In iOS I think there is just no way to disable all the animations, while android gives you that switch that is quite literal.
I, too, was a bit confused at the frozen arrow in the beginning, until I realized it was just the loading indicator used when animations are disabled (they could probably improve that one). It is the one place where some sort of movement might still be appropriate.
Anyway, I recently disabled this feature due to it breaking the scroll behaviour in Play Store. Ironically the only app (I've noticed) that uses animation for scrolling in a way that makes this accessibility feature break it, making it a very jarring experience.
Instead, I went into developer tools and scaled all animations down to 0.5x. This at least makes all the annoying transitions bearable. I think this setting should also be exposed under accessibility settings.
In Android 12 the Google Android launcher (the desktop, with the non removable Google assistant/search bar), doesn't obey turning off animation. I moved to the Nova launcher.
Like the parent post, every friends and family member I showed how to turn off animations was very pleased with the speedup. Nobody ever asked to turn it back on.
Which phone? I'd like to know what not to purchase.
I researched a lot and actually tried to switch back to iOS for a day or two before buying. All phones currently come with pretty major drawbacks IMO, especially when living outside of the US. Some lack of polish was the trade-off I was willing to make.
Now you experience the reality of just how slow and bloated a lot of software is; the animations were just an attempt at hiding that.
IMHO there should be very, very little need for a full "loading screen" with all the ocmputing power we have these days.
Instead, it explains there is accessibility issue and teaches how to fix that.
These in-between states gives us well-needed information and are not artistic at all. Sure, they can be emulated badly, but for example iphone’s app switcher is imo a very natural implementation of how it should be done. Won’t make the action take any more time, but it does instruct on what happens very accurately. Compare it to i3’s instant desktop switching, which gives us barely any info to work with.
"Instant" is a feature, not a bug.
The spec talks about "moving, blinking or scrolling information that (1) starts automatically, (2) lasts more than five seconds, and (3) is presented in parallel with other content"
It's relatively uncommon to encouter this as part of an app or actual legitimate content, but most sites that have ads would violate this spec. And I've noticed that I found those moving elements distracting enough that I just furiously closed a site and gave up on pursuing the information on it when I had the misfortune of encountering a news site on a PC without an ad blocker.
Of course I’m all for reducing animations, and not even only for accessibility reasons, but I don’t agree with calling all of them useless, when they do in fact have a very important role.
This feels like arguing that when we type, the computer should scribble each letter just as we would with a pen, or when a web page loads, it should slowly fill in like it did on dial-up. I want the computer to work as an extension of my brain; it should react as fast as I can think. I want it to show me something, and that thing simply appears as it would in the mind's eye.
I agree with counter points showing how animation can add useful context, particularly in response to user interactions. This fails to address the crux of the issue greenbit brings up: the 'me Me ME!' dance. Yes, there are some places animation is indispensable, but the problem is that 95% of them (and their ilk) are giving the other 5% a bad name. The best way to enjoy and maintain focus is to not have to be constantly on-guard for hijack attempts.
Add in the fact that so many things exhibit this behavior (animations just tend to be the worst), multiply by how many sites/apps you spend time with. Even major, paid products can be problematic. With the web, ads, newsletter/don't-go/"privacy"/etc pop-ups are bad enough already.
I think we can take things a step/leap further: icon/logo/front-page take-overs and how aggressively those are pushed in front of user eyeballs. I believe (citation wanted!) that publishing control over the Google doodles is subject to a very strict approval process to curate a very specific, subtle "experience". It has to be the most valuable space of virtual real estate in the world, even despite limitations. It's certainly the most obnoxious to me.
So if there is to be general agreement on how things improve, I'd rather it be based on something broader than accessibility, but if accessibility wins some ground I'd appreciate it nonetheless.
It's hard to tell for sure where it's just a happy coincidence and where it is a pretext to make it either more appealing or to force people to do it under some other requirement, but you see this everywhere
- Some hostile "optimization" ideas by airlines getting nixed by safety arguments, certainly not at all influenced (/s) by the humans working at those regulators not wanting other humans to be subjected to that
- Animal rights activists using climate change as the main argument because it's a more popular topic now
- People trying to ban technical terms like "blacklist"/"whitelist" claiming the goal is more precise terminology
I'm sure there are plenty more examples.
But I do have to accept that this makes the app look less "polished" or "modern" at a first glance and likely makes some people look at competitors when they come to evaluate the app.
This is somewhat similar to gyms (bear with me here): a newbie will choose a gym based on how many machines they have. An experienced person doing strength training knows that the only thing that matters is how many racks they have. Gyms know that, hence the large numbers of largely useless machines (and a very limited number of squat racks and barbells, because strength trainers are the worst customers to have: they actually do go to the gym). The decision to subscribe is being made based on the superficial.
> What about those of us that see no need of user interface elements that flollop about doing some kind of 'me Me ME!' dance, when we just want to get things done?
If it’s a hindrance to you getting things done—to your access—that’s an accessibility issue. Accessibility that benefits you doesn’t imply anything about you, it’s an affordance for you to get whatever you need out of that access.
For example: video transcripts might be a benefit for people with auditory and/or visual impairments. But they also benefit me because I prefer not to consume video content the vast majority of the time. They help me access content I’d otherwise probably never consume. That’s… accessibility too!
What about those of us that see no need of user interface elements that flollop about doing some kind of 'me Me ME!' dance, when we just want to get things done?
I get it, if you're building a webpage maybe that's your artistic vision, and I'm specifically railing on OS animations, but the question still stands, 'why does it have to be an accessibility thing'? How about a plain, flat, respectful 'turn it OFF bc the user just doesn't want that' kind of option?
Don't care if this shows my age, when I was getting started in this business, there was serious emphasis on giving the user what they wanted. The user was the center of the universe, not "look at my mad skills". It's just disrespectful to tell the user they have an 'accessibility' issue, just to get things the way they want them.