Re: [blink-dev] New API owner: Domenic Denicola

2024-01-19 Thread Hiroki Nakagawa
Thank you and congrats, Domenic!!

On Sat, Jan 20, 2024 at 6:23 AM 'Vladimir Levin' via blink-dev <
blink-dev@chromium.org> wrote:

> Congrats, Domenic!
>
> On Fri, Jan 19, 2024 at 3:59 PM Rick Byers  wrote:
>
>> Hi blink-dev,
>> +Domenic Denicola  has volunteered to donate his
>> time and considerable web platform expertise to reviewing intent threads as
>> an API owner. Domenic is very active in the web standards community
>> including as an HTML editor, runs our spec mentors
>>  program and has
>> contributed helpfully to a wide variety of intent discussions over the past
>> year. His nomination
>>  was
>> reviewed and approved  by
>> the existing API owners today.
>>
>> Thank you Domenic!
>>Rick
>>
>> --
>> 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 blink-dev+unsubscr...@chromium.org.
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-Zq2WDWz0_UhfweWd4e4c1dr8OTaCaLXiW289pNKfDDg%40mail.gmail.com
>> 
>> .
>>
> --
> 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 blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2M%2BQ%2Bci3Eco1pPDmXzuyiz005dE64%2BAE_Qe-MTMLHX0nQ%40mail.gmail.com
> 
> .
>

-- 
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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABj5diMwMF_%2BiinYQ%3D-VrL6gvZcPtvNRGrqofNavEo4TyyYh-Q%40mail.gmail.com.


Re: [blink-dev] Intent to Ship: Same-origin prerendering triggered by the speculation rules API

2022-05-11 Thread Hiroki Nakagawa
Let me share more details of the feedback.

