A blog by Clint Combs

Since buying my first digital camera I've enjoyed snapping and storing digital pictures. The hard part has always been keeping track of them. Photoshop Album eliminates much of the drudgery of organizing a photo collection.

I've been impressed by Adobe Photoshop Album since the day I bought it. Its simplicity and power make organizing, finding, and sharing photos a snap, but I've always wondered, "What happens when I find something better?"

The tags feature is by far the most valuable feature of the product. A tag is simply a label that you can apply to an image or a video. You enter a piece of text to identify a person, place, or event and drag the tag to an image. The tag can be applied to as many images as you like. To find all images labeled with a specific tag you just click the checkbox next to the tag and you're presented with all the items labeled with that tag. It's great!

In addition to the tags feature you can view images in a calendar view, create slide shows to share with friends, and fix simple flaws such as brightness and red eye. I won't turn this into a full review, but you can find a detailed list of features at the Adobe website

As you can tell, I'm pleased with the product, but I'm concerned about the portability of my data. It's great that the product collects all these tags and organizes my files, but what happens when I want to use the data for some other purpose? What if I want to extract all the tags and use them for indexing into my photo collection from some custom software. Until today I wasn't sure how to do it.

I ran a few quick Google searches this afternoon and found my answer. Photoshop Album stores all its data in ".psa" files. I tried viewing the files in JEdit, but discovered that they're binary. My Google searches revealed that these binaries are actually Microsoft Access databases.

Upon learning this I was disappointed for a moment. I'm firmly in the Java camp and digging into Microsoft Access is not high on my list of things to do. Then I remembered the JDBC-ODBC bridge. Using this JDBC driver I was able to connect to the Photoshop Album access database file, but I wasn't able to query all the database metadata. Specifically, I couldn't get the names of the tables. I was stuck until I had a friend pull up the database in Access and give me a list of tables. Once he gave me a list of tables I was able to run some "select *" queries on them and determine the column names and datatypes.

I haven't had a chance to do an exhaustive search of the database yet, but it looks like I might have what I need. My first project will be to extract a mapping of tags to file names. I'd love to hear from anyone interested in this. If I come up with something useful to others I'll post it here.


cool project, right now im playing around with a templatesystem with which i generate different outputs from my digital images. this is for sure something a lot of programs do (jalbum, ...) but i think it is very good to have different views into your images (calendar, tags, filesystem, locations, ...). i have some basic views right now, but now i am at the point that i have to edit the properties of the images (i store them in property files along the images which is quite disgusting .. i started a small eclipse plugin but this is barely usable), but this photoshop thing is naturally quite cooler!
<p>I just started doing the same kind of thing. The first thing that I want to do is to find an organizer with an open (more or less) stable specification for the internal data. (If Adobe changes the format then the dataminer must be reworked.) There are various reasons for an open system: it is possible to connect other tools, the data does't disappear if you want to change to another organizer, also backups might be easier. <p>I recently have found, but not yet tried, <a href="http://www.photools.com/"><i>IMatch</i></a>. They claim to have an 'open system'. Check out this one is on my to do. <p>In <a href="http://www.cerious.com/"><i>Thumbsplus</i></a> you can export the data to a .csv file. The format is not specified but the header line tells you exactly the contents of each column. Nice tool. Take care: the stored searches aren't exported. Any experience with these programs?
Just as I was thinking if the psa was an access file I happened to stumble upon your blog. I use excel to extract any access data useable information. Have you found any further info on psa file? I would be interested in creating a database (table) listing tags and filenames but cant seem to relate any of the access tables other than the image table and the folder table. Any thoughts?