Allow for remotely stored thumbnails
Use cases
Having many photos stored on a NAS, mounted in Nautilus via SFTP and GVFS. The photos are accessed from multiple machines.
Desired behavior
Thumbnails should be shown quickly. It shall not be necessary for everyone to pull all the photos through the network before seeing the previews.
Solution approaches
Allow e.g. for a .thumbnails
directory to be located somewhere on the remote location (be it the root of the mount or the directory containing the photos), in which the thumbnails are stored.
The behavior of storing thumbnails remotely shall be configurable and disabled by default, because it could reduce the privacy of the user generating the thumbnails (could reveal which photos where viewed when, by whom and with which software (Nautilus)). It would make sense to only have the thumbnails stored remotely when explicitly configured by the user for that certain remote location as privacy considerations might vary between remote storages. It also would be advisable to implement some countermeasures like replacing modification timestamps on new thumbnail files (or make them equal to the timestamps of the photos) as well as replacing the user creating the thumbnails. Fetching previews from the server does probably not notably affect privacy.
It should be possible to fetch random previews quickly (without reducing the speed of fetching all the previews too much).
When images are detected to be modified (e.g. rotated) or removed, the old previews should be deleted automatically.
The format of the thumbnails should be portable (in the sense of cross-plattform compatible). It shall finally be possible to pregenerate the thumbnails on the server. At best, it would be compatible with Windows and Mac OS.
Benefits of the solution
- More speed of getting previews of images on remote locations.
Possible drawbacks
- Privacy could be affected (see above).
- Loss of available remote storage might be not desired.