Contact emails
[email protected], [email protected], [email protected]


Explainer
https://github.com/WICG/soft-navigations
https://github.com/WICG/soft-navigations/blob/main/Design.md


Specification
https://wicg.github.io/soft-navigations


Summary
Exposes the (experimental) soft navigation heuristics to web developers, using 
both PerformanceObserver and the performance timeline. This feature reports two 
new performance entries: - "soft-navigation", for user interactions which 
navigate the page. Defines a new timeOrigin to help slice the performance 
timeline. - "interaction-contentful-paint", which reports on the loading 
performance of interactions (beyond just next paint), used as LCP for 
soft-navigations.


Blink component
Blink>PerformanceAPIs


Web Feature ID
No information provided


TAG review
https://github.com/w3ctag/design-reviews/issues/879


TAG review status
Issues addressed


Origin Trial Name
Soft Navigation Heuristics


Goals for experimentation
1. Gaining insights on the quality of the heuristic and how it compares to 
current heuristics employed, from web developers, spa-framework authors, and by 
existing RUM providers; Focusing specifically on the initial "soft-navigation" 
reporting and the "interaction-contentful-paint" loading entries that follow. 
2. Learning if developers find the correlation of various existing performance 
entries (ie Resource Timings, CLS or INP entries) to these soft navigation 
entries more useful than without them.


Chromium Trial Name
SoftNavigationHeuristics


Link to origin trial feedback summary
https://github.com/WICG/soft-navigations/issues


Origin Trial documentation link
https://github.com/WICG/soft-navigations#soft-navigations


Risks




Interoperability and Compatibility
No information provided

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/854)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/235)

Web developers: Strongly positive 
https://github.com/WICG/proposals/issues/71#issuecomment-1325856231 
https://twitter.com/yoavweiss/status/1575191332775026688

Other signals:


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it 
has potentially high risk for Android WebView-based applications?
No information provided



Reason this experiment is being extended
Requesting a 3 milestone extension to this feature. Reason: provide developers 
the opportunity to test several significant changes to the API shape following 
the most recent Origin Trial (OT) feedback (details below). Also, multiple 
developers have requested the opportunity to participate in a new OT period, as 
they were unable to complete testing before the previous deadline. While we 
considered moving directly to shipping, the substantial implementation changes 
that followed the first OT we think will benefit from another round of 
developer feedback to ensure a stable launch. (We also have remaining 
specification/documentation work to do). Major changes since end of previous 
OT: - InteractionContentfulPaint performance entry now reports for ALL 
interactions, and reports BEFORE soft navigation performance entry is emitted. 
Ie its a general responsiveness metrics as well as a navigation loading metric. 
- Integrated with Event Timing interactions, and both SoftNavigation and 
InteractionContentfulPaint now receive an `interactionId` value to match. - 
Added support for replaceState, and expose `navigationType` to the api (top 
developer requested feature change) Minor changes: - Adjusted the navigation 
startTime to match the interaction event timing startTime (ie Event hardware 
timeStamp). This will make reported timings look larger, but more consistent 
with existing Interaction metrics (and existing tooling) - Many more "under the 
hood" improvements that further improve detection rates and paint reporting 
quality. Field data results from the latest versions look incredibly promising 
(and we hope to share some insights publicly at BlinkOn, soon).


Reason this experiment is being extended
We are still collecting feedback from partners, who are evaluating the 
suitability of this API to replace existing ad-hoc methods of measuring soft 
navigations, including some who were only recently able to start experimenting. 
Additionally, we have made changes to the heuristics, in response to testing 
and feedback, to eliminate some false-positive detections, and better match the 
behaviour of real-world single-page apps. Some of these changes initially went 
out in Chrome 120, and were refined in Chrome 121; some will be released with 
Chrome 122. We'd like to give developers a chance to experiment with these 
changes, to help inform any future adjustments that need to be made. After 
Chrome 123, we intend to pause the experiment while we act on all of the 
feedback, and decide whether further changes to the heuristics are necessary, 
or if the API is in good enough shape to consider shipping.


Reason this experiment is being extended
This feature has already gone through two origin trials which ended in 
milestone 123 a year ago. We took developer feedback and communicated with web 
developers at the end of the trial with the following status: "The Chrome team 
are taking time to review the experiment feedback and consider the next steps 
for this API. We want to address some accuracy issues and believe another 
origin trial will be required before the feature is ready to progress." Over 
the next year we investigated the reasons for the deficiencies, updated the 
implementation, and revamped the proposed API slightly. I have created a 
description of these changes here: 
https://github.com/WICG/soft-navigations/issues/47 Early results (local lab 
testing, and field histograms in aggregate) from the current version of the 
feature shows a significant improvement from a year ago, and we've gotten 
positive anecdotal feedback from some early testers on Canary with experimental 
features enabled. Although this feature has already had 2 Origin trials, 
because there has been over a year of gap since the last trial, we request 
permission for another 6 milestones extension, rather than 3, which are 
necessary as we expect it will take developers some time ramp up and collect 
sufficient field data to analyze give feedback, and for us to iterate on this 
feedback.


Ongoing technical constraints
None.


Debuggability
No information provided


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
No


Is this feature fully tested by web-platform-tests?
Yes



Flag name on about://flags
No information provided


Finch feature name
SoftNavigationHeuristics


Requires code in //chrome?
False


Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1338390


Estimated milestones


Origin trial desktop first 139

Origin trial desktop last 144

Origin trial extension 1 end milestone 123

Origin trial extension 2 end milestone 149

Origin trial extension 3 end milestone 123

Origin trial extension 4 end milestone 144

Origin trial Android first 139

Origin trial Android last 144

Origin trial WebView first 139

Origin trial WebView last 144




Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5144837209194496?gate=5090983379337216


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfV3qRFx0i-eGJFSzqE8bnbX8XYJCvXAj0LfvO0icPo_jA%40mail.gmail.com
Intent to Experiment: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfUb_Gn_5gGy8SnChg5KH2JN57Gv0NhnHN7Q_kH0Aa17CQ%40mail.gmail.com
Intent to Extend Experiment 1: 
https://groups.google.com/a/chromium.org/g/blink-dev/c/xxrmKr-6X38/m/48Hri1cnAgAJ
Intent to Extend Experiment 3: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfULP5d3fNCAqeO2gLP56R3HCytmaNk%2B9kpYsC2dj4%3DqoQ%40mail.gmail.com
Intent to Extend Experiment 4: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEeF2TfyN4LMy2DQwjPrsTekEw8dNXgcqiogvznagjtWyfqixA%40mail.gmail.com



This intent message was generated by Chrome Platform Status.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69cd703e.050a0220.319665.006a.GAE%40google.com.

Reply via email to