Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expands on the declarative alternative solution for Web Install #975

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

diekus
Copy link
Member

@diekus diekus commented Feb 27, 2025

  • expands on declarative alternative and the reasons why we think starting with an imperative API works best.
  • adds details about the try-before-you-buy scenario as UA defined UX.

* expands on declarative alternative and the reasons why we think starting with an imperative API works best.
* adds details about the try-before-you-buy scenario as UA defined UX.
@diekus diekus requested a review from HowardWolosky February 27, 2025 18:17
@diekus diekus self-assigned this Feb 27, 2025
@diekus diekus added the Web Install API Declarative install for web apps from a web app. label Feb 27, 2025
Copy link
Contributor

@HowardWolosky HowardWolosky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there's an opportunity to simplify how the declarative install section is written, as there's a lot of duplication in there.

diekus and others added 7 commits February 27, 2025 21:16
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
* Streamlines the declarative alternative explanation
@diekus diekus requested a review from HowardWolosky February 27, 2025 21:30
Copy link
Contributor

@HowardWolosky HowardWolosky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice update. I think we just need to expand on why keeping current context is a net benefit for devs and users. That's an unaddressed part of the TAG feedback.

* Supports `install_url`. This url can be an optimized url or the normal homepage that an application already has. The advantage is that unlike a declarative version, there is no scenario where an end user can be left stranded accidentally in a blank page that is meant to be a lightweight entry point to the app.
* Code can be used to detect if an origin has [permission](#new-installation-permission-for-origin) to install apps, and UX can be tailored to change accordingly (for example, remove a button or display a link instead).
* The developer ergonomics of handling a promise are better than responding to an `a` tag navigation.
* Keeps the user in the context, which *can* be beneficial in certain scenarios (if the developer *wants* to take the user out of the current context, they *can* do so with a `a` tag).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the TAG review, some of the feedback was this: "'Takes the user out of the current context.' is a downside, but the TAG currently disagrees that that's a downside and would need to be convinced. What data have you collected that shows that it's bad for users to have to visit a website before installing it? A "peek" UI like https://resources.arc.net/hc/en-"

You and I are in agreement that there exist potential dev benefits to allow the current context to be retained, but I don't think you've managed to provide an actual example here to demonstrate that. I just think we need to flush this point out a little further. They ask what data we have for our suggestion. We have at least one web developer (store.app) who's desired model would be to have the install occur without navigating away (in theory to facilitate multiple installations). TAG doesn't present data to the contrary. I don't think we necessarily need data, but flushing out realistic scenarios might help close this part of the conversation down.

diekus and others added 4 commits February 28, 2025 10:08
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
Co-authored-by: Howard Wolosky <[email protected]>
* Adds mention of a use case where it makes sense to keep the context for the end user while installing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Web Install API Declarative install for web apps from a web app.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants