Ausblick | BVA-System

Posts Tagged ‘Ausblick’

Endlich geschafft

Samstag, April 25th, 2015

So lange wie dieses mal habe ich noch nie gebraucht, um wieder eine stabile Softwareversion fertigzustellen. Aber jetzt ist es endlich soweit: die Umstellung auf die generalisierten Datenbankkomponenten ist fertig und die Demo-Datenbank ist einsatzbereit. Ehrlich gesagt ist die Freude bei mir gerade groß, aber Einhundert prozentig zufrieden bin ich trotzdem nicht. Durch die zusätzlichen Codierungen ist die Demo-Datenbank nun deutlich langsamer als eine richtige Datenbankverbindung. Dies fällt gerade beim Import von neuen Fotos auf. Zum Glück lies sich das Problem entschärfen, indem einfach nur kleine Bilder in der Testdatenbank gespeichert werden dürfen.

Trotzdem hat sich der Aufwand für mich aber gelohnt: Der Quelltext ist nun deutlich übersichtlicher, ich habe eine Menge Fehler gefunden und natürlich auch beseitigt. Das beste für mich ist allerdings, das ich nun alle Datenbankfunktionen auch für die angedachte lokale SQLLite-Datenbank nutzen kann. Dort muss ich mich „nur“ darum kümmern, das die Fotos nicht direkt in der Datenbank gespeichert werden dürfen. Genug der Vorrede: nun wird es Zeit für die übliche Zusammenfassung der Änderungen, die seit der letzten stabilen Softwareversion umgesetzt wurden:

Demo-Datenbank zum Testen des Programmes

Die wichtigste Änderung, die sich durch die ganze Arbeit der letzten Monate ergeben hat, ist definitiv die Demo-Datenbank, welche ich hier auf der Homepage installiert habe. Wenn ihr das BVASystem testen wollt, müsst ihr ab jetzt nicht mehr ein eigenes Datenbanksystem aufsetzen. Ihr könnt euch hier einfach und natürlich kostenlos ein Login zur Demo-Datenbank anlegen.

Im Unterschied zu einem normalen Datenbanksystem ist die Demo-Datenbank komplett über HTTP-Anfragen realisiert. Für jeden SQL-Befehl wird eine Anfrage in Form einer XML-Datei erstellt und an ein Script auf dieser Homepage übertragen. Dieses führt den Befehl aus, nachdem geprüft wurde ob der Befehl ausgeführt werden darf. Das Ergebnis wird dann wieder in eine XML-Datei überführt und an das BVASystem übertragen. Durch die Überführung in ein XML-Format ist die Demo-Datenbank natürlich langsamer als ein direkter Datenbankzugriff. Gerade bei großen Binär-Datenfeldern, die auch noch BASE64-Codiert werden müssen, ist die Demo-Datenbank deutlich langsamer. Daher habe ich das BVASystem so modifiziert, das die Bilder in der Testdatenbank möglichst klein werden. Wundert euch also nicht, wenn die Bildqualität nach dem Speichern in der Datenbank schlechter ist als vorher.

Filter und Ansichtseinschränkungen

Neben den ganzen Änderungen, die ich für die Demo-Datenbank gebraucht habe, habe ich in den letzten Monaten eine Menge neuer Filterkriterien und Ansichtseinschränkungen implementiert. Außerdem habe ich die Kriterien neu sortiert, so das sie nun überall gleich gruppiert werden. Folgende Kriterien wurden umgesetzt:

Screenshot BVASystem Version 2.2.2

Screenshot BVASystem Version 2.2.2

Ausblick

Eigentlich hatte ich ja vor, direkt mit der Implementation der lokalen SQLite-Datenbank weiterzumachen. Aber ehrlich gesagt habe ich aktuell nicht die Lust dazu, wieder mit einem so großen Projekt anzufangen. Auch wenn ich bei den generalisierten Datenbankkomponenten, SQLLite bereits vorbereitet habe, wird es wieder zu lange dauern, bis man Ergebnisse sehen kann. Daher werde ich mich in den nächsten Monaten wieder mit Dingen beschäftigen, die sich schneller umsetzten lassen. Welche dies genau sein werden, weiß ich aktuell noch nicht. Fest steht allerdings, das es zeitnah eine Datenbank-Änderung geben wird, da ich Ideen habe, die sich mit der jetzigen Struktur nicht umsetzen lassen.

