Ein Fototool entsteht – Photography Toolbox Fortschritte im Januar & Februar 2021

2020 ist (gottseidank) vorbei und 2021 hat für uns alle ja leider so begonnen wir das letzte Jahr aufgehört hat. Bleibt zu hoffen, dass die Leute vernünftig sind und wir so alle bald wieder etwas mehr Normalität spüren als zur Zeit.

Die grauen Tage am Anfang des Jahres habe ich aber auch produkiv genutzt, zwar nicht fotografisch, dafür aber in der Weiterentwicklung der Photography Toolbox.

Herausgekommen war mit dem Januar-Release nochmal ein richtig großes Paket. Irgendwie kam ich aber gar nicht dazu, hier darüber zu berichten, bevor auch das Februar Release fertig war, von daher gibt es jetzt hier die Neuerungen von gleich 2 Monaten im Überblick:

Bugfixing

Prio 1 hat im Moment ganz klar das Beseitigen von Fehlern. Bei der Arbeit mit dem Tool notiere ich jede Auffälligkeit, sei sie auch noch so klein. Alle diese Punkte werden dann vorrangig beseitigt, bevor neue Funktionen/Optimierungen umgesetzt werden.

In Summe wurden 82 Fehler beseitigt, wobei die kleinsten nur Rechtschreibfehler waren, während die größeren echte Fehler in der Verarbeitung betrafen. Es werden sicherlich noch viele weitere Fehler mit der Zeit auftreten, aber ich denke, dass zumindest viele grobe Schnitzer im diesem Moment beseitigt werden konnten.

Optimierungen

Nach der Fehlerbeseitigung stehen Optimierungen an zweiter Stelle der Prioritätenliste. Dies kann Optimierungen zur Vereinfachung des Programmcodes betreffen, aber auch Performancethemen.

An folgenden Stellen wurde hier gearbeitet:

  • Erstellung von Vorschauen: Hier habe ich tatsächlich sehr große Fortschritte erzielt. Im Dezember hat das Generieren von 1000 Vorschaubildern noch etwas über 8 Minuten gedauert. Dies konnte nun mehr als halbiert werden.
  • Stichwortliste und Stichwort-Sets: Die Stichwortliste wurde komplett überarbeitet, um nun auch auf-/zuklappbare Ansichten zu ermöglichen, was die Darstellung viel übersichtlicher macht. Während dies eigentlich ein neues Feature ist, wurde aber in dem Zuge auch der komplette Code neu geschrieben und optimiert. Auch wurde die Stichwortliste nun mit den Stichwortsets verlinkt, so dass sich Umbenennungen von Stichwörter auch automatisch auf die Stichwortsets auswirken.
    Die hier vorgenommenen Entwicklungen zur Darstellung eines auf- und zuklappbaren Menübaumes habe ich gleichzeitig auch in einer eigenen Klasse gebündelt, so dass es dieses Fragment an anderen Stellen noch weiterverwenden kann.
  • Überarbeitung der Speicherstruktur von Stichwörtern: Dies war ein recht umfassender Punkt, der es aber künftig leichter erlaubt neue Funktionen in dem Bereich zu implementieren. Zudem werden Stichwörter aus importierten Bildern nun automatisch in die Stichwortliste hinzugefügt.
  • Einführung eines Log für Metadatenänderungen: Diese Funktion merkt ihr als Nutzer bislang nicht, aber dennoch ist es ein ganz wichtiger Schritt nach vorn gewesen, denn mit der Anpassung ist es zum einen möglich, alle Änderungen an Bildern nachzuvollziehen und es ist auch möglich, Änderungen an Bildern zu einem späteren Zeitpunkt vorzunehmen, wenn die Bilder z.B. aktuell nicht verfügbar sind. Eine wichtige Vorarbeit, um irgendwann auch eine Offline-Funktion anbieten zu können
  • Laden der Bilder im Tool: Das Laden der Bilder im Tool wurde zum einen verschlankt, so dass aktuell ausgeblendete Optionen auch nicht geladen werden und zum Anderen werden DPI-Einstellungen bei der Vorschauerstellung korrigiert. Diese DPI-Einstellungen haben bislang dazu geführt, dass die Bilder mit einer falschen Pixelgröße anzeigt wurden. Dies hat auch zu einer Reduzierung der Speichernutzung des Programmes geführt.
  • Abfragen im Metadata-Expander: Während Abfragen im Metadata-Expander bislang erst dann ausgeführt wurden, wenn alle vorherigen Anfragen abgeschlossen waren, werden diese nun in einem separaten Prozess direkt ausgeführt. Dies führte auch dazu, dass die Prozessorlast deutlich gesunken ist. Während das Tool zuvor konstant rund 10% der Prozessorleistung gefordert hat, sind es nun bei Inaktivität nur noch 0-0,1%.
  • Umbau der Rückgängig-Funktionen: hier wurden zahlreiche Abhängigkeiten beseitigt und damit die Wartbarkeit deutlich erhöht.
  • Weitere Punkte betrafen die Extrahierung von mehrfach genutzten Methoden, strukturelle Optimierungen und die Optimierung der Datenbankstruktur.

Neue Funktionen

Neben all den Fehlerbeseitigungen und Optimierungen blieb aber auch noch Zeit für neue Funktionen, wobei 2 recht große Neuerungen umgesetzt wurden, neben über 40 kleineren Verbesserungen.

Die kleineren Verbesserungen umfassen u.a.

  • Bei der Validierung von Eingaben werden jetzt sprechendere Fehlermeldungen statt der Regulären Vergleichsausdrücke angezeigt.
  • für die Mehrfachauswahl von Bildern gibt es nun auch eine Checkbox, so dass dies auf Geräte mit Touchscreen besser funktioniert
  • separate Menüs für bessere Bedienung auf Touchscreengeräten
  • Ladebildschirm für die Anwendung
  • Neue Option, dass beim Start automatisch der zuletzt genutzte Ordner geladen wird
  • Die Dateien des GPS-Ordner werden direkt beim Start mit angezeigt
  • Verbesserung der Ableitung von Geocoding-Daten, falls die Städteinformation nicht direkt vorliegt im Locality-Tag
  • Verbesserte Darstellung der Ergebnisse im Metadatenexpander
  • Die Zeitverschiebung kann nun auch anhand eines Referenzbildes erfolgen, oder auf einen festen Zeitpunkt
  • Die Inputboxen können jetzt auch mit Enter (statt mit Klick auf „OK“) bestätigt werden
  • neue Kopier-/Verschiebenfunktion im Browser-Modul
  • neue Vorschauoption, bei der Bilder nicht verkleinert werden
  • neue Einstellung für die Anzeige im Browsermodul (Anzahl Bilder, Spalten, Zeilen)
  • neue Shortcuts zum Aufrufen externer Editoren (z.B. Photoshop)
  • Shortcuts sind nun editierbar
  • Anzeige einer laufenden Bildnummer
  • Optimierung/Vereinfachung der GUI
  • Editieren von Titel, Beschreibung und Geodaten
  • Der „All“-Filter erlaubt nun auch mehrere Kriterien die per UND oder ODER verknüpft werden können und ersetzt damit den zusätzlichen Expert-Filter
  • Der All-Filter kann nun auch auf bestimmte Felder eingegrenzt werden
  • Neue Filteroptionen für GPS, Geolocation, CloudVision und gestapelte Bilder
  • Es wurde eine Installationsroutine erstellt, womit die Verteilung der Applikation deutlich verbessert ist

Neben diesen kleineren Funktionen gab es aber auch zwei größere Themen, denen ich mich im Rahmen des Januar gewidmet habe:

Überarbeitung der Stichwortfunktionen

Ausgelöst durch einen Bug, der strukturell nur schwer behebbar gewesen wäre, hatte ich mich entschlossen, alle Funktionen zur Stichwortliste und den Stichwortsets neu zu schreiben und besser zu strukturieren.

