Sunday, November 22, 2009

How To Use Picasa

You'd think that a Google product wouldn't need instructions, but Picasa seems to be the exception. Have a look at the help fourms and you'll find a lot of angry customers. So, having wasted many hours messing with Picasa, I've decided to put together a list of tips to help others and probably also myself in the future.

It's been my experience that when you let software like iTunes or Picasa manage your files, they do a bad job. So I don't let Picasa watch my folders and I archive all my images (and music) to an external drive (which is most of the time read-only). I use a date-by-alphabetic folder structure as shown below.

Example folder structure Tell picasa which folders to scan

Organizing by year and prefixing by numbers as you add sets of images lets you [ View > Folder View > Sort By Name ] and still have your sets of images sorted by date. This is valuable if you have many old images or scans that don't have correct "date picture taken" tags embedded in the picture files.

I would love to find a piece of software that given a folder will open all images, sorted by name alphabetically and embed date/time information sequentially, starting at a given date/time. But this folder structure lets me live without it.

I add files to Picasa via the following procedure.

[1] - Organize new images into a date-by-alphabetic folder structure and move them to the Picasa folder on the external drive.

[2] - Open Picasa [ Tools > Folder Manager ]. Only the Picasa folder structure should be marked "Scan Once" (the check mark). Everything else should be marked "Remove From Picasa" (the red x).

[3] - Select the root folder (in my case "images") and select "Remove From Picasa" then select "Scan Once" then click OK. That procedure seems counter-intuitive, but it has the effect of asking Picasa to re-scan your folder structure and pickup the new images you just added.

Having done this much, Picasa can serve as a handy tool to view your archived images. But you probably want to organize images into groups based on people and occasions. Albums are a handy tool for this. They are basically playlists of images. The fact is that you I take more photos then are worth looking at, but with cheap storage there's no reason to delete anything unless it's truly hideous. Before adding files to Picasa, I go though them, delete any that are awful and rotate the sideways images (see below for why to not let Picasa do your edits). Having added a new folder to Picasa, you can [ right-click > Select All Pictures ] and then use the blue icon near the bottom left of the screen to create a new Album.

Create a new album in picasa

Having created a new album of all the new images from your folder, you can then select the album, double-click the first image, and remove images from the album with the delete key. This just deletes them from your album, not your disk and is a fast way trim down the number of files so that your friends and family won't have to suffer through too many pictures.

Warning: I've read that if you open Picasa while your external hard-drive is unplugged then all your albums will be toast. Protect yourself against this and other disasters by backing up the album PAL files. Your Picasa has a name. Mine is named b8ebd58cc0bbd85077b3521f7a54046a, and all my albums live in that folder. Each album has a name and lives in a file. For example: 1c6f0c62952b69bd4ddbc981aaa63b92.pal

How picasa stores albums

Here's how to manually create an album.

[1] - In Picasa, select an image then add it to a new album, such that you've created an album with just that image.
[2] - Close Picasa.
[3] - Go to your albums folder (mine is b8ebd58cc0bbd85077b3521f7a54046a) and find the smallest PAL file. This is your new album. Open it in wordpad. Mine is named 696fd5f8756a6af8d395d4c24cd68841.pal and looks like this:

<property name="unread" type="flag" value="0"/>
<property name="uid" type="string" value="696fd5f8756a6af8d395d4c24cd68841"/>
<property name="token" type="string" value="]album:696fd5f8756a6af8d395d4c24cd68841"/>
<property name="name" type="string" value="My Custom Album"/>
<property name="date" type="real64" value="40138.893333"/>
<property name="category" type="num" value="0"/>
 <filename>[Z]\images\photos\2009\03 - Fish &amp; Chips\001.jpg</filename>

Now it would be great if Picasa let you work with these files, but instead it actively fights against you. Anything you do to this file will be wiped out next time you start Picasa. This is because Picasa really keeps its info in [ ...\Local Settings\Application Data\Google\Picasa2\db3 ] and notices that you've tampered with the pal file and undoes your changes. You can rebuild your database from pal files but that is a bad idea. It takes forever, it's spooky, and it breaks the link between albums and web-albums.

Here's what you can do.

[4] - Re-name the new album to an unused value. For example, increment the number by one: [ 696fd5f8756a6af8d395d4c24cd68842.pal ]. I think that any 32 digit hex value not currently used in your albums folder is okay to use.

[5] - In the file, set dbid to null and the three instances of the albumid to the new value and enter any file list you want. An example follows. Notice that the drive (in my case Z) is denoted by "[Z]" instead of the usual "Z:". Further note that the "&" character must be escaped as "&amp;".

<property name="unread" type="flag" value="0"/>
<property name="uid" type="string" value="696fd5f8756a6af8d395d4c24cd68842"/>
<property name="token" type="string" value="]album:696fd5f8756a6af8d395d4c24cd68842"/>
<property name="name" type="string" value="My Custom Album"/>
<property name="date" type="real64" value="40138.893333"/>
<property name="category" type="num" value="0"/>
 <filename>[Z]\images\photos\2009\03 - Fish &amp; Chips\001.jpg</filename>
 <filename>[Z]\images\photos\2009\03 - Fish &amp; Chips\002.jpg</filename>
 <filename>[Z]\images\photos\2009\03 - Fish &amp; Chips\003.jpg</filename>

So this album is actually specifying the following three files:

