Animation Objectives

We define and track progress against our goals using?"OKRs"?(Objectives and Key Results). Here are most of the OKRs for the animations team. Note that these are?intentionally aspirational?and so we will be happy if we deliver 60%-70% of them.

OKRs are given priority orderings, where P0 is the highest priority and P4 is the lowest. Normally (for our team) OKRs exists between P1 and P3.

If you have any questions about our OKRs, please email our mailing list.

2019 Q2

Implement the existing standards
P1?-?Implement key missing parts of the Web Animations standard.
P1?-?Ensure spec conformance and interoperability by driving down WPT test failures
P2?-?Land Scroll Snap
P2?-?PaintWorklet: Implement Lottie (as a demo) off-thread using paintworklet.
P2?-?PaintWorklet: Enable worklets on cc

Explore and define the next generation of animation
P1?- Ship Animation Worklet
P2?-?Invest in partnerships/relationships with standards and browser partners
P2?-?Continue to invest in adding value to Animation Worklet

Optimize Animations
P1?-?Enable Viz layer based hit testing
P1?-?Measure animations performance
P2?- Implement paint-calculated Non-Fast Scrollable Regions
P2?-?Remove additional property nodes / compositing overhead due to animation ElementId tracking

Team Velocity
P1?- Reduce bug count 25%
? ? Measure is: 1 - (bugs_at_end_of_quarter / (bugs_at_start_of_quarter + bugs_opened_during_quarter)).
P1?-?BGPT causes no P1 animation regressions
P1?-?Animations Metrics Design Doc published, reviewed
P2?-?Start animations based on ElementId existence
P3?-?End to end threaded rendering unit test support
P3?-?Consolidate blink::WorkletAnimation and blink::Animation

2019 Q1

Correct animations and effects 1.00
P1 - Reduce bug count 15%? 1.0
?? ?Measure is: 1 - (bugs_at_end_of_quarter / (bugs_at_start_of_quarter + bugs_opened_during_quarter)).
? ? End of quarter result: (128 / (134 + 49)) ~= 30%
P1 - Fix 5 of the top 20 animations interop issues? 1.0
? ? End of quarter result: Closed 16 Hotlist-Interop bugs incl shipping prefers-reduced-motion + CSS transition events.

Improve animations code health? 0.2
P1 - Begin consolidation of blink::WorkletAnimation and blink::Animation.? 0.1
P2 -?Make a blink driven cc integration/unit test possible.? 0.0
P2 -?Consolidate transform interpolation between blink and cc.? 0.5
? ??End of quarter result: Feasibility investigated + prototype attempted, but sidelined in favour of AnimationWorklet work.
P2 - Refactor code around per-property cc::Animations.? 0.3

Smooth scrolling on all (i.e. incl/ low end) devices? 0.82
P1 - Ship Compositor Touch Action 1.0
? ? End of quarter result: Shipped in M75!
P1 -?Viz Hit Testing - continue to scale up Finch trial? 0.9
? ? End of quarter result: 100% on canary/dev, 50% Finch trial on beta, improvements in performance + correctness
P2 - Implement paint-calculated Non-Fast Scrollable Regions? 0.3

Richer animation effects competitive with native experiences? 0.50
P1 - Ship first version of AnimationWorklet? 0.8
? ? End of quarter result: almost all MVP features landed, TAG review requested, not published as FPWD yet.
P1 - Ship ScrollTimeline for AnimationWorklet? 0.3
P1 - Improve overscroll-behavior implementation??0.3
P1 -?Off-Thread Paint Worklet: basic version behind flag in tip-of-tree? 0.8
? ? End of quarter result: Two CLs still in flight, but with those in a (partially) working prototype exists behind --enable-blink-features=OffMainThreadCSSPaint
P2 -?Drive AnimationWorklet adoption? 0.0
P2 -?GroupEffect Implementation? 0.0
P2 -?Support snap points? 0.8
? ? End of quarter result:?scroll-snap-stop implemented to support AMP, some bugs remain

Easier performant effects? 0.00
P3 -?Educate developers on when their animations are slow and why? 0.0