Sharing photos

I’m not usually playing too much around on Windows apart from using office and teams - and other software bound to windows which company work require. A small event on an ongoing project however did require some small exploration into Windows and what could be done to solve a simple task.

  • We had an all-day event, where multiple photos were taken on mobile phones througout the day.
  • I needed to collect the photos, sort them and share them.

I realize that Google Photos, Flickr and multiple other solutions may work for such an occation, but we really didn’t want to share the photos outside the company and nor force anyone to create an account anywhere - neither to see the photos nor to contribute with their own.

The solution had multiple steps, but after limited exploration, it turned out to be quite easy:

Step one: collecting images

Not knowing how many photos were submitted, I didn’t want to request them by email, but I use Dropbox and it has a wonderful, but almost seemingly secret feature called File Reqests. With file requests you can create a link to share with all people potentially submitting images (or files in general).

Everyone can submit files, but not see submissions from others. The submitted files landed in folder in dropbox (on per submitter) and I picked them up from there. Once the time to submit photos had passed, I deleted the specific “file requst” and no further files could be submitted.

Step two: Processing images

As this was event photos, I wanted to align the files in (chronological) order using the filename. One problem, however, was the incoming filenames on the photos was using every different scheme - some had date and time, others a sequence numbers and others had renamed their files with their name and a sequence number.

To solve this I turned to jhead which I’ve used previously. It a small command line utility available for MacOS, Linux and Windows. It allows you to rename all files in a directory based in EXIF data. EXIF data is metadata embedded in photos which may include when the photo was taken, by which device (make and model), GPS data and a lot of other data. While all data may not be available, the time the photo was taken is almost always there.

I started windows Command prompt, found each folder with folders and got jhead working using a single command once in every folder:

    jhead -n%Y%m%d-%H%M%S-photographer *.jpg

The command does the following:

  • *.jpg Finds all jpg files in the folder.
  • The -n pick up the picture date embedded in the file and uses it as input
  • %Y%m%d-%H%M%S-photographer is the new filename.
    • the filename will be in the YYYYMMDD-HHMMSS format (using photo timestamp).
    • the -photographer was replaced with the name of the contributor of the photos.

Step three: Sharing the images

Once a file of photos was renamed, we choose to share the photos in Microsoft Teams. In Teams we have “a team” for the project and as part of teams, a Files area is included with every team. We used this feature, as it inherits all the access protection available through and provided by teams.

Technically teams is reusing sharepoint with a light GUI on top this gives multiple options to add the photos to a folder there.

  1. Files can be dragged from the local desktop into the folder in the Teams client. It’s slow, but it works.
  2. From Teams you can get to the sharepoint view of the folder and uploading to the sharepoint directly seemed faster than going through Teams.
  3. The folder can be mounted as a windows share and using windows File explorer the photos could be copied and finally
  4. Despite spaces and odd directory names, once a sharepoint folder has been mounted as a windows drive, it’s possible and works wonderfully to copy the files in a command line shell.

Some challenges…

While uploading photos to a dropbox file request worked for almost everyone, some chose to send the photos to me through MMS. They were almost rejected and absolutely not suitable. MMS removes all EXIF data, does a hard compression on the photos and reduce the resolution to a stamp (1024x768).

A few photos were taken at exactly the same time (hour, minute and second), but as I appended the photographer name it didn’t become an issue.

While teams seem to have just about every feature in the world, the ability to recognize photos in a folder and allow some kind of slideshow presentation isn’t (yet) one such feature.