Fotoxx - Organizing Images for Efficient Searching 

The goal is to find all images for given criteria, e.g. photos of a given person at a given place and/or time range, all photos of a given person, photos from a specified location or event, etc. There are several ways to organize an image collection to accomplish this, with advantages and disadvantages you need to understand. The methods listed here (except for albums) are standards compliant and will work with other programs that support the same methods. These are (1) searching based on metadata (dates, ratings, tags (keywords), geotags (locations), captions and comments, and (2) searching based on file names or partial names, including directory (path) names.
 
Fotoxx can search using the following image metadata: photo date, rating (stars), tags (keywords), geotags (location names and earth coordinates), and text appearing in captions or comments. Searching based on file and directory names can also be combined with metadata searching. Any other metadata can also be searched, although not nearly as fast as the items listed, which are duplicated in a special index file for fast searching. A strong computer can search images for the listed metadata items and file names at a speed exceeding 50,000 images per second.

All of the search methods described below can be used in combination. The output of a search function can be the input of another search function (to further narrow the search), and search outputs can be added to prior searches.
 
The following is an overview of the different ways images can be made searchable.
 
Directory and File Names
These can be used as a basic organization that will enable you to find images even if more effective organizations (tags, captions) are not used. The highest physical organization should be by time, because this will naturally group photos together that are related. I suggest using one subdirectory per year named 2001, 2002, etc. This will also prevent any one subdirectory from getting too big. Optionally, image files may be further organized in time sequence by using MM.DD as the start of the file name. The rest of the name can be a topic or event, and a sequence number.
    Example:  /images/2011/08.20 Spitzbergen 23.jpg
This very basic organization allows Fotoxx to find files by searching for years and topics (file names). In the above example, a search for "spitzbergen" or even "spitz" will produce all the images of Spitzbergen. Years can be also be searched and combined with topic searches, e.g. "2012 Paris". The Batch Convert function lets you rename a batch of photos taken at one location or event by specifying a template name like this:
   "$mm.$dd Spitzbergen $ss"
Month and day (from the EXIF photo date) replace $mm and $dd. "Spitzbergen" replaces the camera file name (P00123456), and a sequence number replaces $ss.
 
Captions and Comments
A simple method of organization is to use captions and comments. These are arbitrary text strings that can be added to a series of images in rapid sequence: Start Edit Metadata, open an image, input some text, press [apply], press [next], input some text ...  Captions and comments are two separate inputs but treated logically the same. They are searchable: words appearing in captions and comments can be searched. You can specify persons, location, topic, etc. for each image and then find them again quickly.
 
Tags
The most powerful tool is tags, but this is also the most demanding of organizational care. You can go through your images sequentially and add tags by clicking on a list of defined tags. New tags can be defined as needed. Images can have many tags, and can be searched using AND / OR combinations of tags, also in combination with other criteria. Tagging is generally fast, needing a few seconds per image. Fotoxx has two methods of adding tags, a "managed" system and a "random" system. In the managed system, you define tag category names and the tags within each category. When adding tags to images, you can point and click from a list of tags organized by category and alphabetically within category. In the random system, you simply create tags as needed while you tag your images, following no particular system and without categories. When you enter the first few characers of a tag, existing tags that match these characters are shown in a pick-list which you can click to complete adding the tag. If there is no match, a new tag is created. Recently used tags are also shown in a list that can be clicked. Photos made at the same time will normally be tagged in sequence, and will also share many of the same tags. The recent tags list helps to speed the tagging process. Use Batch Add/Remove Tags to add the same tags to many images. Batch Rename Tags can be used to rename tags in selected (or all) images. Tags can be searched in any combination, combined with other search criteria such as a date range or location(s).

Note that images downloaded from the Internet may have many tags adhering to no system. You will need to clean these out or redo them to stop them from cluttering your list of defined tags. If you see undesired tags in your list of defined tags, it is easy to find the offending image files and purge or change their tags: use the Image Search function to find the images, using the unwanted tags as search criteria, and feed this list to Batch Add/Remove Tags or Batch Rename Tags. Tags from downloaded files will have no category, which keeps them separate from tags you define (if you are using the managed tags method). Still, you should avoid accumulating thousands of random tags, and it is easy enough to get rid of them whenever they appear.
 
Geotags
Use geotags to assign a city or location and country to your images, and optionally latitude / longitude. This enables all images for a location to be quickly found. If you use a camera with a GPS receiver, geotags are added to the image EXIF data, and location searching is available automatically. Since image dates are also automatic (in EXIF), images can be searched by date range and location without you having to enter any data for each image. You can leave it at this, or add some of the above extras if you accept the extra effort required. My experience so far with in-camera GPS is that the location names are chaotic and you may want to sanitize them (mixed upper/lower case, with/without states or other political subdivisions, mixed languages, etc.). You can fix the mess with a little effort: search for the location name you want to change (e.g. MUENCHEN, BAYERN, DEUTSCHLAND), then process the resulting images with the Batch Geotags function to change the location name (e.g. Munich, Germany). Location names can be searched in any combination.

When you add geotags to an image manually, it is usually sufficient to enter just the city or location name and then press [Find]. If the location has been entered sometime in the past, it will be recalled and all geotag data will be filled-in automatically (city/location name, country, latitude, longitude). This will also work if only a few characters of the name is entered, e.g. "hono" will recall the data for Honolulu, if available. When a location is entered for the first time, enter the city or location name and the country, and press the [Web] button. A web service will usually find the latitude and longitude automatically. If not, you can use Wikipedia or other web services to find the location coordinates and enter them manually.

Images with geotags are also searchable by clicking markers on a world map. The markers are automatically added to the map for all images containing geotag coordinates. The map can be zoomed to any scale from street-level to planet level.
 
Albums
Another method of organization is to use Albums. Choose a name for each album and assign any desired images to the album by clicking thumbnails in gallery pages. The images are not duplicated: the album is simply an ordered list of file names. Albums can be selected by name and viewed as a gallery of thumbnails. These can be rearranged via thumbnail drag and drop. The images can then be viewed sequentially using keyboard arrow keys, randomly by clicking thumbnails, or as a slide show with animated transitions between images. Albums are also implemented in some other photo management apps, but each one is different and incompatible.

The image search function can be used to find images to start a new album, and then images can be added, removed, and rearranged as needed. Images can be added simply by clicking gallery thumbnails as you browse your image collection.

Summary
The following is a summary of some ways to organize a large image collection, with factors to consider when choosing which methods you want to use. In the list below, "search by" specifies which search criteria can be used with each option. Many of the methods below can be combined, and the possible search criteria increases accordingly. Searching by photo date (EXIF) is available with any organization.

Images Organized by Topic
Images Organized by Year and Topic
Images Organized by Year, Month, Day and Topic
Image Directory and File Names Contain Topics
Captions and Comments
Managed Tags
Random Tags
Geotags
Albums