Skip to content

User Activation requirements for Session Creation cause undue friction #83

@isaacahouma

Description

@isaacahouma

Background

Built-in AI APIs currently consume transient user activation when their availability is downloadable. This aims to curb potential misuse, such as websites initiating substantial model downloads without active user engagement.

Problem Statement

Developers using Chrome’s built-in AI APIs have expressed that the transient user activation requirement adds excessive friction for usage. Tying session creation to a specific gesture, rather than a more natural moment.

For example, a user interacts with a product page, then scrolls down to see product reviews. The site wants to create a Summarizer once reviews come into view, but cannot do so, if the state is downloadable (or perhaps masked as such). The site would have needed to create the session earlier on a user interaction, or show some UI advertising the need for a new gesture.

The Proposed Change

Disclaimer: The proposed change does not apply to the Translator nor the Language Detector APIs.

This issue proposes relaxing the built-in AI APIs (Prompt, Proofreader, Rewriter, Summarizer, Writer) user activation requirements to require sticky activation, rather than consuming transient activation.

This enables developers to create sessions in the right moment, while still ensuring that APIs are only used by sites with some clear user engagement signal.

The specification should be updated to reflect that the *.create() method for the Prompt, Proofreader, Rewriter, Summarizer, and Writer APIs requires a sticky user activation rather than consuming a transient activation, when the model availability status is downloadable. This means a single significant user interaction with the page would be sufficient for the page to call create(), even if the call doesn't happen immediately after the interaction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions