Hacker News new | ask | show | jobs
by greenbit 1340 days ago
Why does even the thought of 'disabling' animations have to be cast in the context of an accessibility issue?

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.

17 comments

> that's your artistic vision

> “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 did this on my Android as well, intentionally. My Galaxy S20 defaults to an animation speed that is just so horribly slow, everything feels sluggish. It also uses more battery.

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.

Adjusting the animation scaling down is one of the first things I do on any Android phone I buy. I've also changed it for many friends and family who immediately ask how I've managed to make their phones "faster". Not a single person has ever asked me to turn it back. Yet this option is buried in "Developer Tools", so - yes agreed that the "Accessibility Settings" is a far better place. I do also wish it was adjustable in 10% steps all the way down to off. I think 0.3x is likely the sweet spot.
On a Google phone Android, turning off all animations doesn't replace it with a loading icon. It just makes the phone faster.

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.

>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.

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.

It isn't a hard coded timer, it's the "loading" animation you see while an app or a page bootstraps a new view. In macos it would be the equivalent of the spinning beach ball.

In iOS I think there is just no way to disable all the animations, while android gives you that switch that is quite literal.

You might want to check the accessibility features of iOS: https://www.apple.com/accessibility/
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.

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.

>when I got my new phone a few weeks ago

Which phone? I'd like to know what not to purchase.

Pixel 6a, highly recommend. It has its flaws (some proper to the phone some coming from android) but it is still the best value you'll get if you're not chained to iOS and want a 'small' 6"ish phone. The disable animation thing is of my own doing, and using the animation scale factors instead is the better approach.

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.

I totally get where you're coming from, most employment of CSS animate and transition is excessive and reduces UX.

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.

I have only once seen a UI animation that I didn't have to wait for. This was in the Metacity window manager, which had an option to animate windows minimizing/maximizing using a wireframe of their outline that could not be interacted with. The actual window moved immediately, and the wireframe did not obscure much of the screen while it moved. I would still turn them off, but if every UI animation was designed like this I would dislike them less.
That is a great design. Shows you where the minimized window is (in case your brain missed it) without making you wait. I would love to see an entire UI designed around the principle of "don't make me wait. Ever."
I think the best rule of thumb for UI animations is to keep speeding them up until users stop praising the beautiful/elegant animations. They shouldn't notice the animations.
I think iOS does an extremely good job at animations. They help convey movement/what changed/where did I just go, but they are usually so fast and subtle you don't realize there was an animation unless you try hard to spot them.
There is a trend that when a goal can't be achieved directly, people try to push it through some other channel. In this case, accessibility can be mandatory in some cases (by law or specification) while "don't be an asshole to your users" is not.

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.

Seems like a pretty damning indictment of current trends in web design.
> Why does even the thought of 'disabling' animations have to be cast in the context of an accessibility issue?

> 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!

I agree - prefers-reduced-motion is a user-controlled OS-level setting (like prefers-color-scheme) which apps and websites should do their best to respect.

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

If you're so tight on time that you can't add a simple wrapper to your CSS rule, why bother with adding animations at all?
It’s often not a matter of “add a wrapper to this one CSS rule” but rather, “add a wrapper to ALL of these rules and some of this inline CSS scattered everywhere”.

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.

I always disable animations on my Android phones because everything so much snappier, even on high-end devices.

Whenever somebody tells me they want a new phone because their old one is slow, I recommend disabling all animations. After that they usually just keep their phone because it feels like it's new again.

This is like curb cuts: essential to people who need it, merely useful to people who don't. I can't use an app that won't let me turn off animations or make them user-initiated. There was a long gap where I couldn't use Telegram because they added animated stickers without a way to turn them off for months.

Framing it as an accessibility issue makes it harder to remove.

I didn't realize "@media (prefers-reduced-motion)" existed, so I appreciate learning that.

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.

In some places (software I write) the user does come first, especially the user that spends a lot of time with the application. That's why there are no UI animations in my app, I value my users too much. If I have data to display, I display it as fast as I possibly can.

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.

Really the ideal gym client for some places seems to be somebody who signs up for a membership and then never uses it, so I guess maybe having too much of the stuff that an experienced lifter might want would be a net negative for them.
I don't think there's a single accessibility feature that is not also useful for a subset of people without any disabilities. Accessibility is just one way to introduce something, that doesn't have to mean it's not useful in other ways too.
Everyone is going to have a disability at some point, even if only temporarily.

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.

Good example of ignoring users is the Google Photos app, which has an option to turn off motion photo playback, but turning it off just makes a shorter, even more jarring animation instead. Its actually nauseating, and impossible to disable, without reverting to static photos only (I let it record motion photos because its often helpful to catch an action frame you'd otherwise miss, but I want to choose when to playback, not google)
Well, the real world also “animates” everything, you can’t open your fridge instantly, nor can you grab your phone out of your pocket, nor are driving a car has any “instant” motions/happenings.

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.

With i3, I press mod+n, and desktop n appears. What information is missing that an animation would provide?

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.

The in-between states are already provided by the finite speed of human muscles. When I press a key, it already "animates" up and down. I don't need to add any artificial latency on top of that.
If you could instantly open your fridge, chances are you would, instead of implementing a needless delay
If you wanted to smack your co-habitators in the face with a lightspeed fridge door, sure.
The whole point of computers and technology is to do things faster than we previously could.

"Instant" is a feature, not a bug.

Doing work faster? Yes. Communicating with/controlling the computer though is still prone to the same psychological “limitations” humans have.
These quick transition animations aren't the ones this spec discusses.

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.

I didn’t reply to the spec though :D

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.

If you could teleport anywhere you want, would you still drive your car instead?
Exactly, I've recently been trying a new version of gnome and I was really surprised how snappy and quick it felt with all animations disabled (it was running on a fast pc too). I much prefer them off ever since.
The site is about accessibility. It does not claim no one ever turned off animations due to accessibility.

Instead, it explains there is accessibility issue and teaches how to fix that.

I'm not an expert, but I wonder if animations could have a detrimental effect on people with certain kind of epilepsy.
The answer, of course, is that it doesn't "have to" be cast that way, but this is an article on an accessibility site. So it's about accessibility.
Just switch to a terminal.
If only websites generally, and mobile phone apps at all, worked on terminals.