Archive for the ‘Neue Programmversion’ Category

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 :-)

Endspurt zur Schlagwortverwaltung

Mittwoch, Juli 10th, 2013

Mittlerweile macht es mir wieder viel mehr Spaß am BVASystem zu programmieren, denn jetzt kann ich sehen, das die Funktionen zur Verschlagwortung von Fotos genauso funktionieren, wie ich sie mir vor einigen Monaten überlegt habe. Gestern Nacht habe ich die letzte fehlende Funktion zum Hinzufügen eines Schlagwortes fertigstellt und war dann so begeistert, das ich gleich knapp 50 Fotos in der Testdatenbank mit Schlagworten versehen habe. Es ist super, das nicht jedes Schlagwort per Tastatur eingegeben werden muss. Dadurch ist die Verschlagwortung relativ schnell erledigt und zugleich verhindere ich damit ähnliche Schlagworte mit der gleichen Bedeutung. Bei der Software, die ich auf meiner privaten Foto-Homepage nutze, werden alle Schlagworte eines Bildes in einem Eingabefeld mit Komma getrennt erfasst. Dort ist es mir bereits passiert, das ich Bilder mit dem Schlagwort „Möwe“ und andere mit dem Schlagwort „Möwen“ versehen habe. Dies sollte beim BVASystem nicht passieren.

Verschlagwortung von Fotos

Ich möchte diesen Blog nochmals nutzen, um die Funktionen zur Verschlagwortung von Fotos stichpunktartig zusammenzufassen:

  • die Schlagworte werden immer in Form einer Schlagwortwolke dargestellt
  • dargestellt werden dabei immer alle Schlagworte, die in der aktiven Bildliste verwendet wurden
  • gesetzte Schlagworte werden in einem Braunton dargestellt
  • graue Schlagworte werden beim aktiven Foto nicht verwendet
  • die „grauen“ Schlagworte können durch einen einfachen Klick mit dem Foto verknüpft werden
  • neue Schlagworte können durch das Eingabefeld eingegeben werden
  • während der Eingabe werden weitere Schlagworte in einem Popup-Fenster vorgeschlagen
  • auch diese können durch einfaches Anklicken ausgewählt werden
  • es stehen 2 Vorschlagsmodi zur Verfügung (alphabetische Übereinstimmung und wahrscheinlich zusammengehörende Schlagworte)
Schlagwortansicht mit geöffnetem Vorschlagspopup-Fenster

Schlagwortansicht mit geöffnetem Vorschlagspopup-Fenster

Werkzeugkasten: Lupen-Funktion

Auch am Werkzeugkasten habe ich in den letzten beiden Wochen weitergearbeitet. Entstanden ist dabei ein Lupen-Werkzeug mit  dem die Bildregion um den Mauszeiger herum vergrößert bzw. verkleinert dargestellt werden kann. Ich habe mir gedacht, das dieses Werkzeug sinnvoll ist, wenn man zur Bildbewertung die Schärfe beurteilen möchte. Durch die Lupe ist die gezielte Vergrößerung von ausgewählten Bildbereichen deutlich einfacher möglich, als es bisher mit der Vergrößerungsfunktion möglich war.

Lupen-Werkzeug

Lupen-Werkzeug

Ausblick

Da ich mir vorgenommen habe, das die nächste Version keine Entwicklerversion sein wird, werde ich mich in den nächsten Wochen wohl hauptsächlich mit Fehlerkorrekturen beschäftigen. Da aber bei den Schlagworten noch die wichtige Funktion zum Entfernen eines Schlagwortes fehlt, werde ich diese unbedingt implementieren. Damit habe ich dann alle wichtigen Funktionen beisammen, die ich zur Verschlagwortung meiner Fotos benötige.

Endlich wieder sichtbare Fortschritte

Dienstag, Juni 25th, 2013

Nach einer etwas längeren Durststrecke gibt es mit dem heutigen BVASystem Update wieder sichtbare Fortschritte. Bei beiden Hauptbereichen, an denen ich gerade arbeite, habe ich wichtige Meilensteine erreicht. Ich freue mich sehr darüber, das nun endlich die gespeicherten Schlagworte angezeigt werden können. Außerdem habe ich das Navigationswerkzeug fertiggestellt. Gerade die dort mögliche direkte Veränderung des sichtbaren Bildausschnittes bringt einen Komfortgewinn für die Bildverwaltung. Man gelangt nun auch bei höheren Vergrößerungsfaktoren viel schneller zum gewünschten Bildausschnitt.

Werkzeug: Navigation

Die Oberfläche des Navigationswerkzeugs ist in zwei Bereiche aufgeteilt. Während im oberen Bereich der aktuelle Bildausschnitt angezeigt und verändert werden kann, dient der untere Bereich zur Veränderung des Vergrößerungsfaktors. Die Veränderung des Bildausschnittes erfolgt durch ein einfaches Drag&Drop, welches im markierten Ausschnitt gestartet werden kann. Die Veränderung des Vergrößerungsfaktors ist auf zwei Wegen möglich. Der Vergrößerungsfaktor kann stufenlos durch den Schieberegler in der Mitte eingestellt werden. Außerdem stehen links und rechts 2 Knöpfe zur Verfügung, mit denen ein Wechsel auf vorgegebene Vergrößerungsfaktoren  möglich ist.

Bildansicht mit aktivem Werkzeugfenster Navigation

Bildansicht mit aktivem Werkzeugfenster Navigation

Verschlagwortung von Fotos

Die im letzten Blog beschriebene Vorgehensweise mit den Schlagwortkennungen wurde umgesetzt. Zu jedem Foto wird nun eine Schlagwortkennung erstellt und in der Datenbank gespeichert. Beim Einlesen einer Bildliste werden nun die Schlagwortkennungen ausgewertet. Dabei entsteht eine Statistik, die beschreibt, wie häufig ein Schlagwort innerhalb der Liste genutzt wurde. Aus dieser Statistik wird dann schlussendlich die Schlagwort-Wolke erstellt, welche in den Bildinformationen angezeigt wird. 

Darüber, das meine geplante Vorgehensweise funktioniert bin ich sehr glücklich. Ein großes Manko bleibt allerdings noch bestehen. Damit man die gespeicherten Schlagworte sehen kann, muss die Bildliste neu eingelesen werden. Hier muss also dringend eine Änderung erfolgen.

Schlagwortwolke einer Bildliste

Schlagwortwolke einer Bildliste

Ausblick

Wie immer folgt am Schluss noch ein Ausblick auf die nächste Version, in der ich die beiden Hauptbaustellen weiter bearbeiten werde. Bei den Werkzeugen ist geplant, das das Werkzeug Lupe umgesetzt wird. Ich denke, das  dies einfacher werden wird als das Werkzeug Navigation und mir somit mehr Zeit zur Verfügung steht um die Verschlagwortung komfortabler zu gestalten. Vor allem will ich mich hier darum kümmern, das neue Schlagworte sofort ohne Aktualisierung der Bildliste angezeigt werden. 

Speicherung von Schlagworten

Montag, Juni 10th, 2013

Ein großer Nachteil, wenn man komplexe Funktionen umsetzen möchte ist, das sie meinen 2-3 Wochen Zeitrahmen total sprengen. Aktuell habe ich daher die Schlagwortfunktionalitäten in mehrere kleine Pakete zerteilt, die nun nach und nach umgesetzt werden. Heute habe ich wieder so ein kleines Päckchen komplementiert und mir fällt es gerade sehr schwer, darüber irgendwas interessantes zu schreiben.

Es ist nun nämlich möglich, das in der BVASystem-Datenbank Schlagwörter gespeichert und mit Fotos verknüpft werden können. Hört sich prinzipiell ja prima an, aber leider ist der Teil zur Anzeige der Schlagworte noch nicht so weit. Somit hat die Speicherung noch keinerlei praktischen Nutzen.

Die Anzeige der Schlagworte ist aktuell nicht möglich, da ich mir ein aufwendiges System überlegt habe, um die notwendigen Datenbankabfragen zur Anzeige der Schlagworte zu minimieren. Jedes Foto soll mit einer  Schlagwort-Kennung verknüpft werden, der in codierter Form die verwendeten Schlagworte enthält. Das Programm soll dann bereits beim Einlesen der Bildliste schauen, wie viele verschiedene Schlagworte in den Schlagwort-Kennungen stehen. Nachdem die Bildliste komplett ist, sollen dann die eigentlichen Schlagwort-Informationen decodiert werden. Der große Vorteil dabei ist, das die Schlagwort-Ansicht nur einmal beim Einlesen der Bildliste erstellt werden muss. Bis zum nächsten Update möchte ich das System mit den Schlagwort-Kennungen umgesetzt haben, damit die Test-Schlagworte endlich verschwinden können.

