Live data from Hacker News

Every Frame Perfect

tonsky.me

271–280 of 293 posts

Re: Every Frame Perfect

#271
post #173

Earlier quoted context omitted.

There’s an irony in you claiming my comment is uncharitable and claiming the article is a discussion point when you haven’t even taken up the question I posited and framed them as a strawman. Can it be possible to make everything during a user interaction perfect looking? What does that mean? That was part of my original comment that you skimmed past rather than engaging with. So if you truly believe this should be a…

There is no irony; I'm under no obligation to take up any debate on any particular point you raise. You're constructing more strawmen.

I’m really shocked you can’t see the sheer hypocrisy on your part here again.

You have literally added nothing to the discussion, other than levying criticism and denigrating any points made just because you either don’t agree or don’t actually have anything material to add.

Anyway, it’s the internet. No point getting annoyed by drive by responses from a stranger. Enjoy your weekend.

Re: Every Frame Perfect

#272
post #269

Earlier quoted context omitted.

You can read why people prefer 24 fps movies instead of high-fps ones. I'm quite puzzled by the article. Animations in software are transitions, it should not be perfect in UI sense, because it might look weird to the human eye in this case. I'd prefer motion blur to something crisp. This is the case of file picker example.

You can also read why those people are misguided. But instead of doing the irrelevant art analogies again, go back to the article and cite a specific principle that is violated by blur. It has a list: > Now, what does it mean in practice? Also, blur doesn't even look weird statically! And again, provide at least one example where it looks weird to our eyes > This is the case of file picker example. You also don't see…

>You also don't seem to understand what that example shows

I do understand, and this is exactly what I consider weird. Instead of repainting (in any way, even what is considered pleasant by you and Nikita), I'd prefer blur/mosaic/white window during the animation. Not the motion blur, but just not the actual contents of the window! This breaks "every frame is perfect", you can't make a meaningful screenshot of this transaction.

In KDE's Kwin, I configure windows resizung using crude stretching algorithm. This means I see non-proportionally weirdly stretched window several frames, then it repaints. On screenshots that looks really weird, while in reality this is quite ok.

Re: Every Frame Perfect

#273
post #269

Earlier quoted context omitted.

You can also read why those people are misguided. But instead of doing the irrelevant art analogies again, go back to the article and cite a specific principle that is violated by blur. It has a list: > Now, what does it mean in practice? Also, blur doesn't even look weird statically! And again, provide at least one example where it looks weird to our eyes > This is the case of file picker example. You also don't see…

>You also don't seem to understand what that example shows I do understand, and this is exactly what I consider weird. Instead of repainting (in any way, even what is considered pleasant by you and Nikita), I'd prefer blur/mosaic/white window during the animation. Not the motion blur, but just not the actual contents of the window! This breaks "every frame is perfect", you can't make a meaningful screenshot of this t…

> On screenshots that looks really weird, while in reality this is quite ok.

That wasn't the criterion, which was "the best"

> very possible that a "wrong" frame in isolation is the best looking one in a real-time context.

So show your Kwin animation example and explain how it's the best due to "human vision" compared to a transition without the weird stretches.

> I'd prefer blur/mosaic/white window during the animation

