The Case for Using Albums in iPhoto, or WebDav
| |

The Case for Using Albums in iPhoto, or WebDav

When you take photos on an iphone or other such device it’s easy to take photos and never organise them, unless you share specific photos with specific people. Images are automatically organised by time, date, month, location and people by photo apps but this is just an illusion of organisation.

By playing with Photoprism, Nextcloud, OneCloud, MyCloud (the Swisscom one), Immich and others I have often come across the same problem. When you’re synching thousands of images at a time devices time out after a few minutes, and you need to start from scratch over, and over, and over again. I’ve encountered this issue with almost all backup solutions.

If I had created an album for each month, week, or even event I would now save a lot of time. It’s not that it makes synching painless, but rather that it makes it easier to backup individual albums rather than 19,000 images at a time. With an album you select it and 300 images are uploaded from one album, and 12 from another, and 230 from yet another.

To use an analogy, imagine that a photo album is a head of hair, at the barber’s. You could cut an individual’s hair in five to ten minutes, and move on to the next and get through 72 hair cuts, or you could cut 72 people’s hair simultaneously but everyone would need to remain in place for eight hours. This is the nightmare I’m putting iphone photo backup apps through with my experimentation.

PhotoPrismUpload

This morning I was experimenting with PhotoPrismUpload. I wanted to experiment with this app because it’s directly paired with PhotoPrism and PhotoPrism looks like a good iCloud and Google Photos alternative. The first flaw that I spotted is that it doesn’t detect that all of the photographs are already backed up to PhotoPrism so I need to spend hours getting it to say “This file is uploaded, this file is also uploaded, and that file is now uploaded.”

This, in and of itself is quite time consuming but to add to the experience it downloads the offline images from iCloud to the phone, uploads them, and then leaves them there. The consequence is that my backup phone with a large hard drive is now low on memory and the sync is blocked.

To the question “Does this matter?” the answer is “nope”. Not for me, because my images are backed up. It’s a question of convenience. If I was to suggest a feature, which I should, later, it would be an option to “Show only un-uploaded images” like we have with e-mail clients for unread messages.

If I had this option then I would upload x number of pictures until the app timed out, select the latest un-uploaded images, upload them, and repeat this until everything is synched. Now that the phone is low on memory I will abort the experiment, but I won’t stop using the app because it is simple and convenient to use.

It clearly shows which images are uploaded, and which still need to be uploaded. When you sync images it’s quick and intuitive. You have two or three ads displayed but they’re not annoying like the awful adverts you get with mobile games. I got ads for Google Ads and for Mediamarkt. For 3 CHF you can do away with ads.

Photosync and WebDav

Photosync is the recommended app, by the developers of Photoprism but I don’t like that it encourages you to pay once for functionality that should be by default and a second time for added features. Despite this I do really like how Webdav works. I setup two webdav accounts. One that is for when I’m on home wifi and the second for when I’m connecting through the VPN when I’m out.

WebDav is an excellent tool because it knows which photos have been uploaded. With the Photosync app photos that are not uploaded yet are highlighted with a red border. You click the red sync button and you can upload “new”, “selected” or “all”. It then gives you the choice between “computer”, “phone/tablet”, “webdav”, “ftp”, “smb”, “files/usb/icloud”, dropbox, onedrive and google drive. I use webdav 2 and within seconds the files are uploaded. If I was out I would use Webdav 3.

The real advantage of the Photosync app is that you can see “new”, “selected” or “all”. If an upload is interrupted for any reason you don’t need to “select all” and upload. You can select just the “new” images, and within seconds you’re synching again.

Photosync information is not automatically synched between two phones so I don’t know how well Webdav works, via this app, when synching the same library from two phones.

And Finally

By organising photos into albums by hand you make online synchronisation more granular. Instead of uploading 19,000 files at once you upload one album, and then another, until everything is uploaded. It’s easier for backup solutions to keep track of their progress, and you don’t need to keep scrolling up and down to keep the screen awake and uploading.

