[w3ctag/design-reviews] Navigation API (formerly app history API) (Issue #717)

Braw mornin' TAG!

I'm requesting a TAG review of the proposed navigation API.

The web's existing [history API](https://developer.mozilla.org/en-US/docs/Web/API/History) is problematic for a number of reasons, which makes it hard to use for web applications. This proposal introduces a new API encompassing navigation and history traversal, which is more directly usable by web application developers. Its scope is: initiating navigations, intercepting navigations, and history introspection and mutation.

This new `window.navigation` API layers on top of the existing API and specification infrastructure, with well-defined interaction points. The main differences are that it is scoped to the current origin and frame, it has a different flow for implementing single-page app navigations, and it is designed to be pleasant to use instead of being a historical accident with many sharp edges.

  - Explainer¹ (minimally containing user needs and example code): https://github.com/WICG/navigation-api/blob/main/README.md

  - Specification URL: https://wicg.github.io/navigation-api/

  - Tests: https://github.com/web-platform-tests/wpt/tree/master/app-history (being renamed)
  - User research: this is mostly a developer-facing feature, but it draws upon [some preexisting user research](https://www.gatsbyjs.com/blog/2019-07-11-user-testing-accessible-client-routing/) on the accessibility questions
  - Security and Privacy self-review²: https://github.com/WICG/navigation-api/blob/main/security-privacy-questionnaire.md

  - GitHub repo (if you prefer feedback filed there): https://github.com/WICG/navigation-api/

  - Primary contacts (and their relationship to the specification):
      - Domenic Denicola (@domenic), Google, editor
  - Organization(s)/project(s) driving the specification: Google
  - Key pieces of existing multi-stakeholder review or discussion of this specification: the issue tracker is full of discussion with web developers and with Mozilla engineers. See also https://github.com/mozilla/standards-positions/issues/543 .
  - External status/issue trackers for this specification (publicly visible, e.g. Chrome Status): https://chromestatus.com/feature/6232287446302720


Further details:

  - [x] I have reviewed the TAG's [Web Platform Design Principles](https://www.w3.org/TR/design-principles/)
  - Relevant time constraints or deadlines: we are hoping to send out an Intent to Ship before April 14, 2022
  - The group where the work on this specification is currently being done: WICG
  - The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WHATWG (HTML Standard)
  - Major unresolved issues with or opposition to this specification: no major issues. Some minor issues in https://github.com/WICG/navigation-api/milestone/1 which I am setting up a working session with Mozilla to nail down.
  - This work is being funded by: Google

You should also know that...

This was previously reviewed in https://github.com/w3ctag/design-reviews/issues/605. Based on TAG and Mozilla feedback, we had a renaming discussion in https://github.com/WICG/app-history/issues/83 which led to the new "navigation API" (and `window.navigation`) name.

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

  🐛 open issues in our GitHub repo for **each point of feedback**

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/717

You are receiving this because you are subscribed to this thread.

Message ID: <w3ctag/design-reviews/issues/717@github.com>

Received on Tuesday, 8 March 2022 19:56:34 UTC