You mean blur where no content is visible/readable (that's different from the animation examples where text is visible, is moving, just not crisp)??? That's another reason you should just answer the initial question directly and provide a UI animation example supporting the theory instead of keeping arguing with nothing to show for it.

And again, what features of "the human visual system" does white window exploit that makes it the best?

Re: Every Frame Perfect

#274
post #217

Earlier quoted context omitted.

Maybe you dislike them, but that does not make for a fact. Instant transitions are something I strongly prefer and use in practice. There's no question, I don't want my operating system slowing itself down to a factor (literally) of 1000x, pointlessly fading and jiggling and sliding and bouncing and wiggling. And, as this article points out, animations in operating systems often make a visually illegible mess in the…

Real life has everything "animated". Nothing happens in an instant, there is force required to accelerate mass, etc. Short, well-done animations make for better UIs.

You're not operating the GUI by thought alone, so your muscles already provide the animation. Adding additional animation on top of that is unnatural.

Re: Every Frame Perfect

#275
post #273

Earlier quoted context omitted.

>You also don't seem to understand what that example shows I do understand, and this is exactly what I consider weird. Instead of repainting (in any way, even what is considered pleasant by you and Nikita), I'd prefer blur/mosaic/white window during the animation. Not the motion blur, but just not the actual contents of the window! This breaks "every frame is perfect", you can't make a meaningful screenshot of this t…

> On screenshots that looks really weird, while in reality this is quite ok. That wasn't the criterion, which was "the best" > very possible that a "wrong" frame in isolation is the best looking one in a real-time context. So show your Kwin animation example and explain how it's the best due to "human vision" compared to a transition without the weird stretches. > I'd prefer blur/mosaic/white window during the animat…

>That wasn't the criterion, which was "the best"

Yes. Making perfect transition animations for the software is a very hard task, which is totally useless in my opinion — transitions shouldn't be made for screenshots, it should be made for humans to understand what have changed, how did click influence the UI.

>So show your Kwin animation example

https://litter.catbox.moe/s6ahsjybdcfkvdi5.mp4

>explain how it's the best due to "human vision" compared to a transition without the weird stretches.

Simple: Nikita's file picker example tries hard to repaint in time, and that looks very weird, because it's both janky and not how the window usually repaints.

And the latter is what the human eye and human brain are consider weird. If the animation does not attempt to present the contents during the animation, but instead only acts as a transition from state 1 to state 2 using smooth (as in constant-FPS) action, it does it job better, even if it does not preserve or even present the real contents during the animation.

The example of it could be seen on many websites which show the web page elements templates during loading (elements are positioned on their places but don't have real data yet).

>And again, what features of "the human visual system" does white window exploit that makes it the best?

If you present crispy sharp, high-fps picture to the user, the brain would look for any animation deficiencies, nitpicks.

If you just hide the contents in some way (blur, no repaints, no data), the brain just won't try to find anything weird.

Re: Every Frame Perfect

#276
post #218

Earlier quoted context omitted.

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 witho…

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…

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.

Re: Every Frame Perfect

#277
post #228

Earlier quoted context omitted.

Finally someone not roleplaying. You're the first person who acknowledges the flakiness of the dev options. People are self-reporting when they claim they set it to 0x without realizing it's unusable due to the bugs.

Denigrating others as "roleplaying" is unnecessary and not serious. AOSP is not the only operating system that allows you to disable animations, even if its implementation is not the best. And yes, I still use 0x on my Android, because it's still that much better than having animations enabled.

It mostly works fine, I ran with it for a year or so. Actually needing to disable it is extremely app-specific and rare enough that many people probably never experience it (it's essentially always a sign of buggy code).

Though it does kinda often make inertial scroll/pan very bad feeling, as it jumps ahead of where you released, to where it will settle. "Reduce motion" is dramatically better there, which is a big part of why I use it.

Much MUCH more problematic is that Android (on a Pixel) has had a badly broken "recent apps" view for years now, when you have both a third party launcher and reduce motion enabled. It frequently (literally most of the time) gets stuck in its animations and won't scroll anywhere except to leap to the start or end of the list.

Re: Every Frame Perfect

#278
post #187

Earlier quoted context omitted.

Try "reduce motion"? It's not quite the same thing (prefers cross-fades in many cases), but it might help. Anecdotally some things are noticeably faster, and not having them swing around before settling lets me get a read on their location faster.

Sadly, basically no difference :/ https://news.ycombinator.com/item?id=48520988

Kinda fits with what I remember when I used iOS daily - I suspect it's because there's so much more UI customization compared to Android (where practically everyone uses the stock animation core pieces, of composes stuff from it).

Having been an Android dev who handled this stuff very carefully: yeah it's very error prone to do by hand. You have to keep in mind which animations are generally "desired" (like inertial scrolling and panning) and rebuild the stock stuff by hand to work around it if you have custom views or animations, so they don't jump around weirdly (leaping ahead of where you release, because there's where the inertia would settle).

I kinda wonder if this stuff is part of the reason for the new Jetpack Compose stuff - it makes custom views significantly more difficult, so you're very strongly incentivized to just combine stock components, where this all mostly works correctly by default.

Re: Every Frame Perfect

#279
post #264
post #36

Earlier quoted context omitted.

Play any game with good UI and you will see animations used everywhere. Instant transitions are only good in theory.

> Play any game with good UI and you will see animations used everywhere. Instant transitions are only good in theory. Would you rather the game have the coolest load screen in the universe or no load screens at all?

Not the gotcha you think it is considering how common fake loaders are in all application development. They're inserted for a reason, but that's a different topic. We're talking about pure animations here, not loading screens.

Re: Every Frame Perfect

#280
People should know that most of the Mac examples shown in the article are regressions that happened in Tahoe.

- Sequoia's Notes had perfect sliding animation.

- Safari's URL bar seemed the same. (Though I think it's more a placement issue, not animation issue. They could just put a placeholder at the end of the bar, not at the center.)

- 'Save as' dialog had a problems with sidebar, but not janky as much as Tahoe's.

- Zooming in preview app worked fine.

Post reply on HN