How do I best encode the intended audience of a photo inside a JPG file?How do I best encode the intended audience of a photo inside a JPG file?
February 20, 2009 12:05 PM   Subscribe

How do I best encode the intended audience of a photograph inside a JPG file?

I have a collection of photos (about 30,000) which I would like to share. While I am happy for anyone to see most of them, there are some I only want to share with friends, some I only want to share with family, and some I want to remain private entirely - like Flickr's options.

As far as I can tell, there is no metadata standard for encoding intended audience, i.e. nothing like the IPTC or EXIF standards for encoding a caption, or the ISO speed.

My current plan is to use Digikam to simply tag photos "friends", "family", or "private", with none-of-the-above meaning everybody.

Is this the best way to do it?
posted by hoverboards don't work on water to Technology (7 answers total) 1 user marked this as a favorite
Where will these photographs be located and what is the mechanism for controlling access to them?
posted by bizwank at 12:14 PM on February 20, 2009

How are you at scripting? There's probably a straightforward way of using google's APIs to read the metadata, and apply the appropriate permissions (and add it to the requested album, if needed) as it's uploaded. (Granted, with 30K pictures, you'll probably have to pay for more storage space in picasa).
posted by inigo2 at 12:24 PM on February 20, 2009

Tagging does nothing by its self, though they'd give you an easy handle to upload them to a sharing service or whatever you're going to do with them. (In Picassa you can just search by "friends" and upload all of those to the "friends" account.)

I might suggest using different tags. In my collection I tag stuff "friends" and "family" because they are picture -of- friends and family, not for them. (Those two days I spent going through sorting and tagging all my photos was really worth it.)
posted by Ookseer at 12:33 PM on February 20, 2009

I can't tell if you're happy to use Interweb hosting (flickr etc) to do this, or you want to actually serve it from your machine. I'm going to assume the former. Previewing this is just what Ookseer is talking about.

If you have Adobe Lightroom and a Flickr account, it should be pretty easy.

Lets say you decide on four levels (everyone, family, friends, personal) your first step is to tag everything with that information.

Then install the brilliant flickr plugin from Jeffrey Friedl which will let you upload directly from Lightroom to Flickr.

Then just do a number of filters in lightroom, first search for all files with personal in and upload that to flickr, setting the security settings to protected. Rinse and repeat for the other photos. Finally do a search to find photos without "personal, family, friends" and set that to everybody.

And you're done. Might take a while with 30k photo's but not if you do it on a date/gallery level.
posted by Static Vagabond at 1:35 PM on February 20, 2009

Response by poster: I'm asking solely about the metadata issue. I haven't yet decided on the hosting/serving/access-controlling part - that will come later. It will probably be a custom Django app running on a dedicated server.

I'm not fussed about this happening any time soon; with a few evenings a week, it might take 3 years for me and my partner to properly tag everything. The tagging needs to be done before the uploading and hosting (as odinsdream points out, I would not upload anything with a "private" tag).

But as Ookseer points out, a "friends" tag pollutes the tag namespace, because it's not really a tag, but a distribution list. It sounds like using regular tags (Digikam tags, IPTC keywords, dublin core subjects... whatever the implementation) actually is best practice, but I was hoping there was a standard. Flickr does it, after all, but I suppose that's just an extra table in their database rather than embedded metadata in the JPEGs they store.
posted by hoverboards don't work on water at 3:02 PM on February 20, 2009

Someone correct me if I'm completely missing the point, but isn't this what folders are for? Why use metadata at all?
posted by JaredSeth at 4:16 PM on February 20, 2009

Yes, Flickr and other large image collections are collecting tag information in a database, not embedding data in each image. EXIF and similar data-embedding schemes are great for capturing data output from a camera that would otherwise be lost, but they're not a robust, flexible, or reliable way to associate more data with each image in a collection (see the "Problems" section of the Wikipedia article on EXIF, for example). Even if they were, the application from which you will eventually serve the images wouldn't be impressed -- it'd still want your tag data in a database, and you'd need to figure out a way to merge the data out of each image and into that data structure. That's going to be orders of magnitude more difficult than importing tabular data.

I'd suggest setting up a simple hosted image site first. This could be as simple as a Gallery2 installation on a website on Dreamhost. You could then batch-upload the photos to nonpublic albums and tag them in the application. When you decide on the perfect serving scheme three years from now, it will be a great deal easier to migrate your tagged collection from one cousin application to another.

Meanwhile, you'll have your collection in a place where tagging is easy, and you can even begin right away sharing some images selectively (not to mention share the burden: "Mom and Dad, please log into the Family gallery, go to the Unidentified album, and help us tag the relatives in the back row").
posted by gum at 4:35 PM on February 20, 2009

« Older I can, in fact, has prairie dog!   |   Help, KVM ate my keyboard! Newer »
This thread is closed to new comments.