Hacker News new | ask | show | jobs
by Krssst 45 days ago
Games are for fun. Wasting time in a game is fine, that's what it is for. (edit: not saying that pejoratively)

Other applications are to do things. They should do the thing and get out of the way as fast as possible. Animation-induced delays are fundamentally contradictory with that; they waste the user's time instead of doing the thing.

1 comments

I think the default "product manager wants to build flashy animation" fundamentally contradicts that, but I also don't think it's fair to apply that criticism across all animations.

Good and useful animations communicate something, they're not there just to be there or to make it "pretty", which is most designers use them. But they can actually communicate intent, action, immediacy and other important things, if they're used sparingly in the right situations, without actually getting in the way.

Probably the most basic animation most of us PC users see every day is the very basic animation of a text cursor blinking on/off in text fields, like the one I write it right now. It's super basic, but communicates that the computer is waiting for you, it's alive and you can enter things. If it was static, you get the impression something is stuck instead, or couldn't tell exactly where the cursor is at a glance. But it blinks, and that tells us stuff.

I agree that some things have a use and can do so without getting in the way, but I think as your example illustrates it is mostly to help new or infrequent users who aren't familiar with how the system works and often comes at the expense of regular users. Like mrob mentions (with a wonderful example), I usually want software to function like hand tools where I can just do a thing as quickly as I can do it and without unnecessary distractions. I've turned off cursor blink in my terminal and even though it isn't as bad in the browser I just turned it off in Firefox since you mentioned it (add a new preference ui.caretBlinkTime set to 0). Some of us do get more distracted by this kind of thing than others :/. Same with audio cues.

I do still like progress indicators when you might be waiting on a longer task (and when it actually indicates liveness, which too often it doesn't :( ).

Games I can sometimes appreciate the new user benefits and affecting the pace can sometimes have an artistic intent or relaxation effect that tools should not normally have. I have stopped playing games for excessive animations and will usually quickly (but not always immediately) disable anything that can be disabled. It is so common that I distinctly recall the free game Strange Adventures in Infinite Space intentially doing the opposite to great effect (it has been a bit but I think it was not only instant transitions but on mouse click instead of release).

https://rich.itch.io/strangeadventures

Hand tools have mass and momentum, they are most definitely "animated". You need force to accelerate them up to speed, they don't change state "in binary", or in a blink. Good UI is when you don't even consciously notice the animation, but it has subconsciously given you more information (e.g. desktop changes with very brief animation tells you from where did you transition to where. I personally find i3/sway to be a bit slightly disorienting with certain workloads)
A mouse, even a lightweight gaming mouse, is substantially heavier than a pencil. Even if you somehow made a mouse with zero mass, your hand still has mass. The momentum is unavoidable. You don't need to add an inferior simulation of additional momentum to the momentum that already exists.
No one said that one should add "hindrance" to the movement itself. But just because your hand slowly decelerated at the end, causing the mouse as well to stop slowly, maybe the endpoint of the movement should reflect the vector of movement as well? E.g. scrolling to the bottom of the page causing a small bounce back instead of doing nothing is an absolutely information-providing animation you don't even think of as an animation. That's how you know it's good.

But then be against bad animations, not all.

>E.g. scrolling to the bottom of the page causing a small bounce back instead of doing nothing is an absolutely information-providing animation you don't even think of as an animation. That's how you know it's good.

A bounce-back animation is bad design. Bouncing is distracting and annoying. My scroll area should not bounce unless I deliberately order it to bounce. GTK has a somewhat better solution, where it shows a animated shrinking translucent chord of a circle (or some similar shape) at the end of the scroll area. This could be considered a dedicated notification area, but it's not a good one because it overlaps whatever else is in the scroll area. Ideally, the "invalid scroll" notification should be shown in the scrollbar.

The cursor animation is actually a great one because it does not add any latency. By comparison, when animations are not disabled on my Pixel 6 it takes almost one second to switch application instead of maybe 100ms (double tapping the app swap button to get to the previous app running).
God yeah smartphones are the worst, Apple (& co) particularly. My iPhone 12 Mini could feel so much faster if I could just disable all the annoying animations that just make everything feel slower instead of being helpful. Setting animation speed to 0x is probably the feature from Android I miss the most.
Accessibility > Reduce Motion
Hardly any difference. If you haven't seen it before, try an Android phone in your hand and toggle animations 1x/0x and see what a stark difference it is. iOS is still littered with animations all over the place with that toggle enabled.
It just turns the motion into fades of equal duration. Reason 352811 I will never own an iPhone.
As another example, with the "new" navigation gestures switching to the last app and back is just a finger swipe away, following your thumb's speed.