Jahresfazit 2014

Mittwoch, Dezember 31st, 2014

Auch dieses Jahr möchte ich hier wieder mit einem Jahresfazit abschließen. Im Gegensatz zum letzten Jahr dachte ich bis eben, das dieses Fazit etwas durchwachsener ausfallen würde, da ich gerade die letzten Monate doch etwas durchhing. Allerdings ist mir eben bewusst geworden, das in den vergangenen 12 Monaten doch recht viel passiert ist.

Neue Schlagwortfunktionen

Die bestehenden Schlagwortfunktionen wurden in diesem Jahr komplettiert. Es ist nun möglich, mehrere Schlagworte zusammenzuführen, Schlagworte umzubenennen und natürlich auch zu löschen. Alle Funktionen sind in einem Popup-Dialog untergebracht, der sich mit der rechten Maustaste über dem Schlagwort öffnen lässt. Außerdem entstand ein Schlagwortkonfigurationsdialog mit dem die Schlagworte bequem zu Schlagwortkategorien zugeordnet werden können.

Ansichtseinschränkung

Völlig neu hinzugekommen ist die Funktion zur Einschränkung der in den Bildlisten angezeigten Fotos. Es stehen mittlerweile einige Kriterien zur Verfügung, mit denen die Ansicht eingeschränkt werden kann. Fotos die den ausgewählten Kriterien nicht entsprechen, werden nun gar nicht mehr angezeigt. Allerdings ist die Ansichtseinschränkung bisher nur für die Datenbankansicht möglich, da sie auf modifizierten SQL-Befehlen basiert.

BVASystem zum Jahresabschluss 2014

BVASystem zum Jahresabschluss 2014

Bildfilterung

Wie angekündigt, wurde die Bildfilterung im vergangenen Jahr ausgebaut. Es sind eine Menge Kriterien dazugekommen, die zur Filterung genutzt werden können. Herausfordernd hierbei war für mich, das fast alle Kriterien eine selbst geschriebene Komponente zur Festlegung benötigten. Dadurch ist aber eine Oberfläche entstanden, mit der ohne viel Text möglichst flexible Filter eingestellt werden können. Neu ist ebenfalls, das eine aktive Bildfilterung durch ein Symbol in der Hauptstatusleiste angezeigt wird.

Sortierung

Die Sortierung der Bildlisten wurde komplett überarbeitet, da sie  bisher leider nicht richtig funktionierte. Nun können alle Listen nach Bildtitel, Aufnahmedatum und nach der Bildfilterung sortiert werden. Gerade letzteres ist sinnvoll, wenn man die zur Filterung passenden Fotos zusammen sehen möchte.

Export

Zu guter letzt ist noch der Bildexport erwähnenswert. Es ist seit diesem Jahr möglich, Fotos die einmal den Weg in die Datenbank gefunden haben, wieder zu exportieren. Dabei stehen verschiedene Modi zur Auswahl, so das Bilder zum Beispiel auch gleich in reduzierter Bildgröße exportiert werden. Dies habe ich benötigt, da ich in meinem Foto-Blog die Bilder nicht in voller Auflösung veröffentliche.

Ausblick

Der Ausblick aufs nächste Jahr fällt mir ehrlich gesagt schwer. Zum einen stehen noch jede Menge interne Änderungen an, die kaum sichtbare Veränderungen bringen und zum zweiten habe ich mittlerweile ein ganzes Buch voller guter Ideen und Wünsche zusammengetragen. Fakt ist, das ich auf jeden Fall erst einmal die angefangenen Änderungen zu Ende bringe. Damit steht fest, das es bald eine Demo-Datenbank geben wird und das früher oder später auch eine lokale SQLite Variante genutzt werden kann. Außerdem habe ich mir gerade vor Weihnachten eine NAS-Festplatte gekauft, auf der ein MySQL-Server läuft. In den nächsten Wochen werde ich ausprobieren, ob der Server für das BVASystem ausreicht. Zu guter letzt habe ich mir vorgenommen, im nächsten Jahr wieder mehr zu bloggen. Dieses Jahr gab es gerade zum ende hin, leider viel zu wenig Artikel.

BVASystem Version 2.2.1

Sonntag, Juli 13th, 2014

Die heutige Version des BVASystems, ist für mich etwas ganz besonderes, denn es ist die insgesamt einhundertste Version, die ich hier auf der Homepage veröffentlicht habe. Von diesen 100 Versionen waren 13 Versionen vom alten BVA-System 1.0. Die restlichen Versionen gehen alle auf das Konto dieses Blogs, den ich mit dem Start vom BVASystem 2.0 ins Leben gerufen habe. Ehrlich gesagt war der Blog die beste Idee, die ich jemals hatte. Ich finde es zum Beispiel gerade jetzt total interessant, in alten Entwicklungsständen zu stöbern und diese mit der aktuellen Version zu vergleichen. Es ist schon erstaunlich, auf was für eine Größe das BVASystem herangewachsen ist.  Nun aber wieder zur aktuellen Version:

Was ist neu in der Version 2.2.1

Die größte Änderung, die ich in den letzten Monaten umgesetzt habe ist die Ansichtseinschränkung. Mit dieser Funktion können unerwünschte Fotos aus den Bildlisten komplett ausgeblendet werden. Mir war diese Funktion so wichtig, damit ich die Bilder meiner Kinder ausblenden kann, wenn ich mir meine eigenen Fotos ansehen möchte. Des weiteren habe ich die Schlagwortverwaltung um weitere Funktionen erweitert. So ist es nun möglich Schlagworte umzubenennen, Schlagworte zu löschen und es können sogar 2 ähnliche Schlagworte zusammengeführt werden. Außerdem habe ich mit einigen Änderungen begonnen, die noch keine sichtbaren Früchte tragen. Wie versprochen habe ich erste Vorarbeiten durchgeführt, damit langfristig alle Datenbankfunktionen auch bei Bildern auf der lokalen Festplatte zur Verfügung stehen. Zu guter letzt habe ich mir eine eigene Scrollbar und eine eigene Scrollbox-Komponente geschrieben. Sie ersetzen nun bereits zum Großteil die hässlichen Standard-Scrollbars. 

BVASystem 2.2.1 - Einzelbildansicht

BVASystem 2.2.1 – Einzelbildansicht

Ausblick

Da ich es noch nicht ganz geschafft habe, überall im Programm meine neue Scrollbar einzubinden, steht dieses ganz oben auf meiner Wunschliste. Außerdem möchte ich auch weiterhin die Möglichkeiten zur Bildfilterung und auch der Ansichtseinschränkung erweitern. Gerade die Ansichtseinschränkung ist mit den 2 vorhandenen Kriterien noch ziemlich dünn. Der dritte Punkt, an dem ich arbeiten möchte ist etwas schwerer zu erklären. Das BVASystem hat aktuell eine sehr große technische Hürde. Wenn man das Programm wirklich testen möchte, so muss zuerst ein Datenbanksystem installiert und eingerichtet werden. Selbst wenn man dazu technisch gesehen in der Lage wäre, so wird man diesen Aufwand scheuen. Eine Lösung für das Problem wäre es, wenn ich eine Demo-Datenbank hier auf der Homepage installiere. Leider ist dies in der aktuellen Form nicht möglich, da ich dafür zu viele Datenbankrechte offen legen müsste. Daher habe ich mir etwas überlegt, damit ich beim Arbeiten an der lokalen Datenbankdatei auch dem Ziel Demo-Datenbank näher komme. Ich denke allerdings nicht, das es bis zu nächsten stabilen Softwareversion dort eine fertige Lösung geben wird. 

BVASystem Version 2.2.0

Dienstag, März 11th, 2014

Da nun bereits wieder der Frühling vor der Tür steht, ist es wieder an der Zeit, eine stabile Version des BVASystems zu veröffentlichen. Wenn ich ehrlich bin, ist in den letzten Monaten dieses mal nicht eine einzige Funktion entstanden, die ich als das Non-Plus-Ultra bezeichnen würde. Vielmehr habe ich dieses mal eine Reihe von kleineren Verbesserungen vorgenommen, die sich beim täglichen Umgang mit dem Programm definitiv bemerkbar machen.

Am wichtigsten, gerade in Hinblick auf die Bildfilterung, war mir dabei die Neugestaltung der Sortierung. Die Ergebnisse der Bildfilterung können nun, auch schon bereits während die Filterung berechnet wird, nach Filterungsübereinstimmung sortiert werden. Damit erscheinen die Fotos, die man sicherlich sehen möchte am Anfang der Bildliste. Als weitere Veränderung an der Bildfilterung fällt sicherlich auf, das man nun einzelne Filter auch wieder löschen kann. Für bequeme Anwender besteht ebenfalls die Möglichkeit, alle Filter auf einmal zu löschen bzw. alle Filter zu deaktivieren. Als neues Filterkriterium können nun die zu den Fotos zugeordneten Schlagworte genutzt werden.

BVASystem 2.2.0 - Miniaturbilder mit aktivierter Bildfilterung

BVASystem 2.2.0 – Miniaturbilder mit aktivierter Bildfilterung

Ganz neu ist der Dialog, der zur Konfiguration der Schlagworte dienen soll. Mit diesem können bequem Schlagworte zu den einzelnen Schlagwortkategorien zugeordnet werden. Neu ist ebenfalls die Möglichkeit, Fotos aus der Datenbank zu exportieren. In der letzten Woche habe ich noch eine Funktion umgesetzt, die bereits seit rund 1300 Tagen auf meiner Todo-Liste stand. Es können nun mehrere Fotos auf einmal selektiert werden, wenn man beim Selektieren die Shift-Taste gedrückt hält.

Ausblick

Für die nächste Zeit habe ich mir wieder größere Änderungen vorgenommen. Die größte ist dabei sicherlich, das ich das System um eine lokale Datenbank erweitern möchte. Ich bin eigentlich total glücklich darüber, wie ich meine eigenen Fotos mit dem BVASystem verwalten kann. Allerdings stört mich, das immer mehr Funktionen ausschließlich datenbankseitig verfügbar sind. Daher habe ich mir überlegt, eine lokale Datenbankdatei zu nutzen, um nach und nach die angesprochenen Funktionen auch lokal nutzbar zu machen. Dabei sollen keine Bilder in der Datenbankdatei abgelegt werden. Die lokale Datenbank soll ausschließlich dazu dienen, die Textdaten der Fotos schnell auffindbar zu speichern.

Damit es auch wieder sichtbare Änderungen gibt, habe ich mir vorgenommen, die Filterung um weitere Kriterien zu erweitern. Gerade jetzt, wo die Sortierung der Filterungsergebnisse möglich ist, nutze ich die Funktion recht häufig. Allerdings fehlt mir definitiv noch das eine oder andere Kriterium, damit ich dort wunschlos glücklich werde. Fast noch wichtiger ist es, bei den Schlagworten noch einige Funktionen nachzureichen. Es ist zum Beispiel aktuell nicht möglich, ein Schlagwort komplett zu löschen. Auch die Umbenennung eines Schlagwortes ist aktuell noch nicht möglich. Außerdem habe ich mir vorgenommen, in den Miniaturbildkomponenten eine Markierung zu schaffen, die das Auffinden des aktiven Elementes vereinfachen soll. Gerade bei größeren Bildlisten kann man doch recht schnell den Überblick verlieren.

BVASystem Version 2.1.5

Samstag, Juli 27th, 2013

Wie immer vergingen die letzten Monate viel zu schnell und es ist schon wieder an der Zeit, eine weitere stabile Softwareversion vom BVASystem zu veröffentlichen. Allerdings freue ich mich darüber, das ich diesmal mehr geschafft habe, als ich mir am Anfang vorgenommen hatte. Im letzten Blog schrieb ich bereits, das ich aktuell besonders stolz darauf bin, das das BVASystem nun zur Verschlagwortung von Fotos genutzt werden kann. Außerdem finde ich, das ich vom Zeitaufwand her, ein sehr schönes Minimum gefunden habe. Es lassen sich fast alle Schlagworte mit nur einem Klick einem Foto zuordnen. Einzig komplett neue Schlagworte müssen per Tastatur eingegeben werden, aber auch dort wird auf ähnliche, bereits verwendete Schlagworte hingewiesen. Somit werden ähnliche Schreibweisen für ein und das selbe Schlagwort verhindert.

Im Entspurt dazugekommen ist noch die Möglichkeit, ein Schlagwort wieder zu löschen.  Dies habe ich genau so einfach wie beim Hinzufügen gelöst. Ein Klick auf das Schlagwort und schon wird es, natürlich wieder über den Worker, gelöscht. Sofern man sich versehen hatte und das Schlagwort doch wieder nutzen möchte, dann reicht wieder ein Klick um es erneut zu speichern.

BVASystem 2.1.5 - Bildinformationen

BVASystem 2.1.5 – Bildinformationen

In den letzten 3 Monaten entstand ebenfalls das System, welches ich Werkzeugkasten genannt habe. Auf den Bildansichten ist es nun möglich sich ein Navigations- und/oder ein Lupen-Werkzeug anzeigen zu lassen. Diese können frei über dem Bild platziert und verschoben werden. Durch beide Werkzeuge wurde das Vergrößern bzw das Verkleinern von Fotos deutlich komfortabler. Man kann nun immer sehen, welchen Bereich des Bildes man gerade vor sich hat und auch schneller zu einem anderen Bildbereich navigieren. Auch die direkte Wahl des Vergrößerungsfaktors über den Schieberegler vereinfacht die Bedienbarkeit des Programmes.

Ausblick

Da es diesmal so gut geklappt hat, habe ich mir für die nächsten 3 Monate gleich von Anfang an mehr vorgenommen. Die Schlagwortverwaltung soll durch Schlagwortkategorien ergänzt werden. Dadurch werden die Schlagworte nämlich im Rubrikenbaum anzeigbar. Eine Liste von mehreren hundert Schlagworten untereinander möchte ich dem Baum nicht antun. Meine Idee ist, das Ihr euch Kategorien wie Personen, Tiere, … anlegen könnt und diese mit einer beliebigen Schlagwortmenge verknüpfbar ist. Wird eine Kategorie im Baum ausgewählt, so werden dort alle Bilder angezeigt, die mindestens eines der Schlagworte enthalten, die mit der Rubrik verknüpft wurden.

Als zweiten Punkt habe ich überlegt, den Werkzeugkasten um ein Histogramm-Werkzeug zu erweitern. Ich denke, das das Histogramm des Bildes, gerade in Hinblick auf die Bildbewertung wichtig sein kann. Vom Aufwand her schätze ich das Werkzeug als überschaubar ein, so dass es wahrscheinlich bereits in einigen Wochen fertig sein wird. 

Der dritte Punkt der geplant ist und wohl deutlich umfangreicher sein wird, ist die Bildfilterung. Aktuell ist es schön, das Schlagworte erfasst werden können, aber ein gezieltes Suchen nach einem Schlagwort ist nicht möglich. Daher möchte ich auf der rechten Seite der Oberfläche einen Filterbereich schaffen. Damit sollen aus der aktuell aktiven Bildliste, die „unerwünschten“ Bilder entfernt werden können. Ich schätze diesen Bereich als sehr umfangreich ein, da es eine Unmenge an Filterungsmöglichkeiten gibt. Zum Beispiel: Zeige mir alle Fotos mit einer Bildbewertung von 3, oder zeige mir alle Fotos mit dem Schlagwort „Hund“, oder zeige mir alle Fotos die mit einer Sony-Kamera aufgenommen wurden, oder oder oder … 

So nun aber genug der Worte, die nächsten 3 Monate sind bereits angebrochen und ich habe viel zu tun :-)

BVASystem Version 2.1.4

Donnerstag, April 4th, 2013