Z:\images\photos\2009\03 - Fish & Chips\001.jpg
Z:\images\photos\2009\03 - Fish & Chips\002.jpg
Z:\images\photos\2009\03 - Fish & Chips\003.jpg

If any path in the file list is invalid, then that file and all files after it will be dropped from the album.

[6] - Restart Picasa. It will add your album to it's database, and you're good to go. Note that I've heard that setting dbid to null doesn't work for some people. It worked for me. I used Picasa Version 3.1.0 (Build 71.43, 0) on WinXP.

Okay, that's it. You've now made your custom album. Why bother? Well, like me you could have spent an hour going through tonnes of photos and recording their paths via [ right-click > Copy Full Path ] because you just wanted to export them and it was easier than [ right-click > Add To Album ], but then you decide, hey I do want these in an album after all.

Or you could be like the many people I read about who started Picasa while their drive was unplugged or whose Picasa just crashed and ate their albums, or whose Picasa killed a bunch of their albums during upgrade. Using the above you can recreate albums from old PAL files and recover from these situations. That's an awful lot of grief to go to, but it seems that Picasa doesn't measure up to Google's usual standard of "don't worry about it, it's easy and it just works". From my experience it's more like microsoft's standard of "wow this is stupid", but I still prefer Picasa to the alternatives I've seen.


Having read the above, and knowing that your edits and stuff like that are stored in hidden [ Picasa.ini ] files alongside your images, there's only two things you need for a full backup.

[1] - Your folder structure. In my case: "Z:\images\".
[2] - Your PAL files. In my case "C:\Documents and Settings\Obadiah\Local Settings\Application Data\Google\Picasa2Albums\b8ebd58cc0bbd85077b3521f7a54046a".

You can use picasa's built in backup, or you can just copy these locations yourself or you can use some 3rd party package. But be warned, Picasa's restore sucks. All the backup does is copy files from your disk to your backup location and all restore does is copy them back. So if you restore some PAL files and your current db3 already has an entry for them, then it'll just nuke your restored album and use the old "presumeabley broken" one. And if it doesn't have an entry for your pal file, it'll just nuke it (although if you use the procedure above you can restore old albums as custom new albums).

Furthermore, if the location of your files ever changes, all your albums will be broken. Say for example that you bought a new computer and you tried to move Picasa there but the file paths weren't identical. Then you'd have to manually edit all your PAL files and use the above procedure to add them as custom albums. That's one of the reasons I have my data on an external drive. You can tell WinXP that it should always be mounted as Z: or whatever, so you're guaranteed to have the same folder structure wherever you go.

Web Albums

For me, the biggest draw of Picasa is the web albums. For $20/year you get 80GB of online storage. That's not bad. Plus the web album interface itself is pretty decent. It still has a lot of room for improvement in my opinion, but its certainly better than anything I've written myself.

So, just click on an album and near the top right of the screen, tell it to "Sync to Web". Sounds simple, but there are plenty of gotchas.

Configure picasa to upload high quality web albums

With all that online storage, you'll want to upload full quality images. This is controlled via [ Tools > Options > Web Albums ]. Obviously you need to select "Original size (slowest upload)". What exactly is meant by "Use 1600 pixel size when sharing" isn't clear to me but from my reading you probably want that unchecked.

All good? Fat chance. There's a huge entry on the Picasa forum about attempts to upload at original size. There was a bug, fixed in Picasa 3.1, version 71.36 that just always degraded your image quality. There is still a "feature" that degrades your image quality for all images that have edits. They propose a work-around, but it would be so labour intensive, that I'll just stop using picasa to do edits and live with the bad quality for my existing edits.

On top of all that, even if you do get the full quality image up there (verifiable via [ Download > Download Photo ], near the top left of the Picasa webpage), there's no online interface to view photos at full quality.

Once you've got a bunch of albums online, you'll probably feel cramped by the fact that they're all listed on one page, either by name or by date. Sort by date is nice for event based albums like "Halloween" or "Trip to Costa Rica". But for subject based albums like "Photos Of Ottawa" an album date doesn't make sense (i.e. when the contents span several years). I've worked around this by choosing to sort by date and assigning false dates far in the past to subject based albums. The result is that my event based albums are listed first and my subject based albums are listed second and alphabetically (via careful choice of fake dates).

Which brings us to another surprise limitation. From the online help it really does sound like changes to album description, date and location on your local computer will be reflected in online synced albums. That just doesn't happen. So choose these wisely before syncing to web. Thereafter you'll have to make changes locally and then make them again on the web. And the web interface is slower and more tedious.

If you're interested. You can see my pictures here.

{ "loggedin": false, "owner": false, "avatar": "", "render": "nothing", "trackingID": "UA-36983794-1", "description": "Unlike most google products, picasa is tricky to use. This tutorial gives hints and examples of how to get picasa to behave the best way for you.", "page": { "blogIds": [ 14 ] }, "domain": "", "base": "\/michael", "url": "https:\/\/\/michael\/", "frameworkFiles": "https:\/\/\/michael\/_framework\/_files.4\/", "commonFiles": "https:\/\/\/michael\/_common\/_files.3\/", "mediaFiles": "https:\/\/\/michael\/media\/_files.3\/", "tmdbUrl": "http:\/\/\/", "tmdbPoster": "http:\/\/\/t\/p\/w342" }