Immich — Awesome Open Source

immich-logo.svg

In our family we look after our own photos — we don't want Google or any other company deciding what we can and can't do with them.

In the past we used various desktop/laptop based open source viewer software, with storage on local disks. More recently we have been running the awesome open source PhotoPrism, with its smartphone-compatible web interface and photo library management features. Although PhotoPrism is impressive judged on its own merits, and has indeed allowed us to manage our photos ourselves, it's just not quite as usable as we'd wish.

Next up is Immich.

feature-panel.png

Immich promises “partner sharing”, where for example husband and wife might choose to share their whole photo libraries with each other. Immich offers stronger photo library management such as tagging, metadata manipulation, and deduplication of identical photos. Immich performs face recognition. Immich viewer apps seem to be user friendly and slick.

What's Good, What's Not So Good

For viewer apps we use the official Immich app from F-Droid on our degoogled phones and tablet, and the Immich web interface which works well on both mobile and desktop. The general impression is slick. It's fun to see a selection from “N years ago”. It's nice that various features of the viewer, such as the side-bar options to view by folder and view by people, can be turned on or off in the settings, depending on how we prefer to use the system. The main “time line” view works very well. Other views such as the view by people, by tags, on a map, and so on are functional but much less developed.

The user interface could be improved a lot by allowing us to use the different selection criteria together: having begun to explore a region on the map, we then want to narrow the results by people or by tags. As it stands, the interface is an example of the all-too-common anti-pattern in which every time we select a new option the computer “forgets” what we just told it a moment ago. (Nearly every shopping web site is a dire example of that anti-pattern. We might filter our results by “category=hardware” and by “material=metal”, and then adjust our search terms, and watch the computer immediately throw away our carefully chosen filters.)

Face Recognition

Face recognition is impressive. I set Immich to scanning my existing library of thousands or tens of thousands of photos dating back twenty years, which took it a few hours on my few-years-old server. Immich created groups of faces that the algorithm considered to be the same person. These groupings were amazingly accurate. The few false matches were predominantly small blurry faces picked out of the background (but still the majority of these appeared accurate), or baby faces (where to be fair I can't tell the difference even among members of my own family), or where only a small part of a face could be seen (and even many of these were accurate).

For naming the people, Immich presented a list of faces, one from each identified “person” group. The faces it chose were unfortunately often a small blurry image. It would be helpful if it could choose a “clear” image as the representative of each “person” group. On clicking this image we get to see all the photos in which that same person was identified, and there we can set the name of that person, and we can also choose a different representative image. This view of all the photos containing that person doesn't indicate where in the photo the person was detected, which in some cases puzzles me as they don't seem to be there at all, but perhaps knowing what the algorithm “saw” would just give me somewhere to direct my scorn and derision at its folly and might not really add anything helpful to the overall purpose.

An enthusiast has created a better user interface for naming and managing the faces more quickly, all on one screen. It's the main feature so far of Varun Raj Manoharan's Immich Power Tools, and the demo video there shows it in action.

Partner Sharing

The partner sharing works by including both my photos and my wife's photos in my time line view. The same for her view, if it is set up reciprocally. That is a good start. It would be more useful if we could see which photos are “ours” and which are “theirs”. I would like to see them tagged with our initials, or perhaps distinguished by a colour or styling. I would like to be able to quickly show or hide each set, and to select by partner in the search.

I hoped the partners would be able to share the same categorisation, tagging, face recognition and so on. At present unfortunately this is not possible. It is discussed as a potential future improvement in Show Face Recognition for Partner #5089.

Because the current implementation of Partner Sharing isn't close enough, I am thinking about using just one “family” account in Immich, with both (or all) partners' photo libraries in it. That might be the best way for our family to use the existing capability. Whether this would suit us depends on whether we use the upload/sync feature from our smartphones. If we do, then Immich's sync feature would place all of our photos into the same library. (I haven't found a feature to separate or tag them on upload based on which camera-phone they came from, although there might be a way.) Currently we are not using Immich's upload: we are using 'syncthing' for that, copying our photos directly to our respective photo libraries on the server. Then in Immich we define these as “external” libraries (meaning they are outside Immich's built-in upload storage area).

Folders, Albums, Tags

I have a collection of (older) photos that I already organised into folders with descriptive names. I would like these to be shown as “Albums” or “Tags”. Immich imports tags if found in embedded metadata, and a few of my photos had these. Due to the sad state of standardisation of photo metadata, however, naming the files and folders is a more universal solution than embedding descriptions and tags in the photo metadata.

The way I would expect or wish to get albums and tags from my collection would be to specify a set of patterns that match my folder and file names, and to specify rules to derive album names and tags from these patterns.

There are open issues about potential future development of folder imports in Immich. In the meantime I might try the extension Salvoxia/immich-folder-album-creator noted below.

Extensions

Extensions I have noted to investigate further:

immich-folder-album-creator — “Automatically create and populate albums in Immich from a folder structure in external libraries” – Immich Power Tools — alternative UI for face naming and management – Immich-Kiosk — “A web slideshow for Immich”


Freedom Software Ethics

In terms of open source “freedom software” ethics, Immich sits somewhere in the middle of the spectrum.

On the positive side, Immich is open source under the GNU AGPL v3 license: that's very good for maintaining the freedoms granted to its users. Immich has its own website at its own domain, immich.app, where it hosts its blog and documentation.

On the other hand, like too many other good projects, the development is hosted in Microsoft Github rather than in a freedom-respecting forge such as Codeberg or at its own address. Use of MS Github is a real and present danger to the open source ecosystem: freedom software lives in freedom-respecting software forges. And development discussion is invited inside the proprietary Discord instead of through a freedom-respecting method such as Matrix: see Discord vs community values. Immich in its website footer also promotes other proprietary silos (Reddit, Youtube) and does not even mention any open/freedom tech channels such as the Fediverse.

Immich advertise that their client app is available through the big silo stores (Google, Apple). They also also distribute it through the freedom-respecting app store F-Droid, for Android and android-compatible degoogled phones. They mention this in the docs but not on the main page.


#awesomeFOSS #selfHosted #degoogled


Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian​@wrily.foad.me.uk · use the Cactus Comments box above · matrix me · Fedi follow me · email me · julian.foad.me.uk Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise