Description
I just found out that Google Photos has disabled access to photo library APIs and replaced it with a photo picker API, with user privacy as an explicit motivation.
https://developers.googleblog.com/en/google-photos-picker-api-launch-and-library-api-updates/
The idea is effectively that a user should use an authorization agent to explicitly share individual photos/media items with the app rather than granting access to all photos. This seems broadly consistent with SAI's ethos, but its not clear to me how SAI should implement this.
In an app's access needs, is there a way for a shape tree to ask for access to the items selected dynamically by the user with a photo picker? There's currently a comment that access needs for specific data instances requires advance knowledge of the data instances, which this use case is explicitly trying to avoid.
data-interoperability-panel/proposals/specification/access-needs.bs
Lines 157 to 160 in dd62af0
In a data authorization, either a single (whole) data registration or data instance would be specified. Presumably the picker use case would therefore require the server to create a new data instance with just the selected photos? The same would apply to a data grant.
data-interoperability-panel/proposals/specification/access-authorizations.bs
Lines 184 to 194 in dd62af0
Based on this first reading, photo picker functionality would require either the authorization agent or the server to actively create data instances in response to requests, not just grant access to existing data instances. Or alternatively, resource indication would need to allow selection of multiple data instances.
The authorization agent primer seems to indicate that the former is not intended, and the latter might be possible (plural is used), but the spec doesn't seem to indicate that multiple data instances can be individually selected and indicated (singular seems to always be used)? Would separate data grants be made for each photo?
data-interoperability-panel/proposals/primer/authorization-agent.bs
Lines 110 to 111 in dd62af0