PhotoPrismUpload and Photosync are both interesting solutions for synching to PhotoPrism but PhotoPrismUpload has the advantage of costing 3 CHF not to see ads, whereas Photosync costs 25 CHF for premium features, as well as 6 CHF for other features. If I had seen PhotoPrismUpload before Photosync I would have been happy. PhotoPrismUpload is a dedicated tool that works well within its niche.

Installing Immich Alongside Photoprism

Installing Immich Alongside Photoprism

Last night I installed Immich on an HP laptop with ease. The issue I came up against is that laptops sleep and hibernate after a few minutes unless you are actively using them. This means that you need to use them whilst files are being transferred if you do not want tasks to be interrupted. That’s why, this morning I decided to try installing immich on two different raspberry Pi devices. The first is the one running Nextcloud.

Trial and Error Installation

I struggled with this install because first I had to download the right docker packages and then I had to unpack them and then I needed to check that docker was up and running and then I had to try to get Immich to launch but I encountered an error message. “no matching manifest for linux/arm/v8 in the manifest list entries”. After a quick search of the web I found that version of Linux and ARM processor are not supported via this instance so I searched for whether Jammy Jellyfish is. It is and that’s when I tried to install on my other Raspberry Pi 4 device. This time was a success so I have Photoprism and Immich running on one Pi and Nextcloud running on the second.

Best for 360 Photos

The biggest difference I noticed with Immich is that it supports 360 photos. If you’re the type of person to take spherical photographs you will be happy with this version. Another strength is that the app is free. It gives you the option of uploading in the foreground or the background, and on or off wifi.

With this experiment I am uploading the photos from a secondary iphone that I retired from outdoor use due to the battery getting old. I am now uploading 19,000 images and videos from that device to Immich to see how it copes. With the laptop it struggled against the device’s desire to sleep. Now it should run until it’s done on the Pi.

Jobs Status

If you look at the administration page you will see job status for a few jobs. These are: Generate thumbnail, extract metadata, library, sidecar metadata, tag objects, smart search, recognise faces, transcode video, storage template migration and migration.

With this instance you see that each job has “active”, “waiting”, “clear” and pause.

Server Stats

The server stats aren’t as complete as Nextcloud. These stats tell you about total usage in terms of photos, videos, storage as well as info by user about photos, videos and size of photo gallery.

Image Tagging

Image tagging is off by default in settings. It uses microsoft/resnet-50 as the image classification model.

Video Transcoding

Immich gives quite a bit of control for video encoding. It gives you options to control Constant rate factor, preset for how quick or slow an encode is, audio codec, video codec, whether h.264, hevc or vp9. You can also select video encoding from 480p to 4k.

It gives you control over max bit rate, threads used, transcode policy, tone mapping, two pass encoding hardware encoding and more.

The Phone App

The phone app has four tabs. Photos, search, sharing, and library. Photos shows all photos that the app is allowed to see, as well as clouds next to the images that have been synced and clouds with a line for images that are yet to be synced. The library tab shows you the albums that are on the device.

The backup icon at the top allows you to select which albums you want to include or exclude, as well as the total number of images, the number of images backed up and the remainder.

The uploading file info gives you the file name, creation date and id info for immich.

It’s in the backup settings that you can choose automatic foreground backup, for when you open the app and want to sync, automatic background backup if you want background options as the nuance to only upload when charging.

With Photoprism and Immich I noticed that you have the option not to backup iCloud images. Immich and Photoprism indicate when they are downloading images from iCloud to the phone, and uploading from the phone to themselves.

Geeking Out

When files are uploaded from the phone or other device they are moved to the uploads folder and from there Immich reads their metadata and sorts them into folders by year, and then by individual days of the year. The format is year-date-day. The images are then stored with their default name.

Export from Google Photos – Takeout

Yesterday I came across Immich-Go which is a tool that can, among other things import from zipped archives without prior extraction. This is great, considering the eight hundred or more zip files from Google Takout, containing all my photos. With this tool I can save a lot of time and effort but it does come with two disclaimers:

?? This an early version, not yet extensively tested
?? Keep a backup copy of your files for safety

Immich comes with the same warning: “The project is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!”

Since I have Nextcloud, Photoprism and now Immich running I think I’m spreading the risk of all three failing at once.

Why use PhotoPrism, NextCloud and Immich?

iCloud, Picasa and other tools were great for storing photos on our laptops until we lost the ability to swap out the default drive with a bigger drive. Now that we the same storage on our mobile phones, as on our laptops we need external devices to back up images. If we use hard drives then we need to plug them in before each sync and this takes time, and limits mobility. NAS storage solutions are interesting but if the NAS driver fails then we have hard drives that we can no longer access. The beauty of using Raspberry Pi, thin clients and Bare bone PCs is that we have redundancy.

If a Pi dies we just remove the SD card and within seconds our photo gallery is restored by inserting it into a second device. We could start with a 256 gigabyte SDXC card and move up to a 500 gig sd card before moving up to a two terabyte card.

For more resiliency I would use a USB drive connected to the Pi to really increase storage capacity from half a terabyte up to 120 terabytes, in theory, with certain multidisk storage solutions.

With this setup if the Pi fails you just swap out the Pi.

And Finally

I reconfigured my Pis around. Now I have one Pi with photoprism and Immich. I have another with Homeassistant, a third with Nextcloud and a fourth running Pi-Hole. By swapping cards between Pis I got to see whether installations were easily transferred between devices. Home Assistant was, but the Pi-Hole wasn’t happy. Until this experiment I had just copied and pasted instructions. With Immich I did this too, but because I saw that I had to download specific packages to get docker to work I practiced using curl, and then replacing version numbers for an unpack command.

I encountered an error that meant that one setup woudln’t work, but instead of destroying a Pi configuration that I had a added to another one and it worked. It’s easier to start from scratch and get things to work, especially if they have a Pi image, like Photoprism does. Photoprism and Immich run on docker, so they both need the same base setup, which is why they work in parallel.

To conclude, with Docker you could install Nextcloud, Immich and Photoprism on the same Pi and have the three of them running on the same system. Each one uses a different port so they do not clash. You could even add a splash page so that when people browse to this device they are given the choice of all three storage solutions.

Experimenting with the Photoprism App

Experimenting with the Photoprism App

While playing with Nextcloud I found a serious flaw. If you add images via the command line from one directory to another, and then delete them, then their ghosts remain in the timeline. By ghosts I mean references to these files in the CMS and there is no quick way of removing them. You need to remove them individually and that’s time consuming. That’s why, when I was trying to find a solution I came across Photoprism.

Photoprism is a photo management app like Lightroom, Google Photos, iPhoto and plenty of other app. It is open source and can be installed quite easily using this Raspberry Pi Solution. With less trial and error than with Nextcloud I was able to get it up and running within an hour or so.

My first try was wwith a slow 16gb card but that took ages so I thought that I would set another card, this time with 512 gigabytes of storage going overnight. In the time it took me to heat dinner the card was ready for me to experiment with and my first impressions were good.

I tried to upload a few images from a PC, and then from the mobile phone via a web browser before playing with Photosync.The beauty of Photosync is that it will upload even when the phone is sleeping, or another app is open. I let it synchronise photos while I slept, and as I went shopping for bread for a Fondue later today. The moment it seemed to lose momentum is when I got back to the parking after shopping. That’s where I lose the mobile phone signal. As I wrote this, after fourteen or so hours of working almost non stop the files were synced between the phone and Raspberry Pi 4 2gb. They recommend using a Raspberry Pi 4gb or higher but for the sake of tests it seems okay with a lower spec machine.

Indexing

With this app you need to tell it to index photographs. This doesn’t happen automatically.

It can recognise people, create labels/keywords for images, moments, places and more. It also gives you a log of everything it’s doing, from indexing photos to adding locations, to adding keywords, to asking you to name faces that it recognises. Remember that this sits on your personal device, and does not need to ever touch the cloud, if you do not want it to.

Another feature that this app has is to detect and flag low quality and low resolution images and this can be a very good feature to have. Sometimes you get junk images from old websites or other directories. This makes it quick to get rid of them.

When Photoprism indexes photos it creates a seperate file with the new file names, creates thumbnails of various sizes and then when it completes its task, or when you stop indexing, it then merges the old index with the new index.

You have the option of a “complete rescan” which reindexes everything or you can choose to “cleanup” which deletes orphaned index entries, sidecar files and thumbnails. It’s because Nextcloud doesn’t have an intuitive way of re-indexing files that no longer exist that I was tempted to try this piece of software.

If I was to change two things with indexing then I would add a status indicator to tell me how many images remain without an index. It runs fine in the background but it would be nice to know how many images remain. I saw that someone else said that they wish indexing would run automaticall, until all images are indexed, and then again when new images are added.

EXIF Data

The app allows you to see image exif data, for example latitude and Longitude but also a title based on the location, iso, exposure, camera used, lens, f-stop, focal length, copyright, subject, description and keywords.

For key wording it uses colours, location, keywords in the local language, such as “Lac”, “rue”, state, country and more. You can add notes and click done if you change anything.

Humour

It has labelled a cat as a dog, human climbers as lizards, a sign for road works as a monument the LHC tunnels as wood.

Filtering

You can filter photos by countries, cameras, newest, month, category, colour, year and more. This makes searching for images quick and intuitive. I also like that it automatically keywords images with the most obvious tags. This allows the human being who is sorting these images to add specific tags, such as people involved, event keywords and more.

Video and Photos

With Nextcloud when you upload videos it doesn’t recognise them immediately so you get a grey box. With Photoprism you see a keyframe and you can then watch the videos within seconds so this tool can be used for photographs and video.

Downsides

Unless you pay 2 USD per month you only have one user, so you can’t have admin as just the admin, and use your own name as a user. This is sub-optimal for security but also for family sharing.

Photosync is also not free. It wants you to pay 6 CHF for the app, and encourages you to pay for Photosync Premium.

If you pay for the bonus features you will pay 6 CHF for the app, 25 CHF for lifetime Premium, and another 2 CHF per month for the right to create more users on your own system.

Google Photo is 100 CHF per year. iCloud is 120 CHF per year. Lightroom is 10 CHF per year to 55 CHF per year.

A few years ago I used Kyno by LessPain Sotware and that is 159 USD per year.

It’s cheap compared to the competition and by using it you’re supporting a European product, rather than American.

And Finally

Whilst Nextcloud is great for file sharing, time tracking, tasks, news reading and more Photoprism is great for managing photographs. It is quick and easy to install on a Pi. You find the URL, you tell Etcher to burn it to an SD card, you put the SD card into a Raspberry Pi and within minutes with a fast card, you can connect either by SSH or by web interface. Within minutes you can be using the Raspberry Pi as a photo management tool locally.

If you install tailscale and Photosync you can be backing up your mobile device images within a matter of minutes and it remembers what has been synchronised, whether you use the local IP address or the tailscail VPN one. When you’re synchronising thousands of files you want a solution that remembers what you have synched.

I was so convinced by Photoprism that I considered replacing Nextcloud with it in the 8gb Raspberry Pi, but chose not to, for now, because Nextcloud has time tracking options that I want to experiment with, for now.

A Walk by the Vallée De Joux

Every so often I get in a car to walk somewhere different. For two or three days we have been in the fog. Yesterday the fog was so thick that when I was driving I decided to slow down. I wanted to be able to stop in half the visible distance.

When the wind is still, and fog forms, there is another advantage, if you get above it. The water on lakes is flat. It’s so flat that the lake becomes a mirror. This is great for photography.

Looking at the rock face near the Lac de Joux -- Looking at the rock face near the Lac de Joux

Le Pont when the Lac de Joux is calm -- Le Pont when the Lac de Joux is calm

Frost that has built upwards -- Frost that has built upwards

Facebook and Photo Archives
|

Facebook and Photo Archives

Recently I have spent more time on Facebook and I have joined a few photo groups. One of them is for the Canton De Vaud, where people are sharing photos they have taken of the region. These photographs are well framed, well lit, and pleasant to look at. It feels like a community of photographers.


Part of my reason for wanting to return to Facebook is this group. If there is a group of local people sharing photographs then there is a good chance that there are other local groups for sharing other images, events and more.


