My “Does it matter” questions are me trying to understand what is important in setting up these schemas, not related to the proposed property’s importance.
Field by field comments and questions below:
photo url - agree it should be an array of URLs.
date added - is there a way to specify format? Unix timestamp would be ideal. Does format matter? Does “date added” mean photo creation date? Or date it was uploaded? Do we need to differentiate that level of detail in a schema? Create date should be in the exif data, assuming its preserved.
name - file name? Or a user/app generated name? Does it matter?
description - String of what length? Does it matter?
tags - ok, comma sepated strings? An array of strings?
Exif metadata - I believe this should only be available within the photo. No need to replicate in a separate structure.
annotation - I propose an additional free form field that could be used to identify photographer or whatever information my be important to any specific apps users.
One use case for the photo collection is that the user can choose from his photos easily within an app. The app shouldn’t need to parse and analyze all the photo files (only one image file is needed in the end), instead the app should be able to get a concise list of meta data that can be displayed in a chooser dialog or so. Maybe the collection should even contain a thumbnail.
Another use case for the photo collection is to view a slide show with the photos. Then the app would get the concise list but only use the photo urls. Other data could be extracted from the photo itself because the app needs the full image file anyway.
Collections should be a minimal footprint that enables data portability. Duplicating fields potentially leads to conflicting data. ie. how does my new photo app handle the situation where exif data has one create date and ‘date taken’ is completely different? As a user I expect this to be handled in a consistent manner and when we duplicate fields, I think we throw open the possibility that apps will behave very differently.
Any fields that are already part of existing document metadata can be duplicated within an app, but should not be part of a shareable schema, imho.
@dant Fully agree. I didn’t mean to duplicate fields.
However, the specific exif tag DateTime has an issue because it defines the modify date and does not specify a time zone.
I suggest to remove exif as a field in the collection schema, as it has too many information with its 30 tags that is not used for an image picker or gallery. We could add a url to an exif file.