Re: Photo Organisation Software?



Cobus Kruger wrote:
Hi Guys,

I have finally purchased the Canon EOS 350D to trade up from my old film Pentax MZ30. OK, so that's not really the point of this message, but I love saying that :-)

I liked my old Olympus OM-2n, too. It's pushing 30 and only on its fourth battery. :-)

But, to the point.  I am a programmer who has a digital camera, so I
have an interest in this topic.  I started working on a little perl/Tk
script to help organize my images about two and a half years ago.  It's
grown into something that roughly matches what you're asking for.  I'd
like to explore around the edges a bit.

Ideally, I would like something with the following feature set:
1. Basic editing features are good enough - advanced editing will always require a dedicated tool. But better is... uhm better, I suppose.

That's my philosophy. I can do lossless cropping and rotation in my script, but more complex manipulation is done externally.

2. Keyword/category assignment.

I call them "tags", and I've implemented them as a hierarchy. So, I've got "people/Kincaids/Aunt Betty" and "places/Yosemite". You add new tags as you need them by adding children/siblings to a graphical tree. I'm finding that this gets unwieldy as the number of tags gets large. I need to implement a way to deepen the hierarchy. For example, the "places" tag has about 50 sub-tags now. Mount Rainier and Yosemite should be under "places/national parks" instead of directly under "places".

3. Detailed search criteria, preferably including image size, a quality rating of some sort, and of course, keywords/categories.

Interesting! Why is image size a search criterion? Would it be more useful to search by x and y dimensions, but pixel count, by size in bytes?

My wife wants to be able to search by date, to answer questions like,
"What were we doing two years ago in March?"  That didn't occur to
me when I was designing my database.  What other kinds of searches
are there that a programmer would never think of?

My software puts images in "containers".  A "shoebox" is about the
right size to be archived to removabe media.  Shoeboxes contain
"folders" and "galleries".  Galleries contain one or more "rooms".
A folder generally contains related images: a trip to a museum, a
vacation, shots taken around the yard during the Spring, etc.  The
best images may get "linked" into one or more gallery rooms for
sharing on the web.

Images may be selected within the whole collection, within a particular
container, or within the current selection.  They may also be selected
without regard to tags, with particular tags, or with exactly zero tags.
(This last is useful for tracking down images that have not been tagged
yet!)  The tag mechanism could be hijacked to record image quality.  I
sort-of do that with "key image", "tag for printing", and "tag for web"
tags.

4. Google's Picasa seemed to do a pretty useful job of matching like images in the same folder, so that portraits are automatically separated from landscapes (or was I imagining things). Something like that will be much enjoyed.

My script depends on a partnership with the operator's brain for that sort of organisation. :-)

4. Creating albums that can then be published to the web, or a DVD, or shared with people who don't necessarily have the same software.

I've got the web angle worked, in a Spartan sort of way. I'd like to be able to produce a bootable CD or DVD that would come up running my script with a best-of-the-best collection of images and full search capability. I use Linux, while most of my relatives use Windows. Distributing self-contained media avoids the need to port the whole contraption to Windows. It's probably a lot simpler to just put web content on a CD and have people point a web browser at it.

5. Organising images not only by category, but also where they are physically stored. Unfortunately I have allowed my files to get a little messy before they became to numerous to sort out. Now if I want to archive, say holiday photos from a given holiday, I'll need to pick them out almost one by one from multiple folders (don't ask). Doing that using keywords and categories seem to make sense, but then I really need to get the files sorted on disk, or I won't be moving the whole set anywhere.

The first think my script ever did was organise images physically, so I haven't spent much effort on the problem of corralling an out- of-control collection. Currently, it just knows how to import everything in a directory into a folder. It's just smart enough too avoid importing the same image twice. Currently, it recognizes images by filename and EXIF timestamp. (It never messes with image filenames.)

For your problem, would it be useful to be able to choose images from
a display of thumbs and import batches into folders?  Would you need
a way to visually distinguish images that have been imported from
those that have not?  Is drag-and-drop the most natural metaphor?
Or would "highlight some images and pick 'import' from the menu"
do as well?

My software doesn't allow images under its control to be scattered
around the disk.  For efficient archiving, physical containment is
necessary, I think.  But there may be usability reasons to figure
out a way to keep track of images wherever they may be scattered.
(I think that's Microsoft's Longhorn concept.)  Suggestions along
these lines are welcome.

6. A good image browser, of course.

Yeah. :-)

What do you like in an image browser?  Is it useful to be able to
see the selection dialog while you're looking at thumbnails?
Would it be useful if there was a thumbnail view organized according
to the tag hierarchy?  What kind of metadata do you think an image
needs?  (Currently, I keep short and long descriptions in additon
to the tags.  What else is useful?)  Do you want easy access to
image metadata while you're browsing?  Or is metadata maintenance
completely separate from browsing?

Anyone know of good software that will fulfil my wishes?

Well, my software will be coming to a Sourceforge project near you at some point. :-) Whether it ever runs on Windows is an open issue. One thing you didn't mention is the ability to handle RAW images. My script currently only knows about JPEG images, since I don't have a camera with RAW capability. (It's just software, however, and I'm not going to hide the source.)

Kind Regards,

Same to you. Thanks for posing your question. You got me thinking.

Cobus Kruger

Paul Allen .



Relevant Pages

  • Re: A Question About Finder and Associated Frustrations
    ... I also run a PC with Windows XP, 2.8GHz HyperThreaded CPU and 1 GB ... > I have a folder that contains 1,930 1MB JPeg images that I would like to ... > a selection of objects and the contextual menu appearing. ...
    (comp.sys.mac.advocacy)
  • Re: why a different tag for SVG images?
    ... |>|>So we have 2 tags and one allows alt content. ... |>changed by tags being present or absent. ... things like images should not be done in HTML tags at all. ... | decorative, they should be inserted as generated content by CSS, then ...
    (comp.infosystems.www.authoring.html)
  • Re: A Question About Finder and Associated Frustrations
    ... >I also run a PC with Windows XP, 2.8GHz HyperThreaded CPU and 1 GB of RAM. ... > I have a folder that contains 1,930 1MB JPeg images that I would like to ... > selection of objects and the contextual menu appearing. ...
    (comp.sys.mac.advocacy)
  • A Question About Finder and Associated Frustrations
    ... I have a couple of frustrations with OS X Tiger that I am not sure are glitches in the OS, or incompatibilities between a Windows way of doing things and a OS X way. ... I have a folder that contains 1,930 1MB JPeg images that I would like to ... a selection of objects and the contextual menu appearing. ...
    (comp.sys.mac.advocacy)
  • Re: Search not working properly
    ... I have recently discovered a very strange issue with the index search ... "In indexed locations, search filenames and contents. ... it appears that it is only searching images ... by name and not by tags. ...
    (microsoft.public.windows.vista.file_management)