Over the last two days I have followed groups that share archive photos, paintings, post cards and more. These images show Geneva, Nyon, Vevey, Gland, Crassier and other places as they looked several decades ago. This is a fun and pleasant journey back in time. We get to see Perdtemps when it was a park for people to walk in, and then as a park where people would play football, before finally seeing it as we know it, an ugly parking.


These groups have value, because old photos have value. They show us the ordinary world as it was at specific moments in time. It shows us place de Neuve with a tram and an old car. it shows us the castle of Nyon after an important fire in a local mill, and more.


It shows us the train that ran from Divonne to Nyon and back. I learned about this line by playing Geocache, but learned more by trying to find photos of the trains and stations. If you go to Divonne, by the pub, you can see the old train station. The former line is now a cycling and walking path. Recent history is just as interesting as ancient history.


There is an image of the Gare Cornavin before surrounding buildings were built. In another photo you can see Geneva as it looked in the 1950s or earlier. You can see Geneva airport in the middle of the countryside, before the motorway and other buildings were built.


And Finally


With old photographs, paintings and other types of images you get a feel for how places looked before they were built upon. You see places before the popularisation of cars and more. You also see how buildings used to look when each one was unique. It is worth taking time to explore these old galleries of images.

A Cloudy Sky

A Cloudy Sky

Today as I walked from one village to another I looked up the hill and I saw a cloud arch framing a nearby village and I had to take a picture. The framing of the image was rather unique. It is below. Is it kitsch? There is a good chance. It was unique, so I captured it.


The Cloud Arch
The Cloud Arch


I liked looking up at the sky today because it was different from usual. It was full of interesting clouds and the light played between areas that were in the shade, and others that were in the clouds. I saw a rainbow in one place, and a curtain of rain falling on the Jura in another.


A curtain of rain falling on the Jura


Seeing such a dynamic weather system is nice. I got cold during the walk so I had to wear another layer. I feared that I would be rained on but luckily I was not. This is the type of weather where you setup a camera and you start recording time lapses in the hope to catch something interesting.


And Finally – Flickr


An old barn covered in growth
An old barn covered in growth


When you play with Instagram you share your daily life, and you share things for likes, and to feel that you are part of peoples’ lives. With Flickr you don’t. When you look at the right galleries you see people with an artistic eye. You see images that play with contrast, with composition and framing and more. You also get a sense of intimacy and currentness that you don’t get with Instagram. Looking at these images inspires you to take better pictures, and to think about light and composition, but also about the time of the day, and subject matter.

Playing With Flickr
|

Playing With Flickr

It’s interesting, isn’t it? Flick is a website that I have been part of since 1996 and I have been so distracted by Facebook, Instagram and other social networks that I have forgotten about it. Several times I expected the website to wither and disappear but it hasn’t. It is still around and it still has an active community. What’s more, this is so many magnitudes better than Instagram. for a start it has tagging, groups, albums and everything else. Secondly you have galleries and more. You can control who sees what and when. You also have access to the API with a minimum of effort. I mention this last fact because I am tempted to play with it soon. I feel ready.


A yellow flower in Grens


The flickr API is available with an API via an SDK for a number of languages. It is available via PHP, Node.js and other platforms. Ideally I’d create either an app that would show “Today’s pics” or “Weekly pics” or similar. The API has breadth and diversity so you can do a number of interesting things. I need to look at the diversity of options and choose one that I suspect I could get to work.


I have been studying for over a year now, and I have played with a number of platforms via courses but I have not taken the time to build something without having instructions. I need to get myself to a level where I am self sufficient. I managed with an instagram json file, so now the challenge would be to do the same accessing data via an API or similar.


Of course it could go pear shaped.


At this moment in time the idea is just to read, rather than to publish. When I write my daily blog post I could get the website to retrieve one of the most recent images from Flickr and use it as a featured image, rather than leave it blank. If I create or read then I can make mistakes, if I update or delete then I would have to spend time fixing my mistake. For those who are attentive I described CRUD.


It is a shame that the world forgot about Flickr. Flickr was and is still a good community website. If you follow people they follow back, and we don’t see many adverts. We also come away from time spent on the website feeling refreshed.