Skip to content

Comments on Run on OS Login #345

Open
@dominickng

Description

@dominickng

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.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions