Categories
photography software

Fixing Flickr timestamps and a rant about software timezones

I keep my camera clock on UTC. I do this because there’s no way I am going to remember to fix the time on it every time I go interstate/overseas – or even just change to daylight savings time (or back). And given my camera has no method for entering timezones it is the only way I can be unambiguously sure what the timestamps mean.

I’ve had serious issues getting Flickr to extract the correct timestamps from my photos. It appears to assume that the normal date/timestamp in the Exif data (Exif.Photo.DateTimeOriginal from my camera anyway) is in the timezone you have signed up with. There is a semi-official tag Exif.Image.TimeZoneOffset (part of the TIFF/EP standard but not officially Exif standard), which Flickr appears to ignore – and which is useless anyway since it appears to be in hours, and is an integer (FAIL by whatever committee put that together).

Flickr does provide the ability to shift timestamps on photos, so you can select a whole slab of them and fix them. And guess what… it only works in whole hours!!!!

BEGIN RANT
Really people – NOT ALL TIMEZONES ARE A WHOLE NUMBER OF HOURS OFFSET FROM UTC. And it isn’t just Adelaide – its all of India! That is 1 billion customers you will potentially be annoying! Yet the amount of software which persists in making this daft assumption never ceases to amaze me.

END RANT

Digression – why is Adelaide on a half-hour offset anyway? There are 360/24 = 15° per hour, so +9 hours would be at 135°E, +9:30 would be at 142°30’E. At 138° 36’E, we are (slightly) closer to +9:00. Given the amount of trouble the oddball timezone causes someone made a really dumb decision. I suppose we should be glad we didn’t end up at +9:15! Oh, and Melbourne – at 144°58’E you really should be on +9:30 🙂

The good news is that I have a (partial) solution for the Flickr issue. It turns out that there are a pair of date/timestamp fields in the GPS data extensions for Exif (Exif.GPSInfo.GPSDateStamp and Exif.GPSInfo.GPSTimeStamp). Even better – these are defined to be in UTC, so there is no ambiguity. Unfortunately just adding these isn’t good enough – but if you also remove Exif.Photo.DateTimeOriginal (and possibly Exif.Photo.DateTime as well, my photos don’t have that), Flickr will actually get the timestamp right. It still assumes your local timezone (and there appears to be no way to fix that), but at least it gets it right in that timezone!

EDIT: now flickr seem to have broken this method as well. GAH!