Tuesday, March 20, 2012

Aperture to Picasa uploader: doesn't exist any more

Apple's Aperture site still markets an Aperture to Picasa Web Albums uploader, but the vendor has closed up shop. Just in time for my move from iPhoto to Aperture!

There's no alternative, which is a bit of an ominous sign for both Picasa Web Albums and Aperture.

Update: There's an open source alternative. Last updated 2010, and quite a few active defects logged.

Update b: Looking at this more closely, Aperture has some interesting web journal features -- that work with MobileMe. Which was shut down last year. This keeps looking worse. (Maybe it's because I'm on Snow Leopard.  I think Lion Users may see iCloud.) Incidentally, this is quite a good article on all the nasty bits of Aperture photo sharing.

Saturday, March 17, 2012

iPhoto 8 to Aperture 3.23: Migration notes

I'm migrating my image and video libraries from iPhoto to Aperture. This is a long and tedious process since the fully automated importer doesn't completely work, there's no Aperture help file documentation and few web discussions or knowledge base articles. Unfortunately iPhoto to Lightroom migration is even harder.

If you have older iPhoto Libraries like mine, you need to understand how Aperture Stacks work. That's because in old iPhoto any edited images are treated by Aperture as 'externally edited' versions of an iPhoto original and they "stack".

I hope this process will improve with Aperture 4. It is one of the most miserable computer tasks I have undertaken since the days of hacking WordPerfect printer drivers with a hex editor.

Why now

  • iPhoto 9.x (11) is a functional regression from iPhoto 8. I believe Apple has ceded the pro market to Adobe, and now markets Aperture to prosumers (that's me). That means iPhoto will continue to go downmarket even as it converges with iCloud and iPhoto for iOS. I don't want to go there.
  • Aperture 3 is a better photo management tool with only one gaping omission -- there's no place to store album descriptions (only events have descriptions).
  • I can work on Projects while traveling and integrate them.
  • I'm tired of working around two different sets of bugs. [1]
  • I need to be aligned with "power users" -- iPhoto users don't have much energy any more

What is lost

  • If you are not very careful, you will lose all of your iPhoto Titles.
  • Aperture is less stable than iPhoto. Aperture users learn to kill it and repair its database.
  • iPhoto 8.x has elegant shortcuts for creating and managing Events that Aperture lacks (splitting, etc.). iPhoto Events display is also much better than Aperture Projects in many ways. In iPhoto it's easy to go from an image to the container Event, in Aperture I can't see how to do that (the columnar browse view does tell you the Event container name and there's probably an AppleScript workaround. It's a funny miss.)
  • iPhoto 8 keyword entry is more efficient and better developed than in Aperture (though Aperture has other keyword features). I used the Command Editor to assign five keywords to numbers, I didn't like the default keyword modifier. (If you have a numeric keypad you don't need to worry about this.)
  • You can quickly edit photo captions in place in iPhoto. In Aperture you need to use the metadata inspector. It's slower.
  • In iPhoto when you select multiple photos you see a summary of the selection with a date range. In Aperture you only see metadata on the first photo selected.
  • iPhoto 8 has smarter batch change options
  • Aperture Libraries are about 25% larger than iPhoto Libraries for the same number of images. This might be partly related to how Aperture creates thumbnails for 'stacked' iPhoto images belonging to multiple Albums.
  • Quick navigation from iPhoto to image file.
  • I'd been processing raw images in Aperture but exporting JPEGs to iPhoto. I liked this as an archival strategy, RAW images won't be readable in ten years. I was, however, falling behind in processing images. Working only in Aperture will be faster even though the RAW images are significantly larger than the JPEGs. I've started shooting JPEG for less important jobs to reduce the storage consumed.
  • "Keepsakes" like Books - though I recently discovered that iPhoto 8 can't render the books I created with earlier versions - the layouts are gone. Whatever new layout one chooses there is some likelihood of losing content. Aperture did import a 'book' as though it were an album.
  • My iPhoto Slideshows (though I only ever did 1-2 of these) - UPDATE: I did get at least one when importing via iPhoto Library
  • It appears Aperture cannot import even modern iPhoto contrast settings (may differ in iPhoto 9?)
  • Aperture's video format support is weaker than iPhotos and it has video thumbnail creation bugs.

What I tried (and discarded)

I thought I could use IPLM to create a "clean" import Library while also allowing me to avoid the 'duplicate' image problem with older Libraries that have JPEGs for both current and revised images. I found, however, that Aperture does a better job importing an iPhoto Library than IPLM does migrating or merging libraries. In particular IPLM cannot recreate Smart Albums, but Aperture can. Also my IPLM migrated Library image ratings didn't import into Aperture, but the native iPhoto Library images do keep ratings.

What I'm doing now

I'm converting each iPhoto Library into a separate Aperture Library. This makes comparisons easier. Then, when i'm satisfied not much is lost, and I've moved over any missing Descriptions, I can start to combine the Aperture Libraries into one. Given the size of these Libraries and the backups needed it's wise to budget for some big disks and something like OWC's Newer Technology Disk Dock.

  • Prior to migrating an iPhoto Library I first reorganize it to be closer to the Aperture Model
    • Consolidate Events into Larger sets. For > 100 events/month I set up an event for each month and use that for most photos. Special 'events' stand alone.
    • Set a Key Photo for each Event and move Event Descriptions into the Key Photo Description. (I'm not certain, however, that Aperture preserves Event Key Photo when it turns Events into Projects.
    • Eliminate Albums that can be represented as Events, and move Album Description to Event Description. If an album is retained, set a Key Photo and move Album Description to Key Photo Description. If necessary create an Album Specific Key photo (you can assign these to a special "Album Event". For example
      • Take a screenshot of the description, save as PNG. Then copy the Description textDrop PNG into Event/Album and set date time so it's earliest by a minute.
      • Paste Description text from Event/Album into Image Description field.
  • Backup the iPhoto Library
  • repair iPhoto Library if using iPhoto 9.x or later. I run recover orphaned photos (backup first) in iPhoto and I compress the database.
  • Create a new Aperture Library for the import with these settings
    • Turn off Facebook synchronization
    • Turn off sharing photos with iLife (no preview generation)
    • Disable Faces
    • Disable Places
  • Choose Import iPhoto Library
    • You must set Version Name to Master File name. If you do this then your iPhoto Titles will become Aperture Version names and iPhoto Descriptions will become Aperture Captions. (The Aperture Title field is not used.) If you do not do this your iPhoto Titles will be lost. (It's ok throw your head back and scream now. I think this is a bug [2].)
  • From empty Aperture Library import iPhoto Library. Let it run. On my 27" iMac a large Library took about 8 hours to import (but I'd forgotten to turn off preview and Faces, that about doubled the time). Be sure this completes before doing anything else. Activity view should be empty.
  • Validate the the import succeeded
    • Filter on iPhoto Original, number should match number of items in Original iPhoto
    • Spot check for errors - confirm image counts match (keyword 'iPhoto Original', confirm event counts match.
    • Make sure Moview counts agree. Run a sample of Movies.
    • I spend a week or two on validation before I go to the next step.
  • When the import Library has been validated it's time to import it into the Master Aperture Library. I back up my Aperture Library prior to this step.
  • Prior to import process run repair Aperture Database on the Master Library to remove Aperture errors.
  • Import the Aperture Library you just created into the Master Aperture Library.
  • To show iPhoto metadata appropriately, change all metadata settings (at least six places!) to display Version Name, Caption, Keyword and Ratings in that order.
  • Keep old iPhoto Library onto an old hard drive for safe keeping for a year or two before deletion.

Working around Aperture's video import bugs

Importing videos from iPhoto was grueling. I've addressed this in a separate post. This goes beyond mere bugginess into realms of "never tested". I was able to move all my videos, including version names, captions, descriptions and so on -- but it took a lot of work. I had to combine iPhoto Library import with a separate import process using the iPhoto media browser, then use a range of Aperture views, queries, metadata inspection and so on to get a complete set with no extras.

Managing the botched video import made me an Aperture expert.

Keyword cleanup

It seems that Aperture is turning Project/Event names into keywords - at least under some conditions. No photos are assigned those keywords. They make quite a mess of the Keyword view. I'm deferring major keyword cleanup until I complete iPhoto Library import. I consider this one to be a bug.

Be very careful about rearranging the keyword hierarchy. Aperture assigned the keyword 'iPhoto Original' to over 18k images. When I moved that within the hierarchy the rearrangement pegged all my CPUs and seems likely to run overnight (or crash).

Reviewing Mistakes

Once you think you've managed your migration it's time to look for problems. You need two monitors, one for iPhoto, one for Aperture. Initially my photo counts matched but I had one extra Project/Event in Aperture.  On inspection a Facebook thumbnail had leaked into Aperture, perhaps related to Aperture's quirky Facebook support -- and it created an extra Project. I deleted that, but now my image counts were off (I'd collapsed the stacks, otherwise there are many more images in Aperture than iPhoto). I lined up my images so I could compare end-of-row images, then did a simple split-set search until I discovered a bizarre little iPhoto image that OS X couldn't recognize -- but it somehow rendered as a thumbnail. Aperture had been unable to import it (an error message would have been "nice").

Next is using Aperture's list view to look for abnormally small images (accidental thumbnail import), inspect by camera type, etc. There's no way to inspect tens of thousands of images for errors, so if my counts are correct I proceed with sampling by image type, camera type, etc. See above for the nighmarish task of resolving video import bugs.

Understanding Stacks and Splitting

If you've been using iPhoto for years then some of your imports will include two images -- original and 'externally edited'. (Externally edited is how Aperture classifies images edited in old versions of iPhoto).

During import these pairs are "stacked" and the "externally edited" is marked as the "key photo" in the stack.. Some things you need to know:

  • These images are stacked by Aperture, not auto-stacked. If you split the stack Aperture can't automatically unite it again. In my experiments a 2-5 sec auto-stack rule did stack most such images after I split them, but not all. So don't unstack recklessly!
  • Option - ; and Option-' will collapse and expand all stacks.
  • You may want to delete one member of the stack, perhaps the edited one, and redo the edit in Aperture. Unfortunately, the 'externally edited' one may belong to an Album. There's no way in Aperture to determine what Albums an Image belongs to.(I found an AppleScript that claimed to produce a list, but it didn't seem to work when I tried it.) In my testing it appears that if one member of a Stack is in an album then both are, even if the stack is later split. So it seems to be safe to delete either the original or edited version as desired.

The best guide to using Stacks is to browse the keyboard shortcut pamphlet or PDF.

Combining Aperture Libraries

  • I chose to convert each of my iPhoto Libraries into a single Aperture Library, then I combined those into a single Aperture Library. I discovered that merging Aperture Libraries is a risky business - in particular merging two smaller Libraries crashed Aperture. Expect frequent crashes.
  • I recommend backup the target Library prior to the Combination step (in addition to the usual backups).
  • Be sure no iPhones or other mountable devices are connected
  • Reboot your machine prior to attempting a merge
  • Consider repair Database prior to merge.
  • You can choose either "add" or "merge", the default is merge. I think the Import Aperture Library with Merge resolves duplicate photos (which is only safe if the developers are competent). More importantly, I think it tries to combine keywords rather than create separate keyword taxonomies (trees). That's a big plus.

See also

- fn -

[1] It's easy to find Aperture bugs btw, though usually restarting the app clears them. I thought I'd found a very nasty bug with iPhoto events, but it turns out it's simply very easy to accidentally select and merge multiple events when only one is wanted.

[2] Aperture handling of iPhoto Title data depends, mysteriously, on the iPhoto Version Name import setting that Apple documents as: "... choose Master Filename from the Version Name pop-up menu to have your files stored using the current master filenames from your camera or card". (Since we're importing from iPhoto, and not a camera or card, this documentation is misleading.)

In reality, during iPhoto import, setting Version Name = Master Filename does nothing of the sort. Instead, this is what happens:

  • The filename is equal to the filename used in iPhoto
  • Aperture.Version name is set equal to the iPhoto Title.

I don't know what Aperture would do if we set Version Name = a Custom name where one of the custom name components was "Master Filename". Would it still treat iPhoto.Title as "Master Filename"?

I think there are two bugs here. I think Aperture "Version Name=Master Filename" was supposed to set Aperture.Version to the file name, and that there was supposed to be ANOTHER drop down (and a custom name tag) that of the form "Version Name=iPhoto Title".

I've submitted this bug to Apple's developer bug reporting system as 11163418.

Metadata: time zones in Aperture and iPhoto

I learned one photo lesson during a family trip to DC - set all cameras to local time.

Aperture has some time zone support, but it's inconsistent. For example, time zones don't appear in the adjusting date/time dialog, but they do show in metadata.

iPhoto (8.x) has no time zone support. So 9am CT photos show next to 9am ET photos. If Aperture photos with different time zones are displayed in iPhoto date sort they can be out of sequence.

Time zones are evil, but iPhoto is eviller.

I wish I could get rid of iPhoto.

Update: The combination of end-of-life for iPhoto as we've known it (iPhoto '11 is a big regression) and this latest mess pushed me ever the brink. I've stopped using iPhoto as my image repository.

I'm going to use Aperture going forward, while slowly, painfully, migrating old images from iPhoto. It may take a year of tedious rework; Aperture doesn't import iPhoto event or album descriptions [1] for example. I'll have to copy/paste annotations from iPhoto Events to Aperture projects. Where I can't move an Album Description to an Event I'll create a sort-first 'key photo' and put it in the photo Description (wish there was an AppleScript way to automate this. [2]

[1] Aperture could store iPhoto Event descriptions as Project Info Descriptions (shift-I), but the import doesn't do this.)
[2] Possible hint:  AppleScript to store Album Descriptions

Friday, March 16, 2012

How to take better portrait pictures

Great tips for both photographer and subject ...

Six Tips for Better Portraits - NYTimes.com

Peter Hurley, a leading head-shot artist for actors, celebrities and executives, said people look like badly embalmed cadavers because they try to pose, but lack the skill to look natural doing it...

... Here are some of his top tips from those offered in his instructional video, “The Art Behind the Headshot.”

  1. Keep your chin up. People have a tendency to tuck their chins in photos, creating an unflattering neck wattle. The simple way to fix it, said Mr. Hurley, is “bring your forehead toward the camera.” From the side it looks like they are doing an E.T. imitation, but from the front it cleans up the neck and jaw line. For shots from the side he instructs, “Bring your ear toward the camera.”
  2. Get your Eastwood on. Mr. Hurley said that people always look better when they squint slightly. The crucial word is slightly – not a pained expression as if reading fine print. The real trick is to squint with the lower lids only – think of the expression Clint Eastwood makes when assessing Lee Van Cleef before a showdown. “In my opinion, fear and uncertainly comes from the eyes,” Mr. Hurley said. “If someone wants to look confident, have them squint.”
  3. Have a laugh. Most people tend to have a fake grin, with pursed lips, or they squeeze the mouth tightly as if trying to keep a secret from escaping. Mr. Hurley’s goal is to get his subjects looking confident but approachable. “I will tell them to allow a little space between their lips,” he said, just enough to breathe. “The mouth is where all of the approachability comes from.”
  4. Frame it up. The most important visual element of a good head shot is the eyes. Mr. Hurley frames his subjects to the rule of thirds. That rule of composition means if you were to draw a tic-tac-toe board on your finished photo, the major elements would be on one of the lines or intersections. Mr. Hurley gets in close enough that the top of the subject’s head is often out of the frame. “If I want the top of the head,” he said, “I shoot more of the chest so the eyes are still one third from the top...

Tuesday, March 06, 2012

Pay-as-you-go voice and SMS service for a contract-free AT&T iPhone with H2O Wireless

Four months ago AT&T declared war on us. Until then I'd had both children on our family plan, using old out-of-contract (but not unlocked!) iPhones with voice only service. On a day of infamy, AT&T hit us with mandatory $30/month data plans. Our too high monthly mobile bills went much higher.

That's when I fought back. Four weeks later, I declared victory. I'd slashed our monthly phone bills, not least by replacing SMS texting with iMessage (even to the SIM-less iPhone 4) and rare paid SMS. As a side-effect of operation vengeance I even picked up a new iPhone 4S - iMessage and a new subsidy made it cost-effective.

There was only one downside. Number 2 son loved using my iPhone 4 as an iPod Touch, but he no longer had voice service. He really didn't care about that, but we're heading to DC for a family trip. He has a knack for getting lost, so I wanted to be able to phone him.  I decided to follow up on an H2O wireless plan (AT&T reseller) I'd considered last November ...

Giving your old iPhone to your kid: working around AT&T's mandatory data plan

I'm planning to test a H2O Wireless SIM Card (no jailbreak or unlocking for AT&T phones) ... there's a MyH2O app on the App Store. However the H2O wireless cards expire after 30 days, so they're better suited to a heavy voice/data user than to our guys; there's really no saving over our family plan....

I dropped into Best Buy to check out the options. I found two quite different H2O plans:

  • a voice and SMS only plan with an initial 90 day expiration. $10 price includes $7 of talk time and another 30 days to the expiration. Afterwords expiration time depends on how much you buy: $10 is 30 day, $20 is 60, $90 is 90 and $100 is 1 year. Whatever you pay talk is 0.05/min and SMS is 0.05/message.
  • a voice/SMS/data plan with a 5-30 day expiration depending whether payment is per-minute or per-month [1]. Not clear if $10 package includes any services.

I had to make a quick call, and based on the premise that I should only buy what I need now, I went for the voice/SMS only. [2] For you, dear reader, I suggest carefully studying the cost of the new $100 1 year expiration option for the voice/data plan. It's not clear how one switches from voice/SMS to voice/data, I suspect it involves buying a new SIM card and switching the old number (see Help, My Account)

Briefly, it worked. Here's what I did after I bought the card (the procedures for data plan support are slightly more involved, but I'm only writing on what worked for me):

  • Went to a local "World of Wireless" shop and paid them $5 to punch out a micro-SIM from the H2) standard SIM [3]
  • Followed the directions and went to H2OWirelessNow.com/activate
    • Registered, providing my Yahoo.com (junk) email and my Google Voice number. Maybe overly protective, I noticed that the 'spam-me' checkbox was opt-in, which is commendable.
    • After I registered Chrome "sat there". I had to lick 'Activate" on the menu to get to the next step.
    • Choose MINUTE Plan
    • From Activate I entered the ActFast code, desired area code, and then city.
  • I then picked up my confirmation mail from Yahoo.com account. It said the phone would be ready in 10 minutes and told me my new number.
  • About 6 minutes later I put the micro-SIM in the iPhone and powered it up. On startup it said H2O in the connection bar.
  • I tried phoning out, but nothing happened. So I called into the new phone -- that worked. After that I could call out too.
  • iMessage still worked (yay).
  • Dial *777# send to check account balance and expiration. It said my balance was $6.55 and it would expire on 5/5/12 (60 days, not 90!)
  • Tested MyH2O.app - worked quite well to show balance. I found a very brief call cost about 5 cents or so.
  • I connected to the recharge page and added $10. That brought my total to $16.96 and moved the expiration to 5/4/2012 (90 days)

