Ein Fototool entsteht – wie alles begann und was erreicht ist
Das Jahr 2020 wird wohl jedem noch lang in Erinnerung bleiben und das nicht wegen der Dinge, die wir unternommen haben, sondern den Dingen, die wir nicht tun konnten.
Auch für mich bedeutet 2020 Verzicht auf viele Fotogelegenheiten. Insofern nutzte ich die vergangenen Monate aber zumindest, um etwas Ordnung in meine Fotosammlung zu bringen.
Parallel dazu habe ich begonnen mich mit neuen Tools rund um die Fotografie zu beschäftigen. Ziel war es, meinen Workflow so zu ändern, dass ich künftig nur noch meine besten Bilder auch nach Lightroom importiere und zuvor die Bilder außerhalb von Lightroom aussortiere, verschlagworte und mit GPS-Daten versehe. Eines der Tools, die ich gefunden habe, ist ExifTool, ein Kommandozeilentool mit dem man
- Metadaten lesen und bearbeiten,
- Bilder kopieren/verschieben/umbenennen und
- GPS-Daten an Bilder anfügen
kann. Das Tool ist auch die Basis vieler Lightroom Plugins und sonstiger Fotoprogramme. Da es eine Kommandozeilenapplikation ist mit unzähligen Parametern ist sie sehr mächtig, aber auch nicht für jeden leicht zugänglich. Es gibt zwar einige Tools, die versuchen, dem Tool eine Benutzeroberfläche zu geben, aber die sind entweder nicht mehr in der Weiterentwicklung oder nur sehr rudimentär.
Also versuchte ich mich selbst daran. Im ersten Schritte hatte ich hierzu ein einfaches Excel-Sheet genommen.
Das war Anfang April 2020. Nach kurzer Zeit habe ich den ersten Ansatz jedoch schon wieder verworfen und das Excel-Sheet mit einem Formular zur Eingabe versehen. Ich versuchte mich nebenher auch kurzzeitig an einer Umsetzung mit Visual Studio in Visual Basic, aber in dem Moment war die Hürde etwas zu hoch, so dass ich zunächst weiter bei Excel blieb. Das sah dann so aus:
Die zweite Excel-Version von Ende April 2020 sollte gleichzeitig die letzte sein, denn ich sah einige Artikel über Powershell und war angetan, wie einfach und schnell sich in dieser Sprache schnelle Lösungen umsetzen ließen, welche in anderen Sprachen viel Arbeit machten.
Also begann ich komplett von vorn und baute das Excel-Tool in Powershell nach. Die neue Lösung sollte den Vorteil haben, dass sie auf jedem Windows-PC läuft, auch wenn der Nutzer kein Excel besitzt.
Für die Oberfläche hatte ich mich Windows Presentation Forms ausgesucht, da man hier Visual Studio zur Gestaltung nehmen konnte.
Die neue Lösung bedeutete aber auch neue Probleme, denn ich musste zunächst einmal Powershell lernen. Insofern war ich parallel am Portieren der Excel-Lösung, baute aber auch ständig wieder um, da ich neue Verfahren gelernt hatte, welche noch effizienter waren.
Schon bald stand eine erste Version, welche der Excel-Version recht ebenbürtig war (Leider habe ich keinen Screenshot mehr von jener Version). Doch ich hatte Blut geleckt und begann immer weiter zu experimentieren, was noch geht.
Der erste Schritt hin zu einer richtigen Applikation war, dass ich gelernt hatte, wie ich eine Datenbank zusammen mit Powershell nutze. Damit konnte ich die langsam unübersichtlich werdenden Textdateien für die Konfiguration ablösen und die Anwendung gleichzeitig effizienter gestalten, da mir nun alle Tools einer Datenbank zur Verfügung standen. Als Datenbank kam seitdem SQLite zum Einsatz, welche auch z.B. bei Lightroom im Hintergrund ihren Dienst verrichtet. Das Tool besaß zu diesem Zeitpunkt folgende Module:
- Metadaten lesen
- Metadaten hinzufügen/verändern
- Fotos umbennen/verschieben kopieren
- GPS-Daten hinzufügen
- Stichwörter automatisch ermitteln
Mit einer Datenbank im Hintergrund rückte die Möglichkeit näher, neben einem Tool zum Bearbeiten von Metadaten auch ein Tool zum Aussortieren von Fotos zu bauen und damit die Funktionen von FastRawViewer (den ich euch hier vorgestellt hatte) und Adobe Bridge in einem Tool mit zusätzlichen Funktionen zu vereinen. Ich musste nur noch eine Möglichkeit finden, Bilder effizient anzuzeigen.
Es dauerte ein wenig und auch dieses Problem war gelöst. Der Weg war frei für einen Bildbetrachter.
Der Einbau eines Bildbetrachters war jedoch viel mehr als nur eine Ergänzung, denn mit ihm gab es auch neue Möglichkeiten, die Funktionen von Exiftool mit dem Bildbetrachter zu kombinieren und so baute ich erneut alles um und verwarf fast alle ursprünglichen Teile des Tools. Im Ergebnis hat das Tool nun nur noch 2 Module, in denen alle anderen Funktionen integriert sind:
- Import (hier kann man auch Fotos umbenennen und verschieben/kopieren)
- Browser (inkl. GPS, Stichwortverwaltung und Metadateneditor)
Ende Mai war es soweit, dass ich die ersten Fotos mit dem Tool importiert hatte von meiner Kamera. Ein erster Meilenstein. Diese Tests waren auch wesentlich, um meinen Ansatz zu testen und zu schauen, ob das Tool gut zu bedienen ist.
Erwartungsgemäß funktionierte natürlich nicht alles direkt, oder es war in Teilen etwas hakelig in der Bedienung. Also passte ich die Oberfläche fast täglich an und peu a peu wurde das Tool runder. Ich begann über den Browser auch die Bilder auszusortieren und hier ergaben sich immer neue Ansatzpunkte, um noch mehr Verbesserungen zu erreichen.
Ende Juni hatte ich Bilder von einem Trip in die Region Aachen mitgebracht und auch diese wurden mit dem Tool importiert. Mittlerweile hatte ich auch folgende Funktionen ergänzt:
- öffnen der Bilder in externen Editoren (z.B. Photoshop)
- Vergleichsansicht von Fotos
- Zoom von Fotos
- Deutliche schnellere Anzeige dank Previews
- Stichwort-Sets
- Import der Stichwortliste aus Lightroom
- Farbmarkierungen
- Tastenkürzel
- Verschieben der Bilder in Ordner per Tastenkombination
Immer wieder habe ich auch an der Performance gearbeitet, so dass mittlerweile das Tool für meine Ansprüche schnell genug ist, auch wenn ich weiter nach Optimierungen suche.
Interessant war für mich zu lernen, welche Komplexität doch hinter mancher recht einfachen Funktion steckt. So ist das Verschieben/Umbenennen von Fotos tatsächlich recht kompliziert, wenn man die bestehenden Daten in der Datenbank auch weiterverwenden möchte. Auch eine „Rückgängig“-Funktion war schwieriger zu realisieren in manchen Punkten, als es auf Anhieb erschien. Es war und ist ein tägliches hinzulernen gewesen in den vergangenen Monaten.
Einer der letzten Schritte war zuletzt auch die Einstellungen für den Nutzer editierbar zu halten. Dies war ein wichtiger Schritt, um die Anwendung künftig auch hier auf der Webseite anderen Nutzern zur Verfügung zu stellen, denn die letzten Wochen habe ich in der Arbeit mit der Lösung tatsächlich sehr gute Erfahrungen gemacht und für mich ist dies eine (fast) ideale Ergänzung zu Lightroom geworden.
In nur 3 Monaten ist dieses Tool nun soweit gekommen, dass es fast einen Beta-Status erreicht hat. Diese 3 Monate waren von extrem langen Abenden/Nächten geprägt in denen ich mich teilweise an kleinsten Problemen stundenlang aufgehalten, aber auch in wenigen Minuten große Erfolge gehabt hatte. Es gab Rückschläge und immer wieder Dinge, welche ich komplett neu gebaut hatte, aber letztlich folgten alle Aktionen der gleichen Richtung – nach vorn.
Gestern habe ich erstmals die Anwendung auf einem zweiten Computer zum Laufen gebracht und das ohne Probleme – ein ganz wichtiger Schritt.
Bis das Tool hier auf der Webseite zur Verfügung steht, wird sicherlich noch etwas Zeit vergehen, in der ich die Anwendung weiter teste und Ecken und Kanten beseitige. Ich plane die Anwendung auf Spendenbasis frei verfügbar zu machen (Donationware).
Bis dahin werde ich euch immer wieder über den Fortschritt auf dem Laufenden halten.
Über den Autor
Wow! Ich bin beeindruckt – zumal den gleichen Ansatz beim Workflow schon seit langem verfolge. Anfangs habe ich die Vorauswahl mit dem Faststone Image Viewer gemacht, der immer noch einer der schnellsten überhaupt ist. Da ich inzwischen nur noch mit Sony fotografiere nehme ich dafür den Sony Image Viewer. Hat ne Menge LR Funktionalität insbesondere beim Vergleichen von Serienbildern, geht das sehr fix mit den 4 Pfeiltasten.
Das Exiftool benutze ich auch schon eine Weile, allerdings nur wenn mal wieder was mit dem Aufnahmedatum und der Zeitverschiebung schief gegangen ist. Ansonsten ist mir das zu mühsam – selbst mit Exiftool-GUI.
Aber diese Eigenkreation geht natürlich noch einige Schritte weiter.
Bin mal gespannt wie das weitergeht…
Ich drücke die Daumen!
Hallo Guido,
vielen Dank für deinen Kommentar. Ein solches Tool zu bauen ist wirklich spannend, da man erst dabei wirklich versteht, was alles zu beachten ist und wie kompliziert teilweise einfache Dinge sein können, wie z.B. Dateien umbenennen, wenn man dabei nicht gespeicherte Daten in einer Datenbank verlieren möchte. Aber viele Hürden sind mittlerweile genommen und ich nutze das Tool bereits für meine Bilder. Dabei tauchen zwar noch immer einige Bugs auf, aber insgesamt ist es schon recht stabil.
Würde mich freuen, wenn du -sobald eine gewisse Stabilität erreicht ist- du das Tool auch einmal ausprobierst.
Vg
Jens