Auch an meiner zweiten Baustelle, den Werkzeugfenstern habe ich in den letzten beiden Wochen weitergearbeitet. Die Werkzeugfenster können nun per Drag&Drop positioniert werden. Beim Beenden des Programms werden die Positionen gespeichert und beim nächsten Programmstart wieder hergestellt. Damit ist das Grundsystem der Werkzeuge nun fertig und ich kann mich an die eigentliche Implementierung der Werkzeuge machen. Auch hier sieht es also ähnlich aus wie bei den Schlagworten: Ein wichtiger Meilenstein wurde erreicht, ein praktischer Nutzen ist allerdings noch nicht vorhanden.

Für das nächste Update habe ich mir nun vorgenommen, das zumindest das Werkzeug „Lupe“ fertiggestellt wird. Damit ich wieder etwas interessantes berichten kann.

Erste Vorschau auf neue Funktionen

Donnerstag, Mai 23rd, 2013

Nachdem ihr auf die letzte Entwicklerversion recht lange warten musstest, bin ich dieses mal um einiges schneller. In nicht einmal 2 Wochen habe ich es geschafft, die geplante Vorschau auf die neuen Funktionen, die ich in den nächsten Monaten fertigstellen möchte, zu erstellen.  Wie immer findet ihr die neue Programmversion unter Download. 

Schlagworte

Nachdem mit der letzten Version die Datenbank-Grundlagen für die Verschlagwortung von Fotos gelegt wurden, ging es nun auch gleich mit der Implementierung los. Insgesamt habe ich bereits 3 Teilaufgaben fertiggestellt. Die interne Datenschicht enthält nun ein Modul, in dem die Schlagworte eines Bildes abgelegt werden können.  Zum Test werden jedem Bild beim Laden 2 zufällige Schlagworte hinzugefügt. Diese werden in dem Bildinformationspanel für die Schlagworte auch angezeigt. Außerdem habe ich die Workeraufgabe erstellt, die zur Speicherung eines Schlagwortes dienen wird.

Schlagwortansicht mit 2 aktiven Schlagworten

Schlagwortansicht mit 2 aktiven Schlagworten

Werkzeugkasten in der Bildansicht

In allen großen Bildansichten möchte ich einige Werkzeuge zur Verfügung stellen, die die Arbeit mit dem BVASystem erleichtern sollen. So ist zum Beispiel geplant, das eine Lupe verfügbar ist, mir der der Bildbereich um den Mauszeiger herum vergrößert dargestellt werden kann. Diese soll zum Beispiel eingesetzt werden, um die Bildschärfe zu beurteilen. Außerdem ist ein Werkzeug geplant, mit dem man auf dem ersten Bild erkennen kann, wo im Foto sich der gerade angezeigte Bildbereich befindet. Weitere Werkzeuge sind denkbar, aber vorerst nicht geplant.

Fertig umgesetzt ist jetzt bereits das Grundgerüst, auf der alle Werkzeuge basieren sollen. In der rechten oberen Ecke der Bildansichten befindet sich ein kleiner Werkzeugkasten, über den, durch ein Popupmenü, einzelne Werkzeuge ausgewählt werden können. Diese erscheinen anschließend in einem kleinen Fenster über dem eigentlichen Bild. Die Werkzeuge können, wie von Windows gewohnt, über das kleine X in der oberen rechten Ecke, oder aber auch wieder über das Popupmenü geschlossen werden.

Popupmenü zur Aktivierung von Werkzeugen

Popupmenü zur Aktivierung von Werkzeugen

Ausblick

Für die nächste Version ist natürlich geplant, an beiden Funktionen weiter zu programmieren. Für die Schlagworte ist geplant, das erstmals Schlagworte in der Datenbank gespeichert und auch wieder ausgelesen werden können. Bei den Werkzeugen wird es mit dem Verschieben der Werkzeug-Fenster weitergehen. Weiterhin ist geplant, das sich das BVASystem  beim Beenden des Programmes die letzten Positionen der Werkzeug-Fenster merkt und sie beim nächsten Programmstart wiederherstellt.

Datenbankstrukturupdate Schlagworte

Dienstag, Mai 14th, 2013

Nach einer etwas längern Pause steht mit dem heutigen Versionsupdate (Version 2.1.4.62-dev) auch ein Datenbankstrukturupdate an. Die Aktualisierung der Datenbankstruktur erfolgt, wie bereits beim letzten Update, mit dem Administrationstool.  Details zur Aktualisierung der Datenbankstruktur könnt ihr in der Anleitung nachschlagen. 

Inhaltlich geht es bei dem Datenbankstrukturupdate ausschließlich um die Schlagworte. Eigentlich hatte ich ja bereits Tabellen für die Schlagworte angelegt. Aber als ich mir überlegt habe, wie die Schlagwortfunktionen im BVASystem aussehen sollen, wurde schnell klar, das die bestehenden Tabellen bei weitem nicht ausreichen. Folgende Funktionen/Eigenschaften sind künftig bei den Schlagworten geplant:

  • Schlagwort-Wolke

Wenn man eine beliebige Bildliste, wie zum Beispiel ein Fotoalbum, im BVASystem betrachtet, so sollen alle dort genutzten Schlagworte in einer Schlagwort-Wolke angezeigt werden. Häufig genutzte Schlagworte sollen hierbei größer dargestellt werden, als selten genutzte Schlagworte. Damit verbunden soll ein gewisser Komfort beim Verschlagworten von Fotos entstehen, denn in der Bildliste bereits genutzte Schlagworte müssen nicht erneut per Tastatur eingegeben werden. Ein einfacher Klick reicht aus, um sie bei weiteren Fotos zu aktivieren.

  • Hierarchische Kategorien

Im alten BVASystem war es so, das Schlagworte hierarchisch angelegt werden konnten. Wurde dort zum Beispiel das Schlagwort „Ente“ als Unterschlagwort von dem Schlagwort „Vogel“ angelegt, so konnte bei der Auswahl des Schlagwortes „Ente“ das Schlagwort „Vogel“ automatisch mit ausgewählt werden. Dieses System möchte ich jetzt nicht wieder umsetzen, da es mir persönlich schwer gefallen ist, die Schlagworte in einer Baumstruktur anzuordnen. Für die künftige Implementation ist geplant, das alle Schlagwörter gleichrangig ohne großes Ordnungssystem angelegt werden können. Dies entspricht auch mehr der gängigen Vorgehensweise, bei der Schlagworte als lose Wortaufzählungen festgelegt werden.

Allerdings möchte ich die Möglichkeit bieten, das eine Gruppe von Schlagworten einer Kategorie zugeordnet werden kann. Beim Verschlagworten von Fotos, die bei einem Strandurlaub aufgenommen wurden, werden sicherlich ganz andere Schlagworte benötigt als bei Fotos, die in den Bergen aufgenommen wurden. Sofern man die Schlagwortkategorien konsequent nutzt, ist es möglich eine Schlagwortliste zu erstellen, die nur die  Schlagworte enthält, die benötigt werden um Fotos vom Strandurlaub zu verschlagworten. Mein Ziel ist, das man sich durch die Kategorien innerhalb der Schlagworte schneller zurechtfinden kann und dadurch die Verschlagwortung schneller fertigstellen kann.

  • Vorschläge für weitere Schlagworte

Bei der Eingabe von neuen Schlagworten, sollen dem Anwender bereits genutzte Schlagworte, die mit der identischen Zeichenfolge beginnen, angezeigt werden. Dadurch möchte ich sicherstellen, das nicht verschiedene Versionen eines Schlagwortes, wie zum Beispiel Schiff/Schiffe, abgespeichert werden. 

  • Automatische Zuordnungen für Schlagworte

Ähnlich wie ich es bereits bei den Fotoalben umgesetzt habe, soll es auch für die Schlagworte eine Möglichkeit zur automatischen Zuordnung geben. Hierbei denke ich vor allem an Schlagworte, die sich geografisch lokalisieren lassen. Denkbar wäre es aber zum Beispiel auch, das man Personen per Gesichtserkennung auf Fotos identifiziert. Ich werde hier versuchen, möglichst viele Ansatzpunkte umzusetzen, damit ein möglichst flexibles System entsteht.

  • Austauschbarkeit von Schlagworten