Die Entwicklung der Version 2.1.4 stand ganz im Zeichen der Verbesserungen. So wurden in den letzten Monaten viele optische, aber auch einige technische Verbesserungen umgesetzt, wodurch das Programm viel Bedienkomfort dazu gewinnt. Gerade die Veränderung in der Funktion zum Laden von Thumbnails war mir sehr wichtig, da es dadurch erst möglich geworden ist, tausende Bilder auf einmal in eine Bildliste zu laden.

Änderungen zur Vorgängerversion

Folgende Änderungen wurden im Detail umgesetzt:

Ladefunktion für Miniaturbilder

Bisher wurden immer alle Thumbnails einer Bildliste nacheinander geladen, was dazu führte, das das BVASystem bei einer großen Bildliste sehr viel Arbeitsspeicher benötigte bzw. sogar abstürzte, wenn kein weiterer Speicher angefordert werden konnte. Neu ist nun, das nur noch die Fotos eingelesen werden, die für die Anzeige benötigt werden. Navigiert man innerhalb der Bildliste, werden die nicht mehr benötigten Bilder wieder freigegeben. Ergebnis ist, das nun deutlich weniger Arbeitsspeicher benötigt wird und das die Fotos, die man sehen möchte, schneller eingelesen sind.

Nachladen des Originalbildes

Das BVASystem ist darauf ausgelegt, das Fotos möglichst schnell eingelesen werden können. Daher arbeitet das System intern mit einem Vorschaubild, welches an die Anzeigegröße angepasst ist. Problematisch wurde es bisher allerdings, wenn man sich das Foto in der 100% Zoomstufe ansehen wollte. Dann wurde nur das Vorschaubild auf 100% skaliert, das eigentliche Bild in Originalgröße konnte man quasi nicht erreichen. Nun ist es so, das das Bild bei Bedarf vom System selbstständig in voller Größe nachgeladen wird. Ob man gerade das Vorschaubild oder das Originalbild sieht, wird über ein kleines Icon neben dem Bildtitel dargestellt. 

Hauptdialog der Version 2.1.4.61

Hauptdialog der Version 2.1.4.61

Animationpanel

Die größte optische Änderung ergibt sich durch die Einführung des Animationpanels. Es ist nun möglich, die beiden Baumansichten auszublenden. Dadurch ergibt sich deutlich mehr Raum, der für die Darstellung der Bilder genutzt werden kann. Möchte man den Ordner bzw. das Fotoalbum wechseln, so genügt es die Maus auf die verbliebenen Überschriftenbereiche zu bewegen. Anschließend wird der Baum mit einer kleinen Animation sichtbar gemacht.

Erweiterungen der Bildinformationspanel

In der Bildinformationsansicht hat sich auch einiges geändert. So ist es nun endlich möglich, einzelne Panel ein und auch wieder auszublenden. Beim erneuten Einblenden eines Panels wird dieses an der gleichen Position angezeigt, die es vor dem Ausblenden hatte. Außerdem ist es nun möglich, einzelne Panel untereinander zu tauschen und zu guter letzt ist es möglich, sich weitere eigene Ansichten zu definieren.

Neugestaltung der Vollbildansicht

Als letzten Punkt möchte ich auf die überarbeitete Vollbildansicht hinweisen. Diese wurde optisch an den Rest des Programmes angepasst und um eine Anzeige der Position innerhalb der Bildliste ergänzt.

Ausblick

Es wurde bereits begonnen, ein Bildinformationspanel zu schaffen, mit dem ein Foto mit Schlagworten versehen werden kann. Aktuell ist es in einem prototypischen Zustand, der grob zeigt wie ich mir die Verschlagwortung eines Bildes vorstelle. Es fehlt noch komplett die Bindung an die Datenschicht, so das aktuell keine Schlagworte eingegeben und gespeichert werden können. Dies möchte ich bis zur Version 2.1.5 abändern. Außerdem habe ich vor, noch einige kleinere Features zu implementieren, die mir beim täglichen Einsatz der Software fehlen. So benötige ich zum Beispiel für meine Homepage Bilder in einer Größe von 1500×1000 Pixel. Aktuell übergebe ich daher jedes Foto vom BVASystem aus an mein Bildbearbeitungsprogramm. Gerade wenn ich mehrere Bilder für die Homepage brauche ist dies recht mühsam. Daher möchte ich gerne eine Bildexportfunktion implementieren, die Fotos in der gewünschten Größe exportieren kann.

