I was the spec mentor for Yao's work on this feature, and am chiming in to
provide the requested spec maturity summary
<https://www.chromium.org/blink/launching-features/#:~:text=If%20your%20specification%20isn%27t%20a%20modification%20of%20an%20existing%20specification%2C%20include%20a%20one%2Dline%20spec%20maturity%20summary%20from%20someone%20outside%20your%20team%20(like%20your%20spec%20mentor)%20who%20has%20done%20a%20review.>
.

I am very happy with the rigor of this specification. The algorithms and
APIs are given in full detail, and I am as confident as I can be that
another implementer would be able to follow and create an interoperable
implementation. I'm also happy with how some of the design discussions
went, e.g. we recently made changes to the Sec-Browsing-Topics HTTP request
header which improved its parse-ability and robustness.

The slicing of the specification into implementation-defined vs.
interoperable behavior is tricky, and as Josh notes, can evolve over time.
E.g. this PR <https://github.com/patcg-individual-drafts/topics/pull/203>
proposes
making the "top 5 topics" algorithm implementation-defined. (But, it keeps
Chrome's version in a non-normative note, which I think is really helpful!)
And there are browser vendor identifiers and version numbers baked into the
return values of the spec. It's hard to say whether this setup will
*guarantee* us the ability to evolve the API going forward, but I think the
team has done a good job setting up the infrastructure to avoid any known
failure modes.

I will note that the open issues list
<https://github.com/patcg-individual-drafts/topics/issues?q=is%3Aopen> for
the specification is enormous, but my experience with Privacy Sandbox
specifications is that their issues list turn into discussion forums pretty
easily. I'm happy to trust the team's appraisal (under "Anticipate spec
changes") that there aren't any open issues which will be significant
disruptions to the specification.

On Wed, Jun 21, 2023 at 2:40 AM Josh Karlin <jkar...@chromium.org> wrote:

> Contact emails
>
> jkar...@chromium.org, yao...@chromium.org, leeronisr...@google.com
>
> Explainer
>
> https://github.com/patcg-individual-drafts/topics
>
> Specification
>
> https://patcg-individual-drafts.github.io/topics/
>
> Summary
>
> The intent of the Topics API is to provide callers (including third-party
> ad-tech or advertising providers on the page that run script) with
> coarse-grained advertising topics that the page visitor might currently be
> interested in for the purposes of advertising. These topics will supplement
> the contextual signals from the current page and can be combined to help
> find an appropriate advertisement for the visitor without the advertiser
> having to track the user’s detailed browsing history as is done with
> third-party cookies and fingerprinting today.
>
> Blink Component
>
> Blink>TopicsAPI
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ETopicsAPI>
>
> TAG Review
>
> Early design review for the Topics API · Issue #726
> <https://github.com/w3ctag/design-reviews/issues/726#issuecomment-1379908459>
>
> TAG review status
>
> Pending
>
> Risks
>
> Interoperability and Compatibility
>
> Gecko: Negative (https://github.com/mozilla/standards-positions/issues/622
> )
>
> WebKit: Negative (https://github.com/WebKit/standards-positions/issues/111
> <https://github.com/WebKit/standards-positions/issues/111#issuecomment-1359609317>
> )
>
> To reduce risk in the event that we later decide to replace this API with
> one that has more browser support, the API can be effectively disabled
> without breaking pages by rejecting the promise or returning empty lists of
> topics.
>
> Web developers: We’ve had significant OT participation
> <https://github.com/patcg-individual-drafts/topics/blob/main/topics-tester-list.md>
> and feedback in our periodic W3C PATCG calls
> <https://github.com/patcg-individual-drafts/topics/tree/24c87897e32974c1328b74438feb97bf2ec43375/meetings>,
> discussions on various GitHub issues
> <https://github.com/patcg-individual-drafts/topics/issues>,
> Chrome-facilitated office hours, discussion with industry trade groups
> representing a variety of stakeholder groups, and more. Some initial
> feedback on utility has been published by Criteo
> <https://medium.com/criteo-engineering/is-googles-topics-api-a-viable-replacement-for-interest-based-advertising-297076192bd>,
> Google Ads
> <https://github.com/google/ads-privacy/blob/master/Testing%20IBA%20with%20Privacy%20Preserving%20Signals.pdf>
> and Retargetly
> <https://retargetly.com/blog-en/a-brief-dive-into-retargetlys-experience-testing-googles-privacy-sandbox>.
> We recently announced
> <https://developer.chrome.com/blog/topics-enhancements/> upcoming
> improvements to utility (not API surface changing) based on that initial
> feedback.
>
> Activation
>
> Starting in August 2023, enrollment
> <https://developer.chrome.com/en/blog/announce-enrollment-privacy-sandbox/>
> will be required to use the API. This is not a compat risk in the sense
> that the API will simply reject for callers if they are not enrolled.
>
> Other signals:
>
> WebView application risks
>
> None
>
> Debuggability
>
> There is a useful internals page: chrome://topics-internals, which shows
> the user’s current topics, allows for querying the API’s classifier, and
> provides developer experimentation tooling.
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, Chrome OS, Android, and Android WebView)?
>
> All but WebView
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> IDL surface is tested
> <https://wpt.fyi/results/browsing-topics?label=experimental&label=master&aligned>,
> the actual returned topics are not as they are browser dependent.
>
>
> Note for the failing tests: Chrome will roll out this feature via Chrome
> Variations
> <https://developer.chrome.com/docs/web-platform/chrome-variations/>,
> rather than enabling the runtime features
> <https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/renderer/platform/RuntimeEnabledFeatures.md>
> directly. This means related WPTs need to be virtual, and it isn't
> supported in wpt.fyi.
>
> Requires code in //chrome?
>
> No
>
> Launch bug
>
> https://bugs.chromium.org/p/chromium/issues/detail?id=1286877
>
>
> Anticipated spec changes
>
> As mentioned above, we anticipate changes to the classification model, the
> taxonomy, the top topics selection algorithm, and possibly some parameters
> in the future as we try to improve the API’s utility over time. The API
> already provides version numbers with each returned topic for each of these
> features, as changes of this nature were anticipated from the beginning.
> These changes will not break sites. Developers may need to retrain their
> models and adapt to the new underlying algorithms, so we will announce the
> changes via channels such as blink-dev FYI as well as on the various
> support mailing lists.
>
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/5680923054964736
>
> Links to previous Intent discussions
>
> Intent to prototype:
> https://groups.google.com/a/chromium.org/g/blink-dev/c/59uTw_dxM3M/m/vF9lF9BVAgAJ
>
>
> Intent to experiment:
>
>
> https://groups.google.com/a/chromium.org/g/blink-dev/c/oTwd6VwCwqs/m/pk7JPbXLAQAJ
>
>
> Intent to extend origin trial:
>
>
> https://groups.google.com/a/chromium.org/g/blink-dev/c/SD8Ot2gpz4g/m/A9uA-_cGAwAJ
>
>
>
> https://groups.google.com/a/chromium.org/g/blink-dev/c/gpmaOi3of_w/m/SyMclFhMAAAJ
>
>
> https://groups.google.com/a/chromium.org/g/blink-dev/c/CBrV-2DrYFI/m/RTojC6kHAgAJ
>
> --
> 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/CAANMuaNc94moaqPPWepai4THP1rOvXoxvixS%3Dostu2QGMLPtvA%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAANMuaNc94moaqPPWepai4THP1rOvXoxvixS%3Dostu2QGMLPtvA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAM0wra93k%3DCKtsTb0RYrhi9sh7tB-Yi%2B_K8aPtkRO2xrccq6Jg%40mail.gmail.com.

Reply via email to