GRAYnomad Nature Photography :: SiiMAN

SiiMAN :: Workbench
Simple image management program


The main workspace used in SiiMAN is called the "workbench". It is in this workspace that you mostly work with the management of your images.



Each displayed photo is drawn in an approximation of an old-fashioned slide. There are several fields on the slide as indicated in the following graphic.

Tags — Each photo can have 1, 2 or 3 tags. These tags are used as a temporary method of collecting photos into groups (more about tags below).

Ranking — A photo can be ranked from 1 (really crap, don't know why I took it) to 5 (this one will earn me a motza). Clicking on the ranking number will popup a context menu and allow the ranking to be changed.

Filename — A number automatically assigned to the photo when it is imported.

Indicators — These are single characters that indicate something about the photo. In this case "w" means that it is on my web site and "i" means that one of more of the photo's search words have been changed since the last search word indexing was performed.

Thumbnail — Pretty obvious really. Thumbnails are automatically created and are 100px on the longest edge.

Actions that can be performed on a photo

There are three actions that can be performed directly on a photo.

Selecting a photo — A single mouse click will select a photo, this is indicated by the "slide" turning white. When a photo is selected its details are printed in the details area on the right of the screen and the categories or collections the photo belongs to are shown on the left of the screen.

Set the ranking — Click on the ranking number to select a rank from 1 to 5 stars.

Viewing a photo — Double-clocking on a photo will load a large version onto the screen. The actual size of the image loaded depends on settings, either small (600-900px) or large (as large as will fit if the image is locally available at that size).

The screen is darkened to remove distracting elements while viewing the photo.

Photo details

When a photo is selected its details such as camera used, exposure, raw file name etc are displayed at the right side of the screen.

Most of these fields are self-explanatory, some of them may need more description.

Aka — Many animals have different common names in various parts of the country. This field shows any other names that I am aware of for the species .

Latin — The scientific name for the species.

Focal_length — This number has two parts ACTUAL(FF EQUIVELANT). The first part (560 in this case) is the actual focal length the lens reported. The second part is the equivalent (or effective) focal length on a full-frame camera. Because this photo was taken with an EOS-1D which has a 1.3 crop factor the effective focal length was 728mm.

Loc — A code for the locality the photo was taken in, "ql-w" means western Queensland.

Cats — Codes for the categories the photo belongs to. In this case we have be-bi (Best birds) and wl-bi-ea (Wildlife-birds-eagles).

This field and the previous Loc field are not really intended for be human-friendly as the locality should be in the second field and the category is displayed in a more readable fashion on the left of the screen and also below the details panel (seen at the bottom of the above graphic).

Extra_keys — Any words that will help index the photo for future searches.

Last_note — Photos can have notes attached such as "Submitted to Aus Geo mag". This field shows the most recent note.

Vars — Often a photo has variations such as horizontal/vertical, lose/tight, lighter/darker versions. This field shows if there are any variations on this image.

Raw_file — This is the raw file name for the photo. The basic filename in this case is _B2D2820.CR2, however SiiMAN has appended a time and date stamp so the filename is unique amongst the 1000s of others taken. Also, when scanning a folder of raw files this feature makes it very easy to identify the files that were used.

Pixels — The X and Y pixels of the image. Normally this will be the same as that produced by the camera however a cropped photo will have a different value.

Preview_jpeg_size — This field shows the pixel and file size of the preview image. As these images also go to my web site this allows me to see if they are too large.

Editing details

The editing of a photo's details is usually performed in the "Catalogue" workspace, however most fields can be edited in place on the details panel by clicking on the field data.

Here we see the Latin field is in edit mode after having been clicked on.

Copying details

Any of a photo's details can be copied to any number of other photos. This is done by right-clicking on the field name. The name turns black to indicate it has been selected as a field to be copied.

Any number of fields can be selected in this fashion. Next click on the "Copy all selected fields to tagged photos" button.

All the selected field data from the source photo will be copied to any other tagged photos. If you don't want existing data to be over written check the "Don't overwrite..." check box.


There are three basic navigation methods, slide bar, start/end buttons, and the "Move to" button.

Slide bar

There is a vertical slide bar at the left of the photos. This operates as one would expect a slide bar to. One difference is that as the handle is slid the number and thumbnail of the photo at the current slide bar location is shown.

While not meant as a navigation tool itself in the sense of finding a particular image, it does aid in finding the right area.

The photo that is highlighted as you move the slidebar is the one that will be placed at the top left of the display when you release the slider.

Start/end buttons

These move the display to the start and end of the current photo display set.

Move to button

This button can be used to move the display to the specific image who's number appears in the text box below the button.

This number is automatically filled in every time you select a photo or you can manually type a number into the box.

The auto-filling is useful to temporarily remember a location while browsing elsewhere. As long as you don't select another photo this number will not change and you can quickly return to its location.


You can display a contiguous range of photos by clicking on the first (or last) photo in the range and then clicking on the last (or first) and finally clicking on the "Range" button.

Every time photos are selected their filename is automatically placed in one of the text boxes below the "Range" button. It's these two numbers that are used to generate the range to be displayed.

The order in which the two end photos are selected does not matter.

Comparing photos

It's often useful to "blink compare" two photos to decide which is the best for a given application. The two filenames below the "Compare" button (same as used for the range function) are used for this purpose.

When you click on the "Compare" button the two photo's preview images are loaded onto the screen and you can quickly flip between them to decided which is best.


SiiMAN uses the concept of "tagging" images to make selections. This is different to many programs that select objects by shift or control clicking. To tag an image with SiiMAN you right-click on the photo.

Why not use the standard paradigm?

Most modern programs allow the selection of multiple objects by either shift-clicking to get a range or control-clicking to select random objects. This works well for small and short-term selections but if you have say 50 photos selected after half an hour of deliberation and make one wrong click you've lost the entire selection.

Therefore SiiMAN's selections are made by tagging images and these tags are persistent (meaning that until you untag an image it stays tagged, even if you close down and restart the program).

Tag levels

Because I find it's common to be working on a couple of different "selections" at a time SiiMAN allows for three tag "levels".

This means that when a photo is tagged it is only tagged at the current level and not the other two.

The current level is indicated and selected by the buttons below the main tag buttons.

In this example the current tag level is 3 so any photos that are tagged will be tagged at level 3. The number of tagged photos at this level is also displayed.

Another time this multi-level system is useful is in the case where you are selecting images for a certain purpose but while doing so spot one that needs attention for another reason. You can swap tag levels, tag the photo, then swap back to the level you were working with.

When the main job is done it's an easy matter to display the image that needed attention.

The main tag buttons

There are four main tag buttons, as depicted in the following graphic.

These have the following functions.

Clear — Clears all tags at the current level, tags are cleared throughout the entire database regardless of whether the photo is displayed or not.

Invert — Invert the state of all tags. This command only inverts the tags of photos that are in the current search set.

Tag all — Tag all displayed photos. This command only sets the tags of photos that are in the current search set.

Display — Copy all tagged photos into the current search set and display the first page of the set.

Tagging a range of photos

You can tag a range of photos by clicking on the first (or last) photo in the range and then shift-clicking on the last (or first).

The photos need not be on the same displayed page and the order in which you click does not matter.


Categories are a way of grouping photos based on broad criteria, say all the eagles. All photos must belong to at least one category even if that is just "colour photos".

We've seen the machine-friendly cats field in the "photo details" section above and also the human-friendly version at the bottom of the details panel, however categories are also displayed in a hierarchical fashion in the panel on the left of the screen.

Using the same example photo we see that it is in the "Best birds" and the "Wildlife.eagles/hawks" categories.

NOTE: Technically this should be "Wildlife.birds.eagles" but the current display doesn't show this properly.

While a photo's category is normally set in the Catalogue workspace you can also change Categories by clicking on the checkboxes in this panel.

Categories and keywords

Categories can have keywords assigned to them. Thus when a category is assigned to a photo so are its keywords. Say you assign the "Wildlife.birds.eagles" category to a photo you also assign the keywords "eagles", "hawks" and "kites" to the photo (the keywords currently defined for this category).

This saves some manual keywording.

The keywords that are assigned to each categories are user-definable.

If a category is removed from a photo so are its keywords.


Collections are similar to categories except that the photos in a given collection need have nothing in common apart from the fact that they are in the same collection.

Collections are used to record photos that are grouped for any reason, say all those you submitted to a client.

In the following graphic...

We see that the selected photo was included in an AVA book submission and submitted to the ANZANG competition in 2006 (I don't remember what the other two collections were for but there is the facility to add a description when you create a collection, maybe I should have used it).

Collections can be added or removed by right-clicking on the panel.


Of course the primary purpose of a program such as SiiMAN is to find images and the main way to do that is to perform a database search based on one or more keywords. To to this you simply type the keyword into the "Search keywords" text box and click on the "Search" button.

In this case the word "eagle" will return all sorts of photos some of which possibly have no connection to eagles, for example in my database there's a photo of a place called "Eagle Bluff" and it's fairly certain that I don't want that in my search results.

To fix this I can add another key word, say we search for "eagle bird". Now at least we only get photos of birds and not bluffs. But maybe we are particularly interested in wedge-tailed eagles so we add "wedge" to the search and now we only see photos of Australia's' largest eagle.

On the other hand maybe I did want photos of Eagle Bluff, in this case I can just use the keywords "eagle bluff".

Then again maybe I want all photos that pertain to landscape features called "eagle something", in this case using the keywords "eagle landscape" should do the trick.

This is all based on the concept of "search words", but where do these words come from?

Search words

The Search words are built automatically from the photo's text, such as the title, caption, blurb and all the keywords.

The words in all these text fields are converted to lower case, noise words like "and" are removed, as are most verbs, then each word remaining "standardised".

Standardising search words

A word is standardised by stripping it of common suffixes, removing duplicate characters and converting all vowels to "a".

The first character of any word is not converted and any words of three or less characters are not modified at all.

This process eliminates many of the normal spelling errors and differences we have between the various English dialects, such as ize/ise.

Note: The search word and standardising are also described in the Catalogue workspace section.

What matches?

Just as each photo's keywords are standardised, so are the words you enter in the "Search keywords" text box, so you don't have to be too precise with case, extra spaces, punctuation etc.

For example the following will all match "Tolkien's"

tolkeen, tolken, Tolkien, TOLKEIN, tolkein's

Entering any of these words will display the photo "Tolkien's Trees" and possibly several others.

The process of standardising words does create some weird matches however, for example robert, rabbit and robot all match each other.

This produces a very loose result that returns more photos than an exact match method, but with a small database of this kind that's preferable to missing photos because of a spelling error.

Multiple search words
You can enter up to six keywords to limit the search. The keywords will logically AND'd, which is to say that only photos with ALL the entered keywords will be found.

For example night will return many photos, night boat will return much fewer, and night boat paris will only return a single photo with my current database.

Noise words are ignored, so night in paris is the same as night paris.

Why do I sometimes get weird results?
The search uses a fuzzy-logic algorithm to find photos (as described above) that match the word you typed. Sometimes the logic is a little fuzzier than required but, as I said, it's better to get more photos than miss some.

For example, you type the word "lion" and, as well as photos of Panthera Leo, you also get photos of a flower and a fishing boat.

Maybe, buried in the text of the blurb of the unwanted photos was the word "lens" or "line", the fuzzy logic sees both these words as being the same as "lion".

Another example is the word "sheep", it standardises to the same as "ship". Ships are in the same category as boats, so your search will return a lot of photos that have more to do with fishing than sheep.

If you only want photos of our woolly four-legged friends try adding another keyword such as "wool" or "animal". This will remove all boating photos.

Conversely, if you only want ships, try "ship boat" to exclude any sheep photos.

Searching for explicit database fields

SiiMAN allows you to search on the exact contents of a database field. Let's say you want to find all the images taken with a particular lens, select the "Lens" field in the photo details panel and the following will be automatically entered into the "Search keywords" text box (assuming the currently selected photos was taken with a 70-200 lens).

Now click on the "Search" button. SiiMAN recognized the "=" sign as meaning that it should do an exact search on a database field, in this case the field called "Lens".

It returns all the photos with the same value ("70-200") in that field.

Search by index

Checking this control will return photos sorted by the order they were added to the database. This feature will soon be extended to allow other fields to be the sort index, such as the date the photo was taken.


All searches can be further filtered by the use of filters. At present there are three filters that can be applied.

Type of photo — Black & white, colour, large format etc.

Aspect — Horizontal, vertical or square.

Ranking — 1 to 5

These filters are selected with the controls depicted in the following graphic.

Type of photo

This is a largely redundant filter that may be removed. It does however allow me to work with only photos of a certain type, say "large format black & white".


This is a pretty obvious filter, click on the icons to select either the horizontal, vertical, square or don't care filter for the photo's aspect.


This also obvious but the operation of the control is slightly non-standard.

A single click on a star will toggle that star's state, so for example if all stars were off and you single-click on stars number 2 and 4 the following is the result.

Thus any search will only return photos that are either rating 2 or 4 but not 1, 3, or 5.

However if all stars were off and you double-click in star number 2 then this is the result.

In this case photos with ratings 2, 3, 4 or 5 are returned.

Other functions

This section gives a brief description of some other functions that can be performed in the Workbench workspace. This generally follows the menu structure of the form and some functions are replicated with buttons on the form.


Collect hi-res files — Search external drive for a photo's hi-res versions, allows selection of files from the returned list and copying of those files to a location on a local hard drive.

Copy tagged photos — Copy the preview images of all tagged photos to a folder.

Import — Import new photos into SiiMAN

Export — Create the various control files required by my web site.

Index drive — Search an external drive for all raw and processed files that relate to photos imported into SiiMAN. Creates an index so they can easily be found in future.

Reports — Create various reports from tagged photos. I use this mainly to produce a text file of captions when submitting images to a magazine.


Edit image with — Pass the preview file of the currently selected photo to another program, normally Photoshop.

Edit all tagged images with — Pass the preview files of all tagged photos to another program, normally Photoshop.

Replace text — Replace text in either the caption or locality fields of all photos.


Clear a keyword from all tagged photos — As it says.

Add a keyword to all tagged photos — As it says.

Maintenance— General maintenance of the keyword database table.


Load photos with this category — Display all photos that belong to the selected category.

Clear a category from all tagged photos — As it says.

Add a category to all tagged photos — As it says.

Create a new category — As it says.


Load photos with this location — Display all photos that were taken in the selected locality.

Maintenance— General maintenance of the locations database table.


Load photos from this collection — Display all photos that belong to the selected collection.

Add tagged photos to collection — As it says.

Delete tagged images from collection — As it says.

Create new collection — Create a new collection under a collection group.

Create a new group — Create a new collection group.

View collection on light table — Pass all the photos in a collection to the light table.

Delete collection — As it says.


Add a type to tagged photos — As it says.

Clear type from all tagged photos — As it says.


Display all tagged photos — As it says.

Tag displayed photos — As it says.

Tag between selected photos — As it says.

Tag photos with index indicator set — Tag all photos that have the "i" indicator set indicating that they have had changes to thier fields since the last index was performed.

Tag photos with large JPEG preview images — Not all photos have large JPEG preview files, most are only in the 600-900px range. This command finds those that have large JPEG preview files.

Tag photos in folder — Search a folder on a hard disk and tag any images found there. This is useful when I have a folder of photos I was working on for some reason and I want to create a collection of them.

Untag displayed photos — As it says.

Untag all photos — As it says.

Invert tags — As it says.


Index files — This is a long task that scans all photos (or just those with the "i" indicator set if requested) and creates a new search-index database table and a reverse-index table.


Edit notes for selected photo — As it says but also allows the adding of a new note for a single photo.

Add note to all TAGGED photos — Allows the adding of a new note to all tagged photos.

Log — Show a log of all noteworthy events that have happened, for example import errors, photo notes etc.


This allows the adding and monitoring of financial transactions as they apply to photos.


Catalogue →

Light table →

Slideshow →