Philosophy and goals
Photos don't change a lot. Performance matters. Discussions and comments can be held through other channels. No one likes yet another forum, mailing list or website to check for discussions within their social graph.
An image gallery application for our Study Association should provide:
- Photos for viewing/browsing.
- Downloading photos.
And not a whole lot else. There may be orthogonal concerns, but
generally choose to defer their implementation to other tools.
GDPR and laws aside, privacy-aware design and systems building is just the
ethical thing to do. We want
- Play nice with existing authentication systems.
- Provide a "request takedown" button.
- Strip unneccessary EXIF metadata from photos.
N.B.: This seems to conflict with "download photos for later" from earlier. And to a certain extend, it does. However, once you've given someone a piece of information, you cannot take it back. This is true for everything though.
Performance and mobile
Visiting a single page shouldn't take ages. It also shouldn't consume half your
mobile data plan. This saves both time and money. We want
- Compress photos (without loads of quality loss)
- Load different image sizes as appropriate for the view. Don't download a 1MB image to display it at 400x300 pixels.
Browsing image galleries should be a nice experience for the user. Users rightfully expect all the standard stuff that browsers have been doing for ages to work. In particular:
- Navigation/history works like expected.
- Links work in the standard manner.
Last on the list, and the least of the priorities at the start.
a CLI application that people can run in their terminal (if they have Python
installed). This enables us to make progress quickly and to get things out of
Maybe we'll eventually provide a way to make it easier for non-technical users to manage photo libraries. It is last on the list of goals at the moment, though.