Slashdot Mirror


Flexible Photo Organization Software?

Matthew Wecksell asks: "Several years after getting a digital camera, I find myself with far too many pictures to keep track of, with multiple folders titled 'At the Beach' and so on. Picassa will not let me assign multiple labels to a picture and then search against those labels the way iTunes will with my music (eg: Show me all pictures with '"Grandma Foo" and not "Grandma Bar"' to find pics that have just one of my two grandmothers). Also, I'd like to find a solution that lets me export the meta data or keep it in the picture files, not a proprietary database, so that in ten or twenty years, I can use another program on another platform and still have useful tags assigned to my pictures that I'm taking today — I have no interest in re-tagging my pics. Has anyone found a good solution to the picture organization problem? Is there any standard 'ID3' style for putting metadata into an EXIF header?"

7 of 131 comments (clear)

  1. I'm doing something like this by miyako · · Score: 4, Interesting

    Interestingly enough, I just stopped hacking on an application that will hopefully solve a lot of these problems just this minute to start reading slashdot. I actually just started coding on this project a couple of days ago, so it doesn't do a lot right now, but in a couple of days it should have at least the rudimentary features you are looking for (storage of tags, searching) and will hopefully be a bit usable.
    You can check out the code here if you want:
    http://code.google.com/p/mediabrowser/
    The project is written in C++ with Gtkmm, you'll have to compile it yourself since I haven't built any packages or anything.
    Hope that helps.

    --
    Famous Last Words: "hmm...wikipedia says it's edible"
    1. Re:I'm doing something like this by miyako · · Score: 3, Interesting

      Right now, I'm not really doing anything that much different or better than Digikam or F-Spot (haven't used KPhotoAlbum, so I can't speak to that) partially because those are really good programs, and partially because my app is still in the "just started it a few days ago" phase.
      The motivation at first started out being that I just wanted to learn Gtk and play with ImageMagick a bit. Since I've been hacking on it for a few days, I have some ideas that I think will make my application a different alternative. For one, I want to support video and audio as well as images. Pretty much every phone and digital camera now days takes short video clips at least, and I think they should be integrated in with photos nicely in an album. Some of my other ideas are a bit more experimental.
      As I was saying to a couple of people on IRC last night, in the end maybe some people will find the software useful, but it's probably going to become a sort of dumping grounds for me to play around with a lot of ideas I have for various image algorithms, and will eventually become completely incomprehencible to anyone below the rank of Advanced God.
      If anyone is interested, a couple of the ideas I've had are:
      Doing some facial recognition and learning algorithms so that the program will start to associate name tags with people in the photos, and automatically tag new photos with the people it sees in the photo.
      Draw a picture that resembles the photo you are looking for, and search the database for it.
      Using texture synthesis to clean up images.
      Working on creating a UI with OpenGL.
      those are just some of the potential ideas I have floating about in my head, if anyone is interested in lending a hand on coding on it send me an email.

      --
      Famous Last Words: "hmm...wikipedia says it's edible"
  2. Make mine multi-user. And hierarchical. by dschuetz · · Score: 2, Interesting

    I've been looking for the same thing, and, at least in the Mac world, it ain't out there. The closest I've found is Shoebox, which has a great hierarchical tagging system, but it's still single-user. And it's been a little buggy for me.

    Big bonus for Shoebox, though, is the hierarchical tags -- I can't believe how far we've gone with all sorts of folksonomy tagging systems, but virtually nobody's using a hierarchy of tags. Keeping these flat, especially if you want to start organizing and grouping by family, is just unusable after a 25-50 tags or so. With Shoebox's system, you can set things up like "John's Family" with John, his wife, and all kids as sub tags. Then, if, say, "Tim" (John's oldest son) marries "Jane", create "Tim's Family" as a sub to John's family, or even as a sub to Tim, and you can use aliases to have Tim show up in both places. It's hard to explain without pictures, but trust me, it's really very flexible.

    Anyway, the downsides:
    * Again, a little buggy / flaky
    * Proprietary: Can't export the data, though you can export the tag hierarchy (just not the associations between tags and the photos, at least not that I've found)
    * Single-user: It's licensed for a single userid on a single CPU, so my wife can't even access it on the same box, let alone me or her on any other box in the house.

    If we could get the organizational abilities of Shoebox (or a similar hierarchical tag system) in a client-server model, running on a linux server with clients on windows, mac, or whatever, then I think I'd have a personal winner. Bonus points if it speaks DPAP so iPhoto can read the libraries (to make printing, editing, etc., easier). Oh, and it'd have to have an easy way to store/track multiple versions of a photo, for when you crop, clean out redeye, etc.

    I'm "this close" to starting to hack something together myself, but simply have no time with all the other unfinished projects in my life (not to mention my son). At least I should write up a more careful specifications document and post it on a blog somewhere, for someone who actually has time to start hacking at. Really, the back-end DB stuff is trivial, you just need a decent front end. And a web interface just wouldn't be all that usable for huge collections, either. (otherwise, I'd recommend giving Zoph a look, as it's got a lot of the DB stuff but it's 100% web based).

  3. IPTC metadata by uglyhead69 · · Score: 4, Interesting

    Your Grandmother's names are Foo and Bar?!

    That is so incredibly cool!

    It sounds like what you really need is a basic IPTC editor. That way all the metadata you associate with the file stays with the file wherever it goes. If you're using a mac and have $300 you aren't terribly good friends with, you could buy Aperture. It has a really nice system for assigning IPTC fields in batches, and you can also set up hierarchies of IPTC keywords. (Think tags, but IPTC keywords have been in use a long time with the photo industry, and they call them IPTC keywords) Oh and Aperture does loads of other stuff. Its overkill if you don't shoot in RAW mode and do some post-processing. If you're talking about snapshots here, I would just find a simple tool for whatever you platform of choice is to let you edit IPTC headers. Get them all labeled first, then worry about management software in another year or so once you have finished all the labeling.

    Oh and try not to take any pictures in the meantime. You'll only make more work for yourself. Say hi to the Granmas for me!

    1. Re:IPTC metadata by Demosthenex · · Score: 2, Interesting

      I use Mapivi for photo management, IPTC metadata tagging, searches, etc.

      It is quite powerful, and the author is very responsive.

      http://mapivi.sourceforge.net/mapivi.shtml

      The argument for IPTC is simple: The data is stored in the image.

      I'm working on some perl scripts to search IPTC data in images, and create directories of symlinks to the results. That way I could use a tag like Xmas, and then run a query based on the year in the datestamp and the tag Xmas, and end up with subdirs for each year and all the photos symlinked from their original location.

      Then I can group upload to Gallery, or just run album on the symlinks.

      Demo

  4. My open, simple approach to the problem by xleeko · · Score: 4, Interesting

    I dealt with this a couple of years ago by adopting an external form for descriptions and a picture naming convention. See the screed/tirade below :-)

    I wrote a couple of scripts for bulk-importing lots of files and started a windows GUI editor to encourage family to adopt it, but got distracted. I have just been doing everything with emacs in the meantime.

    ==
    == Photo Description Tools
    ==

    Digital photos are wonderful, but for all of their megapixels they lack the simple feature of prints -- you can't write on the back of them.

    On the surface, it seems simple enough. When I take a picture of Uncle Harvey, the JPEG file is one million bytes in size. You would think that it wouldn't be difficult to add in the twelve extra bytes for the string "Uncle Harvey".

    The problem is that everyone wants to do it differently. In what has become computing industry standard practice, each vendor wants to lock you into their private database for notes, and when the technology or business environment changes, you lose everything.

    In the past year, I have shot many photos, and since I can't jot notes on the back, have forgotten many details about the subjects. I can't wait another few years for a winner to emerge before recording this information. I need to capture it now!

    I keep my physical photos for 30-40 years, and want to keep my digital photos for just as long. If you believe that your current solution is going to survive that long, good for you. I don't, and this is my open way of saving the information in a way that will survive for many years and hopefully outlast the stupid vendor contests.

    That data belongs to you! Don't let someone else lock it up!

    These protocols were written to scratch this particular itch. The following are
    my design goals:

    - Let me capture BASIC information about the photos

    - Store the master copy of the information in a separate file,
    so that we never lose it if some vendor decides to strip
    things from the picture file.

    - Store the master copy in an open format so that I can write
    tools against it or even just edit it with a text editor
    and never be held hostage to a particular tool.

    - Copy the info into the file multiple times in all the competing
    protocols, so that it will be visible in whatever system
    you happen to be using.

    In order to make this happen, I have defined two specs that will
    govern the tools I write. If it other people and projects want to
    adopt them too, so much the better.

    The first is the pixtag file format for picture descriptions. This is
    simple enough to write by hand with notepad.exe or emacs (I am doing a
    lot of this while building my tools), but structured enough for tools
    to easily read and manage.

    The second is a naming convention for files. You can use pixtag
    regardless of what you name your image files, but if you plan on
    keeping your pictures for decades, you better use something better
    than the IMG_1234 that comes out of your camera. Plus, you better
    plan on mixing those files with ones from other people, scans of
    traditional prints, and so on.

    PIXTAG DESCRIPTION FILE

    There is some flexibility in how the master file is handled. In most
    cases, I expect that there will be one file with all of the pictures a
    person has, or one file per directory (what I do) However, some people
    may want to partitioning files by year, or overachievers may even load
    everything into a mysql database.

    I suggest the pixtag file extension for the master files. So for a
    single file it might look like:

    loffredo.pixtag

    For multiple years or directories it might look like

    196x_loffredo.pixtag

  5. Re:Photoshop Elements by gutnor · · Score: 2, Interesting

    Photoshop Element (at least version 5.0) will store all tags as IPTC Keywords - i.e. available in Picassa and every program able to read EXIF and IPTC entry ( such as caption, ... )

    However it does not do that in realtime with tags as it does with caption. You need to periodically launch the command "write tags and info to photo" that will process all your photo in batch. This can be surprising when you work with more than one program simultanously. Also this is important because when you are renaming some tags, Elements will *ADD* (i.e. not overwrite) them into the keywords of the photo.
    On import however, Photoelement will propose you to import the various IPTC keywords it found as Tag.

    Good stuff with Photoshop Element is that it integrates well with the editor and everytime you update a photo it keep the original and create a versionset stack and version history inside the organiser. ( By default it keeps the original and name the subsequent version "_Edited-X" so this information could be exported using a script )

    Also if you take care about color calibration, PhotoElement is color managed.

    Finally Photoshop Element is a good organiser. Its interface is not as efficient (especially zoming, slidshows, ...) as Adobe Lightroom but it provides more "home user" friendly features ( VersionSet, Tag hierarchy, ... )
    Lightroom is free while in beta but sadly it is not going to be a cheap product since it is aimed at professional.