We worked directly with 11 external partners; 8 of them valued the
opportunity offered by Prerendering.

   - Origin Trial results: One of the external partners, Ameba News (
   https://news.ameba.jp/) has tested out same-origin prerendering via the
   Origin Trial during April 11 - 17 (1 week testing / around selected
   navigations / 2-3% of the traffic). While the site was already meeting CWV
   and good LCP, by adopting prerendering, the median LCP improved 2.7x (827ms
   to 302ms) and more importantly the P95 improved by 1.6 seconds [2843ms to
   1195ms] (i.e. Prerendered pages have more consistency in the performance).
   - Key challenges:
  - All participants identified "knowing what is safe to prerender /
  adapting a page to be safe" as a key challenge. We are exploring
follow-ups
  to lower the bar.
  - DevTools support. We are following up with the devtools team.
  - 3P RUM tools to incorporate `activationStart` to correctly measure
  FCP / LCP. We will be guiding the RUMs for required changes.
  - CrUX to incorporate the prerendering impact. We are following up
  with the CrUX team.

In addition, we worked with one internal partner who got great results
(i.e. the 45% number shared earlier).

Finally, we received the following feedback from 6 OT participants:

   - Difficulty: moderately easy (3), neither easy nor difficult (2),
   Slightly difficult (1)
   - Keep using: extremely likely (2), moderately likely (3), can't say
   which way (1)
   - Alternatives: none (2), fallback to prefetch (2)


Thanks,
Hiroki

On Tue, May 10, 2022 at 10:42 PM Hiroki Nakagawa 
wrote:

> Hi Yoav, thanks for your comments!
>
> On Tue, May 10, 2022 at 9:48 PM Yoav Weiss  wrote:
>
>>
>>
>> On Fri, Apr 22, 2022 at 7:27 PM 'Angel Raposo' via blink-dev <
>> blink-dev@chromium.org> wrote:
>>
>>> Contact emails
>>>
>>> noam.j.rosent...@gmail.com
>>> dome...@chromium.org, jbro...@chromium.org, nhir...@chromium.org,
>>> navigation-...@chromium.org
>>>
>>> Explainer
>>>
>>> This feature:
>>>
>>>
>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>>
>>> Larger project:
>>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>>
>>> Specification
>>>
>>> https://wicg.github.io/nav-speculation/prerendering.html
>>>
>>> Design docs
>>>
>>>
>>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>>
>>> Summary
>>>
>>> Prerendering is “pre”-rendering, it’s about pre-loading and rendering a
>>> Web page before the user actually navigates to it. The main goal of
>>> prerendering is to make the next page navigation faster, or ideally nearly
>>> instant.
>>>
>>> Sites can tell the user agents about which pages the user may likely
>>> visit, by asking to trigger a ‘prerendering’ for a particular URL (e.g.
>>> user is at page A and will likely navigate to page B next). Once the
>>> prerender is triggered, the browser pre-fetches the main resource,
>>> instantiates a hidden page, and processes the main resource to fetch and
>>> process more subresources.
>>>
>>> We would like to ship same-origin speculation rules prerendering. With
>>> this feature, Chrome will start prerendering high-confidence URL
>>> suggestions provided by the page using speculation rules. During the
>>> prerendering process, a page will process and construct the full DOM tree,
>>> including the execution of scripts (this differs from the prefetching
>>> resources using No-state Prefetch
>>> <https://developers.google.com/web/updates/2018/07/nostate-prefetch>)
>>>
>>> This prerendering affects how the prerendered pages are processed. The
>>> website gets loaded before the navigation is committed, and the
>>> side-effects are delayed until activation (the actual navigation to the
>>> website was committed). The website can know that it is being prerendered
>>> (document.prerendering) and when it was activated (prerenderingchange
>>> event, performance.activationStart timing). These APIs have already been
>>> approved by the previous intent-to-ship for Omnibox prerendering
>>> <https://docs.google.com/document/d/1GcB_oII6-3s24M_3ebcp5bzAtNNY5i_wh1c0jgJvv8k/edit>
>>> .
>>>
>>> Note that we are not shipping cross-origin speculation rules, which
>>> allows a web page to prerender another page under a different domain
>&

Re: [blink-dev] Intent to Ship: Same-origin prerendering triggered by the speculation rules API

2022-05-10 Thread Hiroki Nakagawa
Hi Yoav, thanks for your comments!

On Tue, May 10, 2022 at 9:48 PM Yoav Weiss  wrote:

>
>
> On Fri, Apr 22, 2022 at 7:27 PM 'Angel Raposo' via blink-dev <
> blink-dev@chromium.org> wrote:
>
>> Contact emails
>>
>> noam.j.rosent...@gmail.com
>> dome...@chromium.org, jbro...@chromium.org, nhir...@chromium.org,
>> navigation-...@chromium.org
>>
>> Explainer
>>
>> This feature:
>>
>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>
>> Larger project:
>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>
>> Specification
>>
>> https://wicg.github.io/nav-speculation/prerendering.html
>>
>> Design docs
>>
>>
>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>
>> Summary
>>
>> Prerendering is “pre”-rendering, it’s about pre-loading and rendering a
>> Web page before the user actually navigates to it. The main goal of
>> prerendering is to make the next page navigation faster, or ideally nearly
>> instant.
>>
>> Sites can tell the user agents about which pages the user may likely
>> visit, by asking to trigger a ‘prerendering’ for a particular URL (e.g.
>> user is at page A and will likely navigate to page B next). Once the
>> prerender is triggered, the browser pre-fetches the main resource,
>> instantiates a hidden page, and processes the main resource to fetch and
>> process more subresources.
>>
>> We would like to ship same-origin speculation rules prerendering. With
>> this feature, Chrome will start prerendering high-confidence URL
>> suggestions provided by the page using speculation rules. During the
>> prerendering process, a page will process and construct the full DOM tree,
>> including the execution of scripts (this differs from the prefetching
>> resources using No-state Prefetch
>> )
>>
>> This prerendering affects how the prerendered pages are processed. The
>> website gets loaded before the navigation is committed, and the
>> side-effects are delayed until activation (the actual navigation to the
>> website was committed). The website can know that it is being prerendered
>> (document.prerendering) and when it was activated (prerenderingchange
>> event, performance.activationStart timing). These APIs have already been
>> approved by the previous intent-to-ship for Omnibox prerendering
>> 
>> .
>>
>> Note that we are not shipping cross-origin speculation rules, which
>> allows a web page to prerender another page under a different domain
>> (external site). For details about our web exposed changes shipping plan,
>> please consult this doc: Interoperability Roadmap for Shipping
>> Prerender2 Incrementally
>> 
>> .
>>
>>
>> Blink component
>>
>> Internals>Preload>Prerender
>> 
>>
>> TAG review
>>
>> https://github.com/w3ctag/design-reviews/issues/667
>>
>> TAG review status
>>
>> Closed
>>
>> Risks
>> Interoperability and Compatibility
>>
>
> https://github.com/WICG/nav-speculation/issues/160 seems like something
> we'd want to settle before shipping?
>

I wonder if the issue is not blocking this I2S. Currently we support only
the basic syntax like this
,
and such advanced syntax is out of the scope. I think we can incrementally
support them later without breaking the compatibility.


> Any other open issues that may impact the compat or interop risk here?
>

We audited open issues that could potentially affect compat or interop and
concluded they have no risks. This document

summarizes the results.


> Also, is the opt-in
>  part of
> this intent?
>

This I2S doesn't cover the opt-in mechanism.


> Compatibility
>>
>> There are some use cases that will need to know whether a page is being
>> prerendered by the user agent or navigated by the user, e.g. Ads and
>> analytics are likely examples of this.
>>
>> To solve this challenge, this feature exposes `document.prerendering`
>> which indicates if the page is prerendered or not. We understand that
>> there’s always a risk of sites, that would benefit from using this API, not
>> actually using it.
>>
>> We believe that this risk is tractable because:
>>
>> (1) triggering a prerender isn’t an entirely new behavior. E.g. Chrome
>> used to have a prerendering feature a long while ago
>> 
>> triggered by URLs entered in the navigation bar
>>
>> (2) Similar behaviors are 

Re: [blink-dev] Intent to Ship: Same-origin prerendering triggered by the speculation rules API

2022-04-22 Thread Hiroki Nakagawa
Hi Dave,

Yes, this is for Android only. Sorry, we should have clarified that point.
We're going to send separate I2P and I2S for the desktop.

Thanks,
Hiroki

On Sat, Apr 23, 2022 at 2:53 AM Dave Tapuska  wrote:

> This intent is for Android only, correct?
> Will there be another Intent to Ship on Desktop?
> Presumably desktop is blocked on extensions and the compatibility risk
> regarding those. (I recently discussed this at the WECG
> 
> meeting).
>
> dave.
>
> On Fri, Apr 22, 2022 at 1:27 PM 'Angel Raposo' via blink-dev <
> blink-dev@chromium.org> wrote:
>
>> Contact emails
>>
>> noam.j.rosent...@gmail.com
>> dome...@chromium.org, jbro...@chromium.org, nhir...@chromium.org,
>> navigation-...@chromium.org
>>
>> Explainer
>>
>> This feature:
>>
>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>
>> Larger project:
>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>
>> Specification
>>
>> https://wicg.github.io/nav-speculation/prerendering.html
>>
>> Design docs
>>
>>
>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>
>> Summary
>>
>> Prerendering is “pre”-rendering, it’s about pre-loading and rendering a
>> Web page before the user actually navigates to it. The main goal of
>> prerendering is to make the next page navigation faster, or ideally nearly
>> instant.
>>
>> Sites can tell the user agents about which pages the user may likely
>> visit, by asking to trigger a ‘prerendering’ for a particular URL (e.g.
>> user is at page A and will likely navigate to page B next). Once the
>> prerender is triggered, the browser pre-fetches the main resource,
>> instantiates a hidden page, and processes the main resource to fetch and
>> process more subresources.
>>
>> We would like to ship same-origin speculation rules prerendering. With
>> this feature, Chrome will start prerendering high-confidence URL
>> suggestions provided by the page using speculation rules. During the
>> prerendering process, a page will process and construct the full DOM tree,
>> including the execution of scripts (this differs from the prefetching
>> resources using No-state Prefetch
>> )
>>
>> This prerendering affects how the prerendered pages are processed. The
>> website gets loaded before the navigation is committed, and the
>> side-effects are delayed until activation (the actual navigation to the
>> website was committed). The website can know that it is being prerendered
>> (document.prerendering) and when it was activated (prerenderingchange
>> event, performance.activationStart timing). These APIs have already been
>> approved by the previous intent-to-ship for Omnibox prerendering
>> 
>> .
>>
>> Note that we are not shipping cross-origin speculation rules, which
>> allows a web page to prerender another page under a different domain
>> (external site). For details about our web exposed changes shipping plan,
>> please consult this doc: Interoperability Roadmap for Shipping
>> Prerender2 Incrementally
>> 
>> .
>>
>>
>> Blink component
>>
>> Internals>Preload>Prerender
>> 
>>
>> TAG review
>>
>> https://github.com/w3ctag/design-reviews/issues/667
>>
>> TAG review status
>>
>> Closed
>>
>> Risks
>> Interoperability and Compatibility
>>
>> Compatibility
>>
>> There are some use cases that will need to know whether a page is being
>> prerendered by the user agent or navigated by the user, e.g. Ads and
>> analytics are likely examples of this.
>>
>> To solve this challenge, this feature exposes `document.prerendering`
>> which indicates if the page is prerendered or not. We understand that
>> there’s always a risk of sites, that would benefit from using this API, not
>> actually using it.
>>
>> We believe that this risk is tractable because:
>>
>> (1) triggering a prerender isn’t an entirely new behavior. E.g. Chrome
>> used to have a prerendering feature a long while ago
>> 
>> triggered by URLs entered in the navigation bar
>>
>> (2) Similar behaviors are already present in other browsers, e.g.
>> “Preload Top Hit” feature in Safari
>>
>> To give more flexibility to web authors (site owners) who want to
>> implement speculation rules, we are already including a header to network
>> requests as `Purpose: prefetch` so that origin servers can identify
>> requests for prerendered pages and decide how to handle them. A new header
>> will be included to provide a CORS safelist alternative 

Re: [blink-dev] Intent to Extend Experiment (2nd): Same-origin prerendering triggered by the speculation rules API

2022-04-06 Thread Hiroki Nakagawa
Thank you!

On Wed, Apr 6, 2022 at 11:55 PM Yoav Weiss  wrote:

> LGTM to extend the experimentation to M102, given the API changes with
> regards to the BroadcastChannel.
> Please note that this experiment is reaching the typical time limits of
> OTs, and experimentation beyond that would require significant
> justification and 3 LGTMs.
>
> On Wed, Apr 6, 2022 at 4:48 PM Hiroki Nakagawa 
> wrote:
>
>> Hi Yoav,
>>
>> The requested timeline is from M101 to M102. The current timeline is from
>> M94 to M100, and the experiment is still running
>>
>> On Wed, Apr 6, 2022 at 11:39 PM Yoav Weiss 
>> wrote:
>>
>>> What's the requested timeline for experimentation? Is the experiment
>>> currently still running?
>>>
>>> On Mon, Apr 4, 2022 at 4:42 PM Hiroki Nakagawa 
>>> wrote:
>>>
>>>> Contact emails
>>>>
>>>> nhir...@chromium.org, navigation-...@chromium.org
>>>>
>>>> Explainer
>>>>
>>>> This feature:
>>>> <https://chromestatus.com/admin/features/launch/5355965538893824/This%20feature:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/same-origin-explainer.md>
>>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>>>
>>>> This trial:
>>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md
>>>>
>>>> Larger project:
>>>> <https://chromestatus.com/admin/features/launch/5355965538893824/Larger%20project:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/README.md>
>>>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>>>
>>>> Specification
>>>>
>>>> https://wicg.github.io/nav-speculation/prerendering.html
>>>>
>>>> Design docs
>>>>
>>>>
>>>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>>>
>>>> Summary
>>>>
>>>> Prerendering loads a web page before it is needed, so that when the
>>>> actual navigation to that page occurs, it can be shown instantly. See the 
>>>> previous
>>>> intent
>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/tcbtZoQIlvI/m/K26gVfbUAQAJ>
>>>> for details of the feature.
>>>>
>>>>
>>>>
>>>> 
>>>>
>>>> - A partner finished an experiment and confirmed that latency on their
>>>> service is reduced by 45%.
>>>>
>>>> - The intent-to-ship for Omnibox prerendering
>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/ogegRwcRlcs/m/abCQpUFpAQAJ>
>>>> is approved. This is a different prerendering trigger, but the underlying
>>>> prerendering system and the specifications are common. We’re also going to
>>>> send the intent-to-ship for speculation rules prerendering soon.
>>>>
>>>> - We’d like to extend the experiment to address issues raised in the
>>>> intent-to-ship for Omnibox prerendering (e.g., BroadcastChannel in
>>>> prerendered pages) and verify changes merged after the last milestone of
>>>> the experiment (M100).
>>>>
>>>> Blink component
>>>>
>>>> Internals>Preload>Prerender
>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload%3EPrerender>
>>>>
>>>> TAG review
>>>>
>>>> https://github.com/w3ctag/design-reviews/issues/667
>>>>
>>>> TAG review status
>>>>
>>>> Pending
>>>>
>>>> Risks
>>>>
>>>> No updates. See the previous intent
>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/tcbtZoQIlvI/m/K26gVfbUAQAJ>
>>>> .
>>>>
>>>> Goals for experimentation
>>>>
>>>> To evaluate how the prerendering feature works on real sites before
>>>> shipping it by default. This is a large feature and it's risky to ship
>>>> without trying it first on real sites. We will be evaluating performance,
>>>> stability, and correctness, and any other feedback the sites have when they
>>>> use this feature.
>>>>
>>>> Reason this experiment is being extended
>>>>
>>>> We’d like to extend the experiment to address issues raised in the
>>>> intent for Om

Re: [blink-dev] Intent to Extend Experiment (2nd): Same-origin prerendering triggered by the speculation rules API

2022-04-06 Thread Hiroki Nakagawa
Hi Yoav,

The requested timeline is from M101 to M102. The current timeline is from
M94 to M100, and the experiment is still running

On Wed, Apr 6, 2022 at 11:39 PM Yoav Weiss  wrote:

> What's the requested timeline for experimentation? Is the experiment
> currently still running?
>
> On Mon, Apr 4, 2022 at 4:42 PM Hiroki Nakagawa 
> wrote:
>
>> Contact emails
>>
>> nhir...@chromium.org, navigation-...@chromium.org
>>
>> Explainer
>>
>> This feature:
>> <https://chromestatus.com/admin/features/launch/5355965538893824/This%20feature:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/same-origin-explainer.md>
>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>
>> This trial:
>> https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md
>>
>> Larger project:
>> <https://chromestatus.com/admin/features/launch/5355965538893824/Larger%20project:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/README.md>
>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>
>> Specification
>>
>> https://wicg.github.io/nav-speculation/prerendering.html
>>
>> Design docs
>>
>>
>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>
>> Summary
>>
>> Prerendering loads a web page before it is needed, so that when the
>> actual navigation to that page occurs, it can be shown instantly. See the 
>> previous
>> intent
>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/tcbtZoQIlvI/m/K26gVfbUAQAJ>
>> for details of the feature.
>>
>>
>>
>> 
>>
>> - A partner finished an experiment and confirmed that latency on their
>> service is reduced by 45%.
>>
>> - The intent-to-ship for Omnibox prerendering
>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/ogegRwcRlcs/m/abCQpUFpAQAJ>
>> is approved. This is a different prerendering trigger, but the underlying
>> prerendering system and the specifications are common. We’re also going to
>> send the intent-to-ship for speculation rules prerendering soon.
>>
>> - We’d like to extend the experiment to address issues raised in the
>> intent-to-ship for Omnibox prerendering (e.g., BroadcastChannel in
>> prerendered pages) and verify changes merged after the last milestone of
>> the experiment (M100).
>>
>> Blink component
>>
>> Internals>Preload>Prerender
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload%3EPrerender>
>>
>> TAG review
>>
>> https://github.com/w3ctag/design-reviews/issues/667
>>
>> TAG review status
>>
>> Pending
>>
>> Risks
>>
>> No updates. See the previous intent
>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/tcbtZoQIlvI/m/K26gVfbUAQAJ>
>> .
>>
>> Goals for experimentation
>>
>> To evaluate how the prerendering feature works on real sites before
>> shipping it by default. This is a large feature and it's risky to ship
>> without trying it first on real sites. We will be evaluating performance,
>> stability, and correctness, and any other feedback the sites have when they
>> use this feature.
>>
>> Reason this experiment is being extended
>>
>> We’d like to extend the experiment to address issues raised in the intent
>> for Omnibox prerendering and verify changes merged after the last milestone
>> of the experiment (M100).
>>
>> Ongoing technical constraints
>>
>> None
>>
>> Debuggability
>>
>> Currently DevTools does not work for prerendered pages. On activation,
>> DevTools must be closed and reopened in order to inspect the page. We have
>> plans to add DevTools support for prerendering. A meta bug for this work is
>> at https://crbug.com/1217029.
>>
>>
>>
>> As a very small support, prerendered pages are visible in
>> chrome://process-internals. Also final results of prerendering are shown in
>> chrome://histograms.
>>
>>
>>
>> 
>>
>> We started implementing the DevTools support for prerendering. As a first
>> step, we will expose prerender activation/cancellation result to the
>> DevTools (https://crbug.com/1249776)
>>
>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>> Linux, Chrome OS, Android, and Android WebView)?
>>
>> No. This feature is only supported on Android at first. As the feature
>>

[blink-dev] Intent to Extend Experiment (2nd): Same-origin prerendering triggered by the speculation rules API

2022-04-04 Thread Hiroki Nakagawa
Contact emails

nhir...@chromium.org, navigation-...@chromium.org

Explainer

This feature:

https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md

This trial:
https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md

Larger project:

https://github.com/WICG/nav-speculation/blob/main/README.md

Specification

https://wicg.github.io/nav-speculation/prerendering.html

Design docs

https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing

Summary

Prerendering loads a web page before it is needed, so that when the actual
navigation to that page occurs, it can be shown instantly. See the previous
intent

for details of the feature.





- A partner finished an experiment and confirmed that latency on their
service is reduced by 45%.

- The intent-to-ship for Omnibox prerendering

is approved. This is a different prerendering trigger, but the underlying
prerendering system and the specifications are common. We’re also going to
send the intent-to-ship for speculation rules prerendering soon.

- We’d like to extend the experiment to address issues raised in the
intent-to-ship for Omnibox prerendering (e.g., BroadcastChannel in
prerendered pages) and verify changes merged after the last milestone of
the experiment (M100).

Blink component

Internals>Preload>Prerender


TAG review

https://github.com/w3ctag/design-reviews/issues/667

TAG review status

Pending

Risks

No updates. See the previous intent

.

Goals for experimentation

To evaluate how the prerendering feature works on real sites before
shipping it by default. This is a large feature and it's risky to ship
without trying it first on real sites. We will be evaluating performance,
stability, and correctness, and any other feedback the sites have when they
use this feature.

Reason this experiment is being extended

We’d like to extend the experiment to address issues raised in the intent
for Omnibox prerendering and verify changes merged after the last milestone
of the experiment (M100).

Ongoing technical constraints

None

Debuggability

Currently DevTools does not work for prerendered pages. On activation,
DevTools must be closed and reopened in order to inspect the page. We have
plans to add DevTools support for prerendering. A meta bug for this work is
at https://crbug.com/1217029.



As a very small support, prerendered pages are visible in
chrome://process-internals. Also final results of prerendering are shown in
chrome://histograms.





We started implementing the DevTools support for prerendering. As a first
step, we will expose prerender activation/cancellation result to the
DevTools (https://crbug.com/1249776)

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

No. This feature is only supported on Android at first. As the feature is a
cross-cutting one, where almost all of Chrome's features must be
potentially taught about prerendered pages, we are starting with a single
platform and expanding later.

Is this feature fully tested by web-platform-tests

?

Partially tested [cs
].
We’re now upstreaming wpt_internals/ tests [doc

].

Flag name

Prerender2

Requires code in //chrome?

False

Tracking bug

https://crbug.com/1126305

Launch bug

https://crbug.com/1167987

Estimated milestones

The initial experiment timeline: M94 to M98 [I2E

]

The previous extended timeline: M99 to M100 [I2EE

]

Requested extension timeline: M101 to M102

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5355965538893824



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 

Re: [blink-dev] Intent to Extend Experiment: Same-origin prerendering triggered by the speculation rules API

2021-12-15 Thread Hiroki Nakagawa
Good point. I think actually they don't need 4 more milestones for starting
the experiment, so extending to 100 should be enough. Let me change the
requesting milestones as follows:

Estimated milestones

Previous experiment timeline: M94 to M98

Requested extension timeline: *M99 to M100*


On Thu, Dec 16, 2021 at 12:33 AM Mike West  wrote:

> In that case, do you need 4 more milestones? We've set a cap of 9
> milestones
> <https://www.chromium.org/blink/origin-trials/running-an-origin-trial#:~:text=16%20weeks)%2C%20with%20a-,cap%20of%209%20milestones,-(~36%20weeks)%20absent>
>  for
> OTs generally; this would bring y'all to 8. Do you need that entire period
> if folks are actively experimenting now? If folks started testing in 97,
> extending to 100 would give them 4 milestones to work with, which might be
> enough?
>
> -mike
>
>
> On Wed, Dec 15, 2021 at 4:22 PM Hiroki Nakagawa 
> wrote:
>
>> Hi Mike,
>>
>> We are aware that some sites are now running their experiments. In
>> addition to that, another site has been preparing for the experiment. We
>> are now actively helping them.
>>
>> On Thu, Dec 16, 2021 at 12:08 AM Mike West  wrote:
>>
>>> Was any site able to try this out during the initial experimental
>>> period? Or is this really just a delayed start to the trial? I think it's
>>> reasonable to extend out 4 additional milestones, but if you really didn't
>>> see any usage at all, it might be reasonable to consider this as a new
>>> starting date as opposed to an extension.
>>>
>>> -mike
>>>
>>>
>>> On Wed, Dec 15, 2021 at 1:45 PM Hiroki Nakagawa 
>>> wrote:
>>>
>>>> Hi Yoav,
>>>> The requesting milestones are from M99 to M103 (The previous
>>>> milestones were from M94 to M98).
>>>>
>>>>
>>>> On Wed, Dec 15, 2021 at 6:02 PM Yoav Weiss 
>>>> wrote:
>>>>
>>>>> What are the milestones for the continued experimentation?
>>>>>
>>>>> On Wed, Dec 15, 2021 at 2:12 AM Hiroki Nakagawa 
>>>>> wrote:
>>>>>
>>>>>> Contact emails
>>>>>>
>>>>>> nhir...@chromium.org, navigation-...@chromium.org
>>>>>>
>>>>>> Explainer
>>>>>>
>>>>>> This feature:
>>>>>> <https://chromestatus.com/admin/features/launch/5355965538893824/This%20feature:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/same-origin-explainer.md>
>>>>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>>>>>
>>>>>> This trial:
>>>>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md
>>>>>>
>>>>>> Larger project:
>>>>>> <https://chromestatus.com/admin/features/launch/5355965538893824/Larger%20project:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/README.md>
>>>>>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>>>>>
>>>>>> Specification
>>>>>>
>>>>>> https://wicg.github.io/nav-speculation/prerendering.html
>>>>>>
>>>>>> Design docs
>>>>>>
>>>>>>
>>>>>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>>>>>
>>>>>> Summary
>>>>>>
>>>>>> Prerendering loads a web page before it is needed, so that when the
>>>>>> actual navigation to that page occurs, it can be shown instantly.
>>>>>>
>>>>>> This experiment is for the specific case of same-origin prerendering
>>>>>> triggered by the Speculation Rules API. An earlier, related experiment
>>>>>> supported prefetching
>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Cw-hOjT47qI/m/EObn9-4MAgAJ>
>>>>>> using this API. This is a separate experiment that requires its own 
>>>>>> origin
>>>>>> trial token.
>>>>>>
>>>>>> This experiment has some limitations. See the explainer
>>>>>> <https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md#speculation-rules>
>>>>>> for details.
>>>>>>
>>>>>> Blink component
>>>>>>
>>>

Re: [blink-dev] Intent to Extend Experiment: Same-origin prerendering triggered by the speculation rules API

2021-12-15 Thread Hiroki Nakagawa
Hi Mike,

We are aware that some sites are now running their experiments. In addition
to that, another site has been preparing for the experiment. We are now
actively helping them.

On Thu, Dec 16, 2021 at 12:08 AM Mike West  wrote:

> Was any site able to try this out during the initial experimental period?
> Or is this really just a delayed start to the trial? I think it's
> reasonable to extend out 4 additional milestones, but if you really didn't
> see any usage at all, it might be reasonable to consider this as a new
> starting date as opposed to an extension.
>
> -mike
>
>
> On Wed, Dec 15, 2021 at 1:45 PM Hiroki Nakagawa 
> wrote:
>
>> Hi Yoav,
>> The requesting milestones are from M99 to M103 (The previous milestones
>> were from M94 to M98).
>>
>>
>> On Wed, Dec 15, 2021 at 6:02 PM Yoav Weiss 
>> wrote:
>>
>>> What are the milestones for the continued experimentation?
>>>
>>> On Wed, Dec 15, 2021 at 2:12 AM Hiroki Nakagawa 
>>> wrote:
>>>
>>>> Contact emails
>>>>
>>>> nhir...@chromium.org, navigation-...@chromium.org
>>>>
>>>> Explainer
>>>>
>>>> This feature:
>>>> <https://chromestatus.com/admin/features/launch/5355965538893824/This%20feature:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/same-origin-explainer.md>
>>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>>>
>>>> This trial:
>>>> https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md
>>>>
>>>> Larger project:
>>>> <https://chromestatus.com/admin/features/launch/5355965538893824/Larger%20project:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/README.md>
>>>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>>>
>>>> Specification
>>>>
>>>> https://wicg.github.io/nav-speculation/prerendering.html
>>>>
>>>> Design docs
>>>>
>>>>
>>>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>>>
>>>> Summary
>>>>
>>>> Prerendering loads a web page before it is needed, so that when the
>>>> actual navigation to that page occurs, it can be shown instantly.
>>>>
>>>> This experiment is for the specific case of same-origin prerendering
>>>> triggered by the Speculation Rules API. An earlier, related experiment
>>>> supported prefetching
>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Cw-hOjT47qI/m/EObn9-4MAgAJ>
>>>> using this API. This is a separate experiment that requires its own origin
>>>> trial token.
>>>>
>>>> This experiment has some limitations. See the explainer
>>>> <https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md#speculation-rules>
>>>> for details.
>>>>
>>>> Blink component
>>>>
>>>> Internals>Preload>Prerender
>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload%3EPrerender>
>>>>
>>>> TAG review
>>>>
>>>> https://github.com/w3ctag/design-reviews/issues/667
>>>>
>>>> TAG review status
>>>>
>>>> Pending
>>>>
>>>> Risks
>>>>
>>>> Interoperability and Compatibility
>>>>
>>>> Interoperability risk: We believe that some browsers already have
>>>> prerendering implementations which are not well-specified and may differ
>>>> from each other. Our vision is to produce a specification that can help
>>>> improve interoperability. There is a risk that other browsers do not
>>>> converge on a prerendering standard. The danger here is that different
>>>> browsers have different ways to trigger a prerendered page, and prerendered
>>>> pages behave differently in different browsers.
>>>>
>>>> Prerendering is a web-visible behavior, since it involves fetching the
>>>> page and executing its scripts.
>>>>
>>>> Prerendering can depend on UA-specific heuristics. For example, the
>>>> browser might decide to act on a hint to prerender based on the system
>>>> load, and the presence of other prerenders. We do not intend to codify
>>>> heuristics in the specification. A conforming brow

Re: [blink-dev] Intent to Extend Experiment: Same-origin prerendering triggered by the speculation rules API

2021-12-15 Thread Hiroki Nakagawa
Hi Yoav,
The requesting milestones are from M99 to M103 (The previous milestones
were from M94 to M98).


On Wed, Dec 15, 2021 at 6:02 PM Yoav Weiss  wrote:

> What are the milestones for the continued experimentation?
>
> On Wed, Dec 15, 2021 at 2:12 AM Hiroki Nakagawa 
> wrote:
>
>> Contact emails
>>
>> nhir...@chromium.org, navigation-...@chromium.org
>>
>> Explainer
>>
>> This feature:
>> <https://chromestatus.com/admin/features/launch/5355965538893824/This%20feature:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/same-origin-explainer.md>
>> https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md
>>
>> This trial:
>> https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md
>>
>> Larger project:
>> <https://chromestatus.com/admin/features/launch/5355965538893824/Larger%20project:%20https://github.com/jeremyroman/alternate-loading-modes/blob/main/README.md>
>> https://github.com/WICG/nav-speculation/blob/main/README.md
>>
>> Specification
>>
>> https://wicg.github.io/nav-speculation/prerendering.html
>>
>> Design docs
>>
>>
>> https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
>>
>> Summary
>>
>> Prerendering loads a web page before it is needed, so that when the
>> actual navigation to that page occurs, it can be shown instantly.
>>
>> This experiment is for the specific case of same-origin prerendering
>> triggered by the Speculation Rules API. An earlier, related experiment
>> supported prefetching
>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Cw-hOjT47qI/m/EObn9-4MAgAJ>
>> using this API. This is a separate experiment that requires its own origin
>> trial token.
>>
>> This experiment has some limitations. See the explainer
>> <https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md#speculation-rules>
>> for details.
>>
>> Blink component
>>
>> Internals>Preload>Prerender
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload%3EPrerender>
>>
>> TAG review
>>
>> https://github.com/w3ctag/design-reviews/issues/667
>>
>> TAG review status
>>
>> Pending
>>
>> Risks
>>
>> Interoperability and Compatibility
>>
>> Interoperability risk: We believe that some browsers already have
>> prerendering implementations which are not well-specified and may differ
>> from each other. Our vision is to produce a specification that can help
>> improve interoperability. There is a risk that other browsers do not
>> converge on a prerendering standard. The danger here is that different
>> browsers have different ways to trigger a prerendered page, and prerendered
>> pages behave differently in different browsers.
>>
>> Prerendering is a web-visible behavior, since it involves fetching the
>> page and executing its scripts.
>>
>> Prerendering can depend on UA-specific heuristics. For example, the
>> browser might decide to act on a hint to prerender based on the system
>> load, and the presence of other prerenders. We do not intend to codify
>> heuristics in the specification. A conforming browser might simply ignore
>> all hints to prerender a page.
>>
>> Compatibility risk: Some use cases will need to know whether a page is
>> being prerendered. Ads and analytics are likely examples of this. This
>> feature exposes `document.prerendering` to detect prerendering, but there
>> is a risk of sites that would benefit from using the API, not using it. We
>> believe that this risk is tractable because prerendering has existed in
>> Chrome in the recent past and currently exists in some other browsers. We
>> also intend to add a header to network requests like `Purpose: prefetch` so
>> that origin servers can identify requests for prerendered pages.
>>
>>
>> Gecko: No signal
>>
>>
>> WebKit: No signals, while Safari appears to have some form of
>> prerendering already.
>>
>>
>> Web developers: No signals
>>
>>
>> Other signals: No signals
>>
>>
>>
>> Ergonomics
>>
>> This feature is triggered by the Speculation Rules API:
>> https://chromestatus.com/feature/5740655424831488
>>
>>
>> Activation
>>
>> Developers can use the Speculation Rules API to use the feature. The
>> feature should just work for most existing pages. Developers should be
>> 

[blink-dev] Intent to Extend Experiment: Same-origin prerendering triggered by the speculation rules API

2021-12-14 Thread Hiroki Nakagawa
Contact emails

nhir...@chromium.org, navigation-...@chromium.org

Explainer

This feature:

https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md

This trial:
https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md

Larger project:

https://github.com/WICG/nav-speculation/blob/main/README.md

Specification

https://wicg.github.io/nav-speculation/prerendering.html

Design docs

https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing

Summary

Prerendering loads a web page before it is needed, so that when the actual
navigation to that page occurs, it can be shown instantly.

This experiment is for the specific case of same-origin prerendering
triggered by the Speculation Rules API. An earlier, related experiment
supported prefetching

using this API. This is a separate experiment that requires its own origin
trial token.

This experiment has some limitations. See the explainer

for details.

Blink component

Internals>Preload>Prerender


TAG review

https://github.com/w3ctag/design-reviews/issues/667

TAG review status

Pending

Risks

Interoperability and Compatibility

Interoperability risk: We believe that some browsers already have
prerendering implementations which are not well-specified and may differ
from each other. Our vision is to produce a specification that can help
improve interoperability. There is a risk that other browsers do not
converge on a prerendering standard. The danger here is that different
browsers have different ways to trigger a prerendered page, and prerendered
pages behave differently in different browsers.

Prerendering is a web-visible behavior, since it involves fetching the page
and executing its scripts.

Prerendering can depend on UA-specific heuristics. For example, the browser
might decide to act on a hint to prerender based on the system load, and
the presence of other prerenders. We do not intend to codify heuristics in
the specification. A conforming browser might simply ignore all hints to
prerender a page.

Compatibility risk: Some use cases will need to know whether a page is
being prerendered. Ads and analytics are likely examples of this. This
feature exposes `document.prerendering` to detect prerendering, but there
is a risk of sites that would benefit from using the API, not using it. We
believe that this risk is tractable because prerendering has existed in
Chrome in the recent past and currently exists in some other browsers. We
also intend to add a header to network requests like `Purpose: prefetch` so
that origin servers can identify requests for prerendered pages.


Gecko: No signal


WebKit: No signals, while Safari appears to have some form of prerendering
already.


Web developers: No signals


Other signals: No signals



Ergonomics

This feature is triggered by the Speculation Rules API:
https://chromestatus.com/feature/5740655424831488


Activation

Developers can use the Speculation Rules API to use the feature. The
feature should just work for most existing pages. Developers should be
aware of restrictions on prerendering content (they cannot play audio or
perform other disruptive behavior, etc). This feature would benefit from
good documentation.


Security

This feature is the first use of the Multiple-Page Architecture, which is a
significant change to Chromium's internals. Both MPArch and this feature in
particular underwent significant security review. See the design doc for
more details.

>From a web-exposed perspective, the security and privacy concerns are
smaller, because this feature is restricted to the same-origin case only.


Goals for experimentation

To evaluate how the prerendering feature works on real sites before
shipping it by default. This is a large feature and it's risky to ship
without trying it first on real sites. We will be evaluating performance,
stability, and correctness, and any other feedback the sites have when they
use this feature.


Reason this experiment is being extended

The sites participating in this trial need more time to set up their
services with the feature. We would like to collect more data from them for
evaluating the feature.


Ongoing technical constraints

None


Debuggability

Currently DevTools does not work for prerendered pages. On activation,
DevTools must be closed and reopened in order to inspect