Da gleich für die nächste Version eine Datenbankänderung für die Schlagworte ansteht, wird es diesmal wohl etwas länger dauern, bis ich die nächste Entwickler-Version der Bilddatenbank fertigstellen kann. Änderungen an der Datenbankstruktur will ich möglichst selten machen, daher muss ich mir nun genau überlegen, welche Änderungen ich in den nächsten Monaten benötigen werde. Ich will ja nicht, das ihr bei jeder Entwicklerversion die Datenbank anpassen müsst. Daher bitte ich diesmal um etwas Geduld.

Neugestaltung der Funktion zum Einlesen von Miniaturbildern

Sonntag, Januar 6th, 2013

Mit dem ersten Versionsupdate des Jahres 2013 gibt es gleich größere Veränderungen an dem BVASystem. Die freie Zeit zwischen den Feiertagen habe ich genutzt, um die Funktion zum Einlesen von Miniaturbildern komplett zu überarbeiten. Außerdem wurde mit der Umsetzung der Schlagwortfunktionalität begonnen, so das nun ein erster Prototyp der Komponente zum Anzeigen von Schlagwörtern begutachtet werden kann.

Einlesen von Miniaturbildern

Bisher war es so, das alle Miniaturbilder einer Bildliste nacheinander erstellt und im Arbeitsspeicher des Rechners zwischengespeichert wurden. Dies hatte zur Folge, das die Bilddatenbank bei großen Bildlisten sehr viel Arbeitsspeicher verbrauchte. Außerdem war die Reihenfolge, mit der die Bilder erstellt wurden, alles andere als optimal. Wollte man in der Liste die letzten Bilder sehen, so musste man warten, bis alle anderen davor eingelesen wurden.  Diese beiden Missstände waren für mich Grund genug, das Einlesen der Miniaturbilder zu überdenken.

In der jetzigen Version ist es so, das das Programm der Miniaturbild-Ladefunktion mitteilt, welche Bilder gerade zur Anzeige benötigt werden. Diese benötigten Bilder werden dann sofort eingelesen. Fotos, die gerade nicht mehr benötigt werden, werden von der Ladefunktion wieder freigegeben. Sobald sie wieder benötigt werden, werden sie wieder neu erstellt. Bei Bildern aus der Datenbank ist das erneute Laden kein Problem, denn da die Bilder bereits in der richtigen Größe vorliegen, geht dies sehr schnell. Kommen die Bilder hingegen von der Festplatte, muss erst das komplette Foto geladen werden, um es anschließend auf die richtige Größe zu verkleinern. Damit dies nicht immer und immer wieder gemacht werden muss, werden daher die erstellten Miniaturbilder temporär auf der Festplatte zwischen gespeichert. Mit diesem „Trick“ können die Miniaturbilder von Fotos auf der Festplatte fast genauso schnell erstellt werden, wie es bei Bildern aus der Datenbank der Fall ist.

Insgesamt konnte durch die Veränderungen erreicht werden, das die benötigten Miniaturbilder schneller zur Verfügung stehen. Auch der hohe Arbeitsspeicherverbrauch konnte beseitigt werden. Theoretisch ist es nun möglich, das Bildlisten mit beliebiger Bildanzahl erstellt werden können und jedes mal ungefähr die gleiche Arbeitsspeichergröße benötigt wird.

Komponente zur Anzeige von Schlagwörtern

Ich denke, das es an der Zeit ist, die lange vor mir her geschobene Schlagwortfunktionalität zu implementieren. Da ich mir dort relativ viel vorgenommen habe, kann ich allerdings noch nicht wirklich abschätzen, wie lange mich dieses Thema beschäftigen wird. Wahrscheinlich wird es mir ähnlich gehen, wie bei der Bildbewertungsfunktion, die mit jeder Weiterentwicklung umfangreicher wurde. Angefangen habe ich nun jedenfalls damit, eine Komponente zu erstellen, mit der die Schlagworte eines Bildes dargestellt und verändert werden können.  Da beim BVASystem Fotos nur zusammen mit einer Bildliste geladen werden können, fand ich es praktisch, wenn die Schlagworte in einer Tag-Cloud angezeigt werden. Ein groß geschriebenes Schlagwort bedeutet hierbei, das es in der aktiven Bildliste häufig vorkommt. Klein geschriebene Schlagworte kommen dagegen nur selten in der Liste vor.

