惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
B
Blog
罗磊的独立博客
GbyAI
GbyAI
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏

Daring Fireball

auth.md — Open Protocol for Agent Registration Anthropic's Safety Superpower Kennedy Center removes Trump’s name from building — The Washington Post Private Cloud Compute - Apple Developer Statement on the US government directive to suspend access to Fable 5 and Mythos 5 The Talk Show: Live From WWDC 2026 What is the true story behind Apple’s decision not to roll out "Siri AI" in the EU? This decision is Apple’s and Apple’s only. Because absolutely nothing in the DMA prohibits Apple from rolling out… | Thomas REGNIER | 111 条评论 Due to DMA, Siri AI delayed in EU for iOS 27 and iPadOS 27 Steven Spielberg Answers YOUR Questions Sweet Jeebus, MacOS 27 Golden Gate Removes the Dumb Icons From Menu Items WWDC26 — The Small Things - Oneberri Blog Apple WWDC 2026 June 8: Introducing Siri AI and more Apple’s App Store rolls out personalized recommendations Unlock Autonomous AI Agents with auth.md, Michael Grinich | MCP Night: Agent Mode Keynote From the Annals of People Having Knowledge of the Matter, Siri AI Extensions Edition Apple’s WWDC AI demos looked more real after $250M false ad settlement Craig Federighi details Apple’s collaboration with Google for Siri AI in iOS 27 SwiftUI Only Makes It Easy to Develop Bad Apps 60 Minutes Correspondents Lesley Stahl, Bill Whitaker, and the Other Guy Will Stay at Show Trump Can Tear Down Statue of Liberty, Says Trump Lawyer Nieman Journalism Lab: Twitter/X Punishes Accounts That Post Links Regarding Those Rumors of Apple Pursuing an Acquisition of Perplexity ‘The Insider’ Lingon - Peter Borg Apps Chrome is Bad Gemini for macOS - your native AI desktop app Nick Bilton Shits the Bed With Pseudoscience-Laden ‘Could Wearable Computers Be as Harmful as Cigarettes?’ New York Times Column Nick Bilton on an Apple Television Set: ‘It’s Not a Matter of if, It’s a Matter of When.’ Instagram 用户 Scott Pelley Road to WWDC 2026: What’s a developer?
Every Frame Perfect
Nikita Prokopov · 2026-06-13 · via Daring Fireball

A while ago I was reading about Wayland and this quote stuck with me:

A stated goal of Wayland is “every frame is perfect”.

And I think this is a goal we should all aspire to. Wayland is talking about the technical side of things (modern GPU stacks are very complex and Wayland is trying to take control back) but it could be applied to UI too.

The rule of thumb is:

If I take a screenshot of your app at any moment, it must make sense

Why care about every frame? It builds trust. Users can’t see the code, so UI is the only way for them to judge the quality of the app. If UI looks good, that means developers had time to polish it, which means that they probably spent a comparable amount of time to iron out the code. It’s a heuristic, but a reasonable one.

Now, what does it mean in practice? I can think of a few things:

  • No white flashes between screens.
  • No partially loaded content.
  • No relayout while content loads.
  • Internally consistent. If one part of the UI says “1 update available”, another part should not say “Checking for updates...”
  • Precise animations.

Animations often end up being forgotten. A UI might look great in both start and end states but very janky in between. Like this:

If you feel like there are weird things going on there, there are! Look at slowed down version:

Now let’s apply our rule and take screenshots in the middle of the animation. This doesn’t look right:

Neither does this:

Both of these frames are not perfect.

Let’s look at another example. Safari:

Placeholder text here moves from the center but cursor animates from the left position:

Not the end of the world by any means, but it does create a feeling that these two components are not in sync with each other. Next thought: maybe they weren’t designed together? If so, then they might not work well together. That’s how trust is lost.

This desynchronization can lead to a lot of confusion. For example, in Photos, when switching between Crop and Adjust mode, picture snaps into place immediately but the crop border is animated:

This creates a false feeling that something subtly changes when you switch between modes. And you know what? I don’t want my UI to give me false feelings. I want it to be a precise instrument, not an animated toy.

Sometimes animations are supposed to help you understand a transition, so it’s doubly sad when they make it harder. Follow the magnifying glass:

Same with Youtube. They had the simplest task in the world: move a rectangle from one position to another! Yet they decided to do something very strange:

Can you explain this? Does it make sense?

Probably a technical limitation of the DOM architecture they decided earlier on. I call these situations “The technology has outsmarted the programmer”. But no matter the reason, the result is an imperfect frame.

Sometimes animations are left out as an afterthought. Whatever happens, happens. Then we get this:

The details are fascinating to watch:

So yeah. Please pay attention not only to the start and end states, but also to everything in between. Every frame matters.

I’ll leave you with this unprovoked zoom animation from Preview app. Take care!