Prinzipiell möchte ich die Möglichkeit schaffen, das die Inhalte der Schlagworttabellen ausgetauscht werden können. Gerade wenn für Schlagworte Möglichkeiten zur automatische Zuordnungen definiert wurden, erscheint es mir sinnvoll, wenn sie zwischen verschiedenen Anwendern ausgetauscht werden können. Als Austauschformat soll eine XML-Struktur genutzt werden. Eventuell wird es sogar eine öffentliche Plattform geben, die zum Austausch der Schlagwort-Definitionen dienen wird.

Programmänderungen der Version 2.1.3.62-dev

Auch wenn ich in den letzten Wochen die meiste Zeit mit dem Datenbankstrukturupdate verbracht habe, habe ich es trotzdem geschafft, eine Funktion zu implementieren, die mir schon lange auf dem Herzen liegt. Es ist  nun möglich, die Größe von einzelnen Bildinformationspanels zu verändern. Möglich ist dies durch eine Drag&Drop-Aktion, die in den Zwischenräumen der einzelnen Panels gestartet werden kann. Während man die Maustaste gedrückt hält, wird die neue Position des Zwischenraums durch eine graue Linie gekennzeichnet. Die Größenänderung wird dann beim loslassen der Maustaste durchgeführt. Die Veränderung der Größe wird so durchgeführt, das keinerlei Lücken in der Darstellung entstehen. Es ist also durchaus möglich, das mit einer Drag&Drop-Aktion mehrere Panel in ihrer Größe verändert werden.

Angepasste Bildinformationsansicht

Angepasste Bildinformationsansicht

Ausblick

Ab jetzt sollen die Programmupdates wieder im gewohnten Rhythmus stattfinden. Für die nächsten drei Wochen habe ich mir vorgenommen, die ersten Schritte zur Implementation der Schlagwortfunktionalitäten durchzuführen. Außerdem ist geplant, das die Bildkomponente, die überall zur Anzeige der Fotos genutzt wird, um Overlay-Fenster erweitert wird. In einem dieser Fenster soll später zum Beispiel ein Übersichtbild angezeigt werden, damit man auch bei herangezoomten Bildern weiß, in welchem Bildbereich man sich befindet. Insgesamt gesehen gibt es also sehr viel zu tun, so dass ich mich am besten gleich an die Arbeit mache.

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.

Austausch von Bildinformationspanels

Mittwoch, März 20th, 2013

Seit geraumer Zeit befinden sich die Bildinformationspanels in einem unfertigen Zustand im BVASystem. Zwar sind die Inhalte der einzelnen Panel funktional, aber das Grundsystem, welches hinter den Bildinformationpanels steht, ist nur rudimentär implementiert. Um diesen Zustand wenigstens etwas abzumildern, hatte ich mir vorgenommen, einen Teil der gewünschten Grundfunktionalitäten zu implementieren. Komplett fertigstellen kann ich das System zum jetzigen Zeitpunkt aber nicht, da es zu komplex ist und ich durch die viele Arbeit mein Hauptziel „Bildverwaltung“ aus den Augen verlieren würde. Allerdings ist mit dem heutigen Versionsupdate eine weitere Grundfunktionalität fertig geworden: Es ist nun möglich, 2 sichtbare Panel per Drag&Drop zu tauschen. Somit können nun also endlich Panel dort platziert werden, wo man sie gerne hätte.

Zum Tauschen zweier Bildinformationspanels muss man auf den Überschriftenbereich eines Panels klicken und dabei die Maustaste gedrückt halten. Anschließend erscheinen in der Mitte von jedem sichtbaren Panel Knöpfe, die als Ablagefläche für den Drag&Drop-Vorgang dienen. Zum Tausch muss der Mauszeiger dann zu einem der Ablageflächen gezogen werden und dort die Maustaste losgelassen werden. Anschließend werden die beiden Panel sofort getauscht. Beim Tauschen der Panels nimmt das neue Bildinformationspanel den gleichen Raum ein, den das alte Panel davor hatte. Die Struktur, mit der die Panel angeordnet waren, ändert sich also nicht.

Bildbewertung im Drag and Drop Modus

