Helping Scouts Learn Photography
Since joining the tutor team of the National Scout Photography School, I've automated a significant portion of the manual, repetitive work tutors were doing on a daily basis at the school - reducing stress, increasing downtime and allowing tutors to focus less on administration and more on delivering programme.
This post is about Prism, an application that enables image submission, presentation, marking, printing and backups. While this application was built for the National Scout Photography School, it can be used in any photography / graphic learning environment. It can also function as a portal for users to be able to submit images, for example for a media team at an event.
Photo submission
The core function of Prism is to allow the submission of photos, ensuring submitted images are correctly sized and scaled, in the correct format and with the correct metadata.
Before I joined the team, students submitted their daily images on a USB drive. During dinner, one of the tutors would have to download the files from each of the 30 USB drives and load them into slideshow software in the right order to be shown to the class after dinner.
As you might imagine out of 30 students there were always a few who:
- Didn't have the right number of images.
- Didn't export them correctly / they ended up corrupted on the USB.
- Didn't name them properly, so the tutor didn't know who's photos they are.
Resulting in students having to be called back from dinner to re-submit their photos.
With Prism images are uploaded through a modern, user-friendly web interface, automatically checked for quality / size / formatting and tagged with the correct metadata for easy identification later.
The submission interface allows students to rearrange images or replace individual images after upload. This is important where the order of images in the presentation (see below) is critical.
Features
Presentations
Prism offers a web based slide show system of submitted images, configurable with different options for order of the images / submitters, title slides before/after each submitter and even off-lining functionality ensuring that once a show has been loaded, it won't stop due to connectivity issues during playback.
Marking
Tutors mark images and provide feedback to students to support their learning. This is done via Prism in a mobile friendly view that allows tutors to mark easily and efficiently.
Marking is highly customisable, with the options to mark "blind" i.e. without knowing who's images are being marked, fully random, by student etc.
Print / Export
At the school we have a number of use cases for printing or exporting images such as:
- Printing each student's top photo of the day so they can see their progress throughout the week, including printing the student's name on the back for easy identification.
- Printing contact sheets with / without feedback from marking to enable tutor feedback to be shared efficiently.
- Exporting photos for social media, Prism allows images to be exported at full (submitted) resolution or smaller web-optimised sizes suitable for social media. As the school relies on an internet connection with limited bandwidth this speeds up this process.
Backup / Archival
At the end of the school student's work is archived to cloud storage for future reference. Prism streamlines this process by allowing the export of all or a selection of submitted images at full quality.
Technical
Prism is built on with Python, Django, SQlite, Bootstrap and HTMX. It runs in an OCI container fronted by Caddy.
As the school relies on a limited bandwith connection, Prism can be run in the cloud or on a physical, on-site server.
We utilise technologies such as CloudFlare ZTNA for remote access when the server is on-site, Auth0 for authentication and TailScale for administrative access to the server regardless of location.
Login
One of Prism's headline features is making it as easy as possible for students to connect and submit their images. As such Prism supports students logging in from a local, trusted network simply by selecting their name from a list. This permanently binds the user's device to their account. Where a student selected the wrong account, it can only be changed by an administrator.
Tutors and Administrators must always log in with strong, multi-factor authentication supported by Auth0.