Die Optik der Komponente, die im entsprechenden Panel der Bildinformationen betrachtet werden kann, gilt aber keinesfalls als endgültig. Ich denke ich werde sie noch überarbeiten müssen, da zum Beispiel dort auch die Funktion zum Löschen eines Schlagwortes mit integriert werden muss. 

Ausblick auf die nächste Version

Für die nächste Version habe ich mir vorgenommen, die Vollbildansicht zu überarbeiten. Dort stört mich zum Beispiel, das die Position des angezeigten Bildes in der Bildliste nicht ersichtlich ist. Außerdem stört der Hint, welcher einem mitteilen soll, wie der Vollbildmodus wieder verlassen werden kann. Außerdem werde ich an der Schlagwortkomponente weiterarbeiten. Ich hoffe, das ich den Prototypen, den ich in meinem letzten Jahresfazit angesprochen habe, soweit fertig bekomme, das ich ihn hier vorstellen kann.

4 Monate

Samstag, März 31st, 2012

Etwa 4 Monate nach der Mission accomplished habe ich es, allen störrischen Datenbanksystemen zum Trotz geschafft, heute die zweite stabile Softwareversion vom BVASystem fertigzustellen. Aufmerksame Leser des Blogs werden sicher wissen, mit was ich mich die letzten Monate beschäftigt habe. Für alle anderen fasse ich es trotzdem noch einmal kurz zusammen:

Neuerungen am Programm

Die größte Veränderung am Programm ist sicher die Unterstützung von den Datenbanksystemen MySQL, Firebird und Oracle. Bisher war es nur möglich, MySQL als Datenbanksystem zu verwenden. Die Installation war aufwendig und wahrscheinlich nicht immer leicht. Hier konnte ich definitiv eine Verbesserung erreichen, indem die notwendige Datenbankstruktur nun durch ein Administrationstool erstellt werden kann. Es sind hier weit weniger Benutzereingaben bzw. -aktionen notwendig um ans Ziel zu gelangen.

Aber auch am Hauptprogramm gab es Veränderungen. Das Modul zum Auslesen der EXIF-Bildinformationen wurde erweitert, die neu erfassten Daten werden beim Bildimport  in der Datenbank gespeichert und sie können in einem Bildinformationspopup-Fenster jederzeit angezeigt werden.

Ausblick

Ich hoffe, das ich bis zur nächsten stabilen Softwareversion wieder einen ähnlichen Zeitrahmen benötigen werde. Vorgenommen habe ich mir, das ich die Metadaten-Funktionalität verstärkt erweitere. Ich denke, das diese Funktionalität das BVASystem am stärksten von anderen Bildverwaltungssystemen unterscheidet. Darum denke ich, das die Entwicklungszeit hier gut investiert ist.

Als erstes möchte ich ein neues Metadatenelement implementieren, welches nicht auf dem EXIF-Header basiert. Dieses Metadatenelement wird die mittlere Bildhelligkeit sein. Damit wird es dann beispielsweise möglich sein, Nachtaufnahmen von Tagaufnahmen zu unterscheiden, auch wenn sie am gleichen Tag aufgenommen wurden. Mehr dazu werde ich hier berichten, sobald die neue Funktionalität in einer Entwicklerversion getestet werden kann.

Außerdem habe ich mir vorgenommen, einen vierten Anzeigemodi zu schaffen, auf dem alle Bildinformationen zusammenhängend angezeigt und später auch editiert werden können. Und auch am Administrationstool werde ich weiterarbeiten. Wichtig ist zum Beispiel die Möglichkeit zur Aktualisierung einer veralterten BVASystem Datenbankstruktur.