Dabei habe ich allerdings wie immer auch gleich geschaut, ob ich nicht noch ein paar Verbesserungen mit erreichen kann. Dies ist in folgenden Punkte gelungen:

  • Das Laden einer Stichwortliste aus einer Textdatei (z.B. aus Lightroom exportiert) kann nun auch inkrementell erfolgen, so dass die bisherigen Stichwörter erhalten bleiben
  • Die Stichwortliste hat jetzt eine hierarchische Ansicht
  • Stichwörter innerhalb einer Hierarchie können jetzt auch ignoriert werden (analog zu Lightroom)
  • Stichwörter können jetzt auch umbenannt werden
  • Neue Option, dass alle Stichwörter der Hierarchie geschrieben werden
  • Stichwörter werden nun direkt aus der Stichwortliste den Stichwortsets hinzugefügt

In Summe haben die Anpassungen die Stichwortliste deutlich vereinfacht, sowohl im Code, aber auch in der Bedienung. Vor allem ist es übersichtlicher geworden. Auch in Bezug auf die Performance ist die neue Umsetzung etwas besser geworden.

Bilderstapel

Neben der Stichwortliste ist die ganz große Neuerung in diesem Monat die Umsetzung von Bilderstapeln gewesen. Diese Funktion gibt es auch in anderen Programmen wie Lightroom und ist nützlich vor allem, um Bildreihen wie Panoramen oder HDRs zusammenzufallen, aber auch für Fotografen, die JPG+RAW gemeinsam aufnehmen.

Diese Funktion gibt es jetzt auch in der Photography Toolbox. Dabei gibt es folgende Optionen:

  • Stapel können erstellt, eingeklappt, ausgeklappt und verändert werden. Auch das Ein-/Ausklappen, sowie das Entfernen aller Stapel ist möglich
  • RAW+JPG-Dateien werden auf Wunsch automatisch gestapelt
  • Option zur automatischen Zusammenfassung von Bildern basierend auf einer Zeitspanne, Kamera und Objektiv

Im Gegensatz zu Lightroom sind dabei auch folgende Funktionen möglich:

  • Stapel können dabei auch ordnerübergreifend sein
  • Option Bilder automatisch aus einem Stapel zu entfernen, wenn sie in einem anderen Ordner verschoben werden
  • Sofern ein Stapel eingeklappt ist, werden Änderungen an den Metadaten auf Wunsch auf alle Bilder des Stapels mit übertragen

Ich habe jetzt die ersten Tage mit den neuen Stapeln gearbeitet und muss sagen, dass mir diese Funktion in der jetzigen Umsetzung richtig gut gefallen hat, gerade auch mit dem automatischen Erstellen der Stapel.

Fazit für das Januar/Februar-Release

Das Januar-Release ist tatsächlich viel größer geworden wie ursprünglich geplant – über 160 Punkte wurden in den zwei Monaten bearbeitet. Das Ergebnis ist allerdings aus meiner Sicht richtig gut geworden und so werde ich mit der aktuellen Version V0-67 nun endlich auch in die Beta-Phase gehen. Das heißt jedoch nicht, dass ich am Ende der Entwicklung bin. Ich habe noch einige Funktionen auf der Liste, die noch umzusetzen sind und das Programm noch besser machen sollen. Allerdings möchte ich gern auch wissen, welche Funktionen ihr noch so vermisst.

Damit beginnt ein wichtiger neuer Abschnitt. Zu Erinnerung: In der Beta-Phase sind noch Fehler zu erwarten, d.h. für den produktiven Einsatz sollte das Tool nicht genutzt werden (oder mit entsprechender Vorsicht).

Für alle die Testen wäre ich dankbar, wenn die Ergebnisse und Fehler im Forum unter https://phototoolbox.fotoblog-reiseberichte.de/Forum/ gepostet werden. Auch bei Fragen oder Verbesserungsvorschlägen könnt ihr diese gern im Forum posten.

In diesem Sinne freue ich mich auf zahlreiche Rückmeldungen!