Live data from Hacker News

Every Frame Perfect

tonsky.me

11–20 of 293 posts

Re: Every Frame Perfect

#11
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…

Motion is critical for reorientation after transition. Often with out it your brain has to rescan the entire page on each refresh.

Outside of dedicated notification areas, a GUI should only change state in response to user action. Because the user requested the state change, they naturally know how it changed. This means any animation is a redundant waste of time.

The notification area doesn't need animations either, because a GUI is only appropriate for displaying non-urgent notifications. If something really needs urgent attention, you need alarms and flashing lights, not an animated "toast".

Re: Every Frame Perfect

#12
It would have been compelling to describe / show what it should have looked like. Because the only alternative for some of these would just be sharp jumps instead of any animation - animating simultaneous appearance and transition of information will inherently result in frames that look imperfect.

Re: Every Frame Perfect

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

Re: Every Frame Perfect

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

You might have thought the title was about Wayland and you're right. But this isn't about Wayland.

Re: Every Frame Perfect

#15
I think a lot of these are because Apple has built animations into their products as first-class citizens, but that means that they need to somehow figure out how to compose them well. (Which obviously is a rather difficult problem to solve!) In my experience, you end up spending a lot more time trying to get all of the animations to work well together than you do on creating the actual UI, and that time is just not worth it if your start and end states are beautiful and intuitive. There's also the cross-UI-framework tax that has come up since Apple has allowed mixing SwiftUI and (App|UI)Kit, and animations are part of that.

Re: Every Frame Perfect

#17
There’s a similar principle of congruence in information visualization, stated in Animated Transitions in Statistical Data Graphics by Heer & Robertson as: “Maintain valid data graphics during transitions. To ensure viewers’ mental models are congruent with the semantics of the data, we suggest that, as much as possible, intermediate interpolation states remain valid data graphics.” https://idl.uw.edu/papers/animated-transitions

Re: Every Frame Perfect

#18
post #3

This resonated with me, but I would have loved to see some positive examples as well. The tone did not read as a rant, but as someone that doesn't know too much about good UI construction, I did not feel like I walked away any closer to understanding what a North Star should be.

Or if the author mocked out what each of the bad examples should look like if done properly.

Re: Every Frame Perfect

#19
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 saving 10k*1.4Mb every day
    - me: yeah, but its not costing us much, if you focus on making it perfect your salary will cost us 2 years of outbound traffic cost.
    - they: no, but its not perfect

I admire those people, because they're valuable asset in some companies (e.g. Google scale, saving 1.4Mb for 1 Billion people every day is a lot), but my mind doesn't even want to think about what's perfect.

How do I get there? What are the resources I can read and learn from to look at things to make them perfect?

Re: Every Frame Perfect

#20
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 but I can see apps opening and closing etc.

Post reply on HN