Web Budget API Draft
wicg.github.io
wicg.github.io
Edit: Here's a good summary: https://developers.google.com/web/updates/2017/06/budget-api
Basically, this lets you run low-cost background tasks without a confirmation from the user. I really, really don't like this, and I hope that, at the very least, this is easy to disable in all the popular browsers.
Edit 2: The above is not correct; browsers already allow a limited amount of background work to happen, and this API just exposes the budget information to the developer. Thanks for the clarification, swsieber.
"This specification does not define how user agents establish or store the amount of current budget. It aims to define an API that exposes sufficient information to make the budget useful for authors, while not restricting the implementation details and heuristics specific to a user agent."
So basically, the Push API and Web Background Synchronization actually do that. This just lets pages programmatically find out what the limits are like.
To make an analogy to localStorage - this api is like being able to query local storage for how much space is available, and how often it gets deleted.
"The Push Messaging API enables us to send notifications to a user even when the browser is closed. [...] but the API has one important restriction: you must always display a notification for every single push message recieved."
And later:
"The Budget API, is a new API designed to allow developers to perform limited background work without notifying the user, such as silent push or performing a background fetch."
Edit: Reading through the spec more closely, it appears you are correct in that this is already happening on the browser side, and that this API just exposes the budgeting details to the developer. The Google Developer page's wording is just somewhat misleading. Thanks for the clarification.
Both the parent link and the link you specified clearly outline their use cases. Basically, because of a shift to work that can be done invisibly or without a user's consent in a browser, it's important to allow the user to make an informed consent to processor intensive tasks. This API is a step in that direction.
[0]https://www.w3.org/blog/2015/07/wicg/ [1]https://www.w3.org/community/wicg/participants
it used to be HTML and CSS. With all these developments it's turning into a javascript based operating system working out of browsers.
It used to be plain text, now you can make real applications on it and for the most part they run sandboxed and with little privilege.
I think this is a win for both users (who can get full apps without giving dubious software full access to their system) and developers (who can distribute apps that are generally much faster to download)
Plus you can still deploy your 20-year-old HTML and CSS pages. How cool is that? (Yep, CSS is literally 20.5 years old)
Can anyone explain how I can tell how many magic background apps I might have running on Chrome for Android without my consent?