← Back to context

Comment by zx8080

2 months ago

> For extremely specific use cases such as file managers, browsers or antivirus apps, Google grants an exception by allowing QUERY_ALL_PACKAGES permission, which provides full visibility into installed apps.

Why would browser need to enumerate the installed apps?

Why?!

When a user visits a play.google.com URL Google wants to be able to show either an "install" or a "launch" button contingent on whether the app is already installed.

In other words, blame Google product management.

  • I don't buy this. Google has this information on their backend, they don't need to query any local state. Indeed, when I visit a play.google.com URL, google checks if my browser is logged in or not. If it is not, the default is "Install" no matter what. If I do have a session, then it's either "Install" if I don't have it installed, or "Install on more devices" if I do have it installed.

    • This is true, but if they didn't allow this permission for other browser apps that would be anti-competitive.

  • this doesn’t make sense and sounds like an excuse IMO.

    Instead of the browser enumerating all apps, why can’t it check when you visit a page if the current page (ONLY the current page) is installed as an app?

    • How would the OS know if the app that the browser is querying about is actually the current page? For all the OS knows, the user might be quickly visiting a ton of play.google.com pages for the top 1000 apps on the app store.

      7 replies →

  • A minor UX difference doesn't really feel like a great case for reducing user privacy, it makes me a little concerned about priorities... which I already was, really.

Indeed some of these apps really ask for such expansive set of permissions than they need.

Obsidian for example asks for permission for entire filesystem, while it really needs to access the files which the user needs it to see.

File managers need full access as you can use that ability to extract and inspect the code of any apps installed on the system. It is a very useful feature and I would hate for it to be removed.