I'm pleased. I may add $10 every few months, that will likely cover Number 2's use of the iPhone 4 -- at a wee fraction of what AT&T was charging us with a mandatory and unwanted data plan [4]. (MISTAKE 5/18/2012: I missed a very big gotcha! After the initial 90 days the expiration falls to 30 day for $10, so the actually minimal cost of the phone is around $100 a year. Significantly more than I'd imagined.)

If you purchase $10 renewals via credit card they may appear on your statement as "Shop Locus 800-6205809 Nj".

The plan includes voice mail [6], thought Apple's elegant voice mail won't work without a data plan and accessing voice mail uses up plan minutes. Instead I configured my son's Google Voice number to be the voice mail service [5]. If he misses a call he gets an SMS notification with a message transcription, and an email with a link to the voice file.

At this time, the experiment looks promising.

- fn -

[1] That's what it said on the package. Later, visiting the H2O site, it seemed there were more data plan options than the package suggested -- including a new $100 payment that takes a year to expire -- reminds me of the plan a friend used with his Android phone.

[2] One fringe benefit -- no data plan means less concern about Apple's fake parental controls.

[3] WOW is a different scene from AT&T stores. This is a cash-centric business. Maybe some other sites will cut the micro-SIM for free, or you could try cutting down the card with a razor blade, but Dawayne did it with flair and the card fit my son's iPhone 4 perfectly. Well worth the $5.

[4] It's even cheaper than the $10/month added line phone (plus $4 fees/taxes) we used to have -- and SMS is cheaper. Of course AT&T may terminate this loophole any day now, but they can't force a data rate on us. They can only close off a revenue source; that's hard to do when SMS is going away and desperation is setting in.

[5] Our family has worked from a free Google Apps and family domain for five years. It's trivial now to give each family member a Google Voice account. Within GV there's an option to 'add GV' to any verified phone, makes it the answering service.

[6] The setup directions are poorly written and, I suspect, might be partly in error. I didn't try though.

See also:

Mine

H2O site

Other

Update 5/19/2012

We've done well with H2O Wireless so far, but this feels very much like a business on the edge. For example, I wanted another voice/text (no data) SIM for another son, but I couldn't find it on their web site. The site only has voice, text and data SIMs. I did find a voice/text only SIM via Best Buy.

Recharging is an odd workflow. It's done only through their web site, not the MyH2O app. It's something like this:

  1. Go the H2O web site and login
  2. Click on Recharge H2O Wireless
  3. Choose "Do You Need a PIN"? In fact this simply adds minutes, there's no 15 digit PIN installed.
  4. Enter the number (again) and Click Search. (should be labeled Confirm Number) 
  5. Now you can select an amount to enter (example: $10). A confirmation email is sent to you account.
  6. They don't take AMEX. That's a bad sign; AMEX is quick to dump ill-behaved vendors.

This time activating a new SIM card didn't work quite as quickly. It took about 5-8 minutes for the activation email to show up in my Yahoo (junk email account -- I cleared out all the spam and junk so incoming email would not get lost).

Other than that however it worked well. I noticed this time that with each transaction there's a message summarizing cost and balance -- most helpful with kids. I also realized that the way expiration works if someone doesn't use the phone much they build up quite a large balance -- but if the expiration date is hit it all goes at once. So the phone costs about $100 a year, not $40 a year. Tricky, tricky.

Update 8/28/2013

Two odd things have happened:

  • A $10 payment extends account lifespan by 90 days instead of 30 days. So for low cost use the phone can cost as $40 a year. I wonder if someone lost a lawsuit. 
  • The kids phones are now showing 3G data available. It doesn't actually work, but it's shown as available. This can mess up the iPhone because it tries to send iMessage messages as data instead of as SMS. I had to go in Settings and turn off mobile data.

Fixing Siri - When Really Sorry isn't good enough

[Update: before you try resetting network settings, try simply turning Siri off then on again.]

All Siri says to me is "I'm really sorry about this, but I can't take any requests right now." At first I thought she was playing hard to get. Then I figured she'd found another 23 million people.

I'm not the only broken heart, there are 177,000 Google hits on Siri "I'm really sorry about this".

Not so great for Apple's flagship product, so I started in on a pretty good rant. That's how I came across this (marginally good) advice:
Siri says I'm really sorry about this...: Apple Support Communities
... Goto: SETTINGS>GENERAL>RESET>RESET ALL SETTINGS [Don't do this!] Then follow the commands and reset your phone. You'll have to re-enter some info like Wi-Fi settings/passwords.... and then turn Siri and Location services back on.... but thats it and Siri should start to work again...
I gave it a try -- and it worked! Unfortunately, I also lost my custom wallpaper, I had to reconfigure iMessage, I lost my dictionary, and my iPhone restarted as thought it were a new phone (scary!).

The trick is only reset NETWORK settings. You don't need to Reset All. You'll still need to reenable iMessage and you may get the 'new phone' restart. If you do, ignore the 'restore' options, just choose setup as new phone. Everything will be there except iMessage configuration; so review your existing Message setup before you reset.

So why did this bring Siri back to me?

A clue is what you find when you search on "I'm really sorry about this ...". It's what hackers get when they try to enable Siri on an iPhone 4 and they're going through a "bad" proxy server. I was a relatively early 4S user, and I'm guessing when I signed up I was assigned a proxy server that's now overloaded or broken. When I reset, I'm guessing I was assigned a new proxy server.

Presumably in the next iOS update Apple will have some fix for this problem.

Tuesday, February 28, 2012

Deleting Google: Is Latitude broken?

I'm late to the great Google divorce party -- tomorrow Google promises to exploit and sell everything that they've got on us. (Not sure if that includes Docs and Email -- soon if not now.)

It was easy to delete my extensive search history, but the Google Latitude management page is missing its delete history button. Looks like they forgot that one.

It's sad how fast and far Google's reputation has fallen. I'm at a Silicon Valley (think LA without the beaches or the glamour) tech conference today, and Google gets the disdain Microsoft once owned. I wonder if they've noticed, or if they've figured out that Larry Page is not Steve Jobs.