Description
Overall, I'm still a bit on the fence about whether this particular API is necessary on the web platform, but I don't want to block experimentation. Here are some comments on the explainer:
Scope
I think it should be noted in the explainer that this is a purely desktop functionality. Mobile OSs do not permit applications to be run on login / startup.
Availability
What restrictions are placed on calling the API to ensure it is not abused / spammy like permission prompts can be?
Additionally, trusting a web app to provide the ability to disable running on login seems somewhat optimistic. Is it worth strengthening the suggests that user agents provide a way for users to identify web apps that are running on OS login, and disabling them?
Mode
I'd suggest making this correspond to the web app manifest display-mode
values and choose standalone
to indicate opening in windowed mode.
Privacy
as it is already possible for native applications to be auto started
This is something of a disingenuous comparison since there is currently no way for a web site to request that it be started on login. Privacy considerations generally aren't about comparing to existing native functionality, but rather existing functionality on the web platform. Right now, users have to explicitly launch an installed web app; this functionality lets that web app start automatically, and that is new to the web platform.
I also think there is room for guidance to implementations here regarding the scope of what is automatically started. Most browsers have a "continue where you left off" type feature. Launching a web app at login should not also restart the browser and its previous tab state, as that greatly increases the scope of the sites able to observe the user for longer than they might expect.
Use of permissions API
As noted in #342, this is a rather unusual application of the permissions API for several reasons (ergonomics, non-availability in non-installed contexts). I'd strongly suggest not using the permissions API here since it's not a good fit.