[w3ctag/design-reviews] Back/Forward Cache (#628)

Hi TAG!

I'm requesting a TAG review of Back/Forward Cache (BFCache).

We’ve recently looked into how BFCache is specified in the HTML spec and other standards, and noticed some problems with the current state. We’ve identified possible solutions for some of them, but we’re interested in getting TAG’s opinion on how we should approach these problems, especially the ones we don’t really have answers to.

The explainer can be found [here](https://github.com/rakina/bfcache-explainer/blob/main/README.md). TL;DR:

- How various APIs/existing concepts interact with BFCache is quite underspecified
- How BFCache is specified is quite subtle, so it’s hard for API spec authors to specify things correctly
- User agent implementation varies quite a lot
- We have concrete proposal to update various docs ([Web Platform Design Principles](https://w3ctag.github.io/design-principles/) and [Security and Privacy Questionnaire](https://www.w3.org/TR/security-privacy-questionnaire/)) and improve the foundational HTML spec, but there are open questions on more high-level stuff such as “How should we retrofit current APIs” and “Which behavior should be specified and which should be left to user agents’ discretion?”

This is probably different from the usual TAG review request, as we’re not really asking for a review of specific APIs, but instead want to answer more meta questions around the design process and how we should approach specifying things (as mentioned above). Our goal is to improve currently-existing specifications and also ensure new APIs are designed with BFCache support in mind by integrating it into the existing design guidelines (and hopefully TAG reviews can help enforce this).


  - Explainer¹ (minimally containing user needs and example code): https://github.com/rakina/bfcache-explainer/blob/main/README.md

  - Primary contacts (and their relationship to the specification):
      - Rakina Zata Amni (@rakina), Google
      - Fergal Daly (@fergald), Google
      - Domenic Denicola (@domenic), Google
  - Organization(s)/project(s) driving the specification: Google
  - Key pieces of existing multi-stakeholder review or discussion of this specification: https://github.com/whatwg/html/issues/5880 
  - External status/issue trackers for this specification (publicly visible, e.g. Chrome Status): https://www.chromestatus.com/feature/5815270035685376


Further details:

  - [x] I have reviewed the TAG's [Web Platform Design Principles](https://w3ctag.github.io/design-principles/)
  - Relevant time constraints or deadlines: We're hoping to update TAG docs etc sometime in the next 1-2 months
  - The group where the work on this specification is currently being done: WHATWG
  - The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WHATWG
  - Major unresolved issues with or opposition to this specification: (see [explainer](https://github.com/rakina/bfcache-explainer/blob/main/README.md))
  - This work is being funded by: Google

We'd prefer the TAG provide feedback as (please delete all but the desired option):

  💬 leave review feedback as a **comment in this issue** and @-notify @rakina


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/628

Received on Friday, 30 April 2021 14:16:38 UTC