Intent to Experiment: The Budget API’s getCost() and getBudget() methods

79 views
Skip to first unread message

Peter Beverloo

unread,
Apr 4, 2017, 9:44:14 PM4/4/17
to blink-dev, Jennifer Harkness, Owen

Contact emails

hark...@chromium.org, owe...@chromium.org, pe...@chromium.org


Spec

https://wicg.github.io/budget-api/

https://github.com/WICG/budget-api#web-budget-api


Summary

The Budget API grants developers a budget, based on Site Engagement Score, that can be spent on certain background operations such as receiving push messages without showing notifications. (Which will continue to require the user’s permission.)


In addition to the reserve() method, the getBudget() and getCost() methods together allow developers to plan ahead whether they’ll be able to do an operation in the near future. For example, they can determine whether they will be able to receive a push message without having to show a notifications in a few days’ time.


This is our first move in the direction of supporting “silent push”, so we’re very eager to start gathering feedback and use cases for which developers would like to use these mechanisms.


Link to “Intent to Implement” blink-dev discussion

https://groups.google.com/a/chromium.org/d/topic/blink-dev/I3FhKqtui_k/discussion


Goals for experimentation

We would like to learn more about the situations in which developers would like to receive push messages without having to show a notification, and specifically whether the budget model with a look-ahead window gives enough information to enable part of those. We also hope this will get developers thinking about other potential uses of the budget model.


Experimental timeline

Enabled:

  • 2017-04-13: M59 branch to dev channel.

  • 2017-05-04: M59 in beta channel.

  • 2017-06-06: M59 in stable channel.

  • 2017-08-01: M60 in stable channel.

  • 2017-08-08: Feedback from M59.

  • 2017-09-12: M61 in stable channel.

  • 2017-09-19: Feedback from M60.

Disabled:

  • 2017-10-24: M62 in stable channel. Experiment ends.

  • 2017-10-31: Feedback from M61.


Any risks when the experiment finishes?

None.


Ongoing technical constraints

None.


Will this feature be supported on all five Blink platforms supported by Origin Trials (Windows, Mac, Linux, Chrome OS, and Android)?

All but Android WebView. This is because the Budget API is tightly coupled with the Site Engagement Score, which is only available in the //chrome layer. (Having many dependencies.)


OWP launch tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=704725


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/5691190548627456

Dimitri Glazkov

unread,
Apr 5, 2017, 10:39:11 AM4/5/17
to Peter Beverloo, blink-dev, Jennifer Harkness, Owen
LGTM.

Peter Beverloo

unread,
May 25, 2017, 6:58:04 AM5/25/17
to blink-dev, Owen
Since shipping the reserve() API will happen in M60, I'd hereby like to share an updated timeline for this experiment. Note that the experiment will run for two milestones, M60 and M61, as opposed to three in the original e-mail.

Experimental timeline

Enabled:

  • 2017-05-25: M60 branch to dev channel.

  • 2017-06-08: M60 in beta channel.

  • 2017-08-01: M60 in stable channel.

  • 2017-09-12: M61 in stable channel.

  • 2017-09-19: Feedback from M60.

Disabled:

  • 2017-10-24: M62 in stable channel. Experiment ends.

  • 2017-10-31: Feedback from M61.


Thanks,
Peter
Reply all
Reply to author
Forward
0 new messages