Bildbewertung im Drag and Drop Modus

Außerdem habe ich noch einige Fehler beseitigt, die mir bei der Benutzung des Programmes aufgefallen sind. So kann nun mit den Pfeiltasten zwischen den Seiten eines animierten Pagecontrols hin und hergewechselt werden. Gestört hat mich auch, das die Farbgebung der Oberfläche nicht konsequent genug gewesen ist. Sofern ich nichts übersehen habe, sollte nun zur Darstellung einer Auswahl immer die gleiche Farbe verwendet werden.

Ausblick

Für die nächste Version habe ich mir weiterhin vorgenommen, wenn auch nur noch indirekt, an den Bildinformationspanels zu arbeiten. Ich möchte nun endlich die Möglichkeit schaffen, das der Nutzer eigene Ansichten anlegen und speichern kann. Ich stelle mir vor, das man sich je nach „Aufgabe“ eine optimale Ansicht anlegt. Ich würde mir zum Beispiel extra eine Ansicht erstellen, die ich zur Bewertung von Fotos nutzen würde. Sichtbar wären dort nur die 3 Bildinformationspanels: Navigation, Foto und natürlich Bildbewertung. Da die nächste Version eine stabile Softwareversion sein soll, werde ich noch einmal verstärkt darauf achten, Fehler zu finden und diese auch gleich zu beseitigen.

Aktualisierte Oberfläche

Dienstag, März 5th, 2013

Das heutige Versionsupdate bringt eine deutliche Änderung an der Oberfläche mit sich. Im Dezember letzten Jahres habe ich damit begonnen, eine animierte Pagecontrol-Komponente zu entwickeln. Mein Ziel war es, das die nicht immer benötigte Baumansicht bei Bedarf ausgeblendet werden kann. Dadurch sollte mehr Platz für die Bildansichten geschaffen werden. Nebenbei wollte ich noch ein Problem des bisher eingesetzten Pagecontrols beseitigen.  Dort wurde nämlich der Focus nicht sichtbar dargestellt. Beide Ziele konnte ich nun zufriedenstellend erreichen, so dass in der Version 2.1.3.59-dev das alte Pagecontrol nicht mehr vorhanden ist.

Animiertes Pagecontrol

Startet man das BVASystem das erste mal, nach der Installation der neuen Version, fällt sofort die geänderte Oberfläche ins Auge. Die beiden Seiten der Baumansicht sind nun vertikal ausgerichtet. Die Baumansicht ist festgepinnt, so das noch keine Animationen erfolgen. Zum Ausblenden der Baumansicht muss dann zuerst die Pin-Nadel gelöst werden. Verlässt man anschließend mit der Maus den Bereich der Baumansicht, so wird diese ausgeblendet. Ausnahme hierbei ist, wenn die Baumansicht den Eingabefokus besitzt. Dann nämlich bleibt die Ansicht stehen, bis sich der Eingabefokus ändert. Dies soll verhindern, das der Bereich ausgeblendet wird, wenn man eigentlich eine Tastatureingabe vornehmen möchte. Beim Beenden des Programms wird der Status (angepinnt/nicht angepinnt) der Baumansicht gespeichert und beim nächsten Programmstart genauso wieder eingestellt. 

BVASystem mit geöffneter Baumansicht

BVASystem mit geöffneter Baumansicht

Damit die Optik einheitlich erscheint, wurde das Pagecontrol für die Bildansichten ebenfalls ersetzt. Eine Animation ist bei diesem Steuerelement nicht möglich, da es wenig sinnvoll ist, den Hauptbereich der Anwendung auszublenden.

BVASystem mit minimierter Baumansicht

BVASystem mit minimierter Baumansicht

Auf den beiden Bildern sieht man deutlich, wie durch den gewonnenen Platz, eine größere Anzahl von Miniaturbildern angezeigt werden kann. Mein Ziel habe ich also erreicht.

Änderungen an der Bildinformationsansicht

Damit habe ich nun endlich die erste große Baustelle abgeschlossen und kann mich auf die nächste große Baustelle stürzen. Bereits im letzten Artikel hatte ich angekündigt, die Logik hinter den Bildinformationspanel zu aktualisieren. Gerade gestern bin ich damit fertig geworden, die neuen Algorithmen zu integrieren. Und nicht nur das: Ich habe es ebenfalls geschafft, das nun einzelne Panel aus- und auch wieder eingeblendet werden können. Prinzipiell ist es möglich, Panel in beliebiger Reihenfolge ein- und auszublenden. Allerdings ist es nur bedingt möglich, das ausgeblendete Panel in gleicher Größe und Position wieder einzublenden. Ändert sich die Struktur der Ansicht zu stark, wird das Panel dann neu initialisiert. Somit entsteht immer eine valide Ansicht, bei der die gewählten Bildbereiche in möglichst optimaler Größe platziert werden.

Ausblick

In der nächsten Version habe ich mir vorgenommen, einige kleinere Bugs/Unschönheiten in der Oberfläche zu beseitigen. Außerdem habe ich vor, mich weiterhin auf die Großbaustelle Bildinformationsansicht zu konzentieren. In  rund 3 Wochen soll es möglich sein, zwei Bildinformationspanel per Drag&Drop zu tauschen. Bis dahin steht aber noch einiges an Arbeit vor mir … 

Keep it simple, stupid

Donnerstag, Februar 14th, 2013

„Keep it simple, stupid“ ist ein Satz, an den ich in den letzten Tagen häufiger denken musste. Er beschreibt ein Designkonzept, bei dem nach der einfachsten und am leichtesten zu verstehenden Lösung gestrebt wird. Auf den Weg dorthin verzettelt man sich aber meistens anständig, indem man Workaround für Workaround programmiert um das Problem vollständig zu lösen. Spätestens wenn man seinen eigenen Quelltext nach recht kurzer Zeit nicht mehr versteht, sollte man über einen alternativen Lösungsweg nachdenken.

Vor einigen Wochen ärgerte ich mich damit herum, das ich es nicht geschafft habe, die Nachbarschaftsbeziehungen der einzelnen Bildinformationspanels korrekt zu halten, wenn der Anwender einzelne Panel ausblendet. Immer wieder gab es einen Sonderfall, bei dem die Nachbarschaftsbeziehungen zerstört wurden. Normalerweise ist es nicht meine Art, aber nach einigen Tagen gab ich entnervt auf und beschloss einen Neuanfang. Ziel ist/war es einen Weg zu finden, der einfach ist, immer funktioniert und wenn möglich frei von Sonderfällen ist. „Keep it simple, stupid“ eben.

Bisher hatte ich versucht, die Nachbarschaftsbeziehungen mit jeder Aktualisierung zu prüfen und gegebenenfalls zu korrigieren. Wenn zwischen dem Panel „A“ und „B“, ein Panel „C“ eingeblendet wurde, so musste „B“ aus den Nachbarschaftsbeziehungen von „A“ entfernt und „C“ hinzugefügt werden. Bei „B“ musste der Nachbar „A“ entfernt und der Nachbar „C“ hinzugefügt werden. Bei „C“ ist es am einfachsten, denn da musste nur „A“und „B“ als Nachbar hinzugefügt werden. Hört sich einfach an, aber leider ist dies auch der einfachste Fall. Zum Beispiel habe ich die Nachbarn, die ober- und unterhalb von „A“ und „B“ liegen könnten in dem Beispiel gar nicht berücksichtigt. 

Debugdialog der Bildinformationspanel

Debugdialog der Bildinformationspanel

In der neuen Version des BVASystems bin ich meinem Ziel, eine einfache Lösung zu implementieren, nun einen großen Schritt nähergekommen. Den neuen Ansatz habe ich zum Testen in der Debug-Ansicht der Bildinformationspanels integriert. Ihr könnt diese Debug-Ansicht öffnen, in dem ihr auf das BVASystem-Icon in der Überschrift eines Bildinformationpanels klickt. Dort können  alle Nachbarschaftsbeziehungen neu bestimmt werden. Insgesamt gesehen ist der Aufwand natürlich größer, aber da im BVASystem aktuell nur 8 Panel benutzt werden können, hält sich der zeitliche Verlust in Grenzen. Auf meinem Entwicklungsrechner dauerte eine komplette Neubestimmung nur 0,03 ms. In den nächsten Tagen habe ich nun vor, die bestehende Lösung zu ersetzen, damit ich überprüfen kann, ob die neue Lösung wirklich immer funktioniert.