Live data from Hacker News

Every Frame Perfect

tonsky.me

31–40 of 293 posts

Re: Every Frame Perfect

#31

These seem like low-priority bugs to spend time on? Most apps have bigger problems.

These aren’t bugs in the traditional sense. They built the animation system to work like this, and replaced the old system that didn’t produce these psychedelic transition states.

Is there more about what they did somewhere else? I don’t see any implementation details in the article.

Re: Every Frame Perfect

#33

An app with no animations at all is going to feel terrible. You can test this out yourself, if you have an Android you can set animation speed to 0x in the developer settings. It is jarring to see instant changes and it actually takes your brain a second to process what happened, and that process is probably slower than having the animation in the first place. I have mine at 0.5x and that feels sufficient, still fast…

After using Android for like a decade, I eventually succumbed and got a iPhone 12 Mini (back when it was new). I still miss the ability of turning off animations as I could do on Android, and I'm 110% my current phone would feel 200% faster if I could just turn off every damn animation that just exists to exists. I'd much rather have a second to process if that's needed (which I don't think it is), than being slowed down by one second every time an app changes the page, everything feels like molasses when you navigate around.

Re: Every Frame Perfect

#34
post #13

I'd rather have an imperfect frame now than a perfect frame later. Latency should be the top priority for any UI, because when latency is low enough it feels like a part of your own body, which minimizes cognitive load. Animation is especially bad for this, because animations add hundreds of milliseconds of latency.

I think that's a false dichotomy. The examples the author gives would not be slower in any way if done correctly.

However, the author makes these assertions:

- No partially loaded content. - No relayout while content loads.

Holding those as hard rules leads to delay or rejection. Instead, while I agree it's better to have everything up front, gracefully handling cases when we don't is important, and some degree of responsiveness, even with partially loaded content, often makes for a better experience for the user than a delay.

Just be up front about it and find ways to keep continuity of relationship and smoothness. Diffeomorphic mappings are your friend...

Re: Every Frame Perfect

#35

I would love to understand these people, really! On a personal level, if thing works - I say, cool, lets focus on something else now. But I have worked with people who are similar to the author and we will get into the conversation: - they: wait, but the bundle size is 2.4Mb, it can be improved a lot - me: by how much? and we have 10k users/day and we have cache policy setup - they: we can reduce it to 1Mb, imagine s…

Starting from a literal bandwidth costs perspective definitely won't get you there. I'd start by trying to feel personally annoyed by things like that. Then maybe try to feel more annoyed, since you know it'll touch every customer forever.

In that bandwidth case I'd be annoyed by the waste which kind of pervades software already, and it'd feel great to know at least we countered it a little bit.

Re: Every Frame Perfect

#36
post #4

I'm sure a UI that had none of these imperfect frames would feel better, but now I really want someone to edit each of these clips to show what it would actually look like. At the same time, why does everything need motion? My understanding is that motion should be used if an action subtly changes the UI in a region that's different from where the action was triggered (e.g. toasts) I think many of these transitions a…

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

Re: Every Frame Perfect

#37
> The rule of thumb is: If I take a screenshot of your app at any moment, it must make sense

After reading this blog post, I think the rule of thumb should be "If I take a screenshot of your app at any moment (except during animations), it must make sense". I don’t think making sense during an animation should really be a goal, as long as it makes sense before and after.

Re: Every Frame Perfect

#38
post #25

I think it's not uncommon for good animations to cheat a bit while in motion, rather than look perfect on every frame. Like how cartoons can use smear frames that look bizarre when paused at the wrong time but when viewed as part of a larger animation help sell the motion visually.

The game Overwatch is a pretty great contemporary example of this [1]. It has some excellent fluid animations, which look really weird if you freeze frame them.

[1]: https://youtu.be/vIdeGmN__Pw?t=550

Post reply on HN