EXIF的に同じ日時に撮影した写真がはてなフォトライフに1枚しかアップロード出来ない

 ハートキャッチムービーとかラブリーデジカメとかで撮影した写真には、EXIF的にもファイルのタイムスタンプ的にも正しい日時は設定されない。何しろカメラ自体に時計機能がないので止むを得ないのだが、そう言うカメラからアップロードされた写真(のEXIF情報)をクラウド側で特別扱いしてくれても良いような気がする。
 こちらの記事を読んで知ったのだが、はてなフォトライフのヘルプには「同じ撮影日の写真は(表示方法を撮影順に設定していると)アップロード出来ないことがある」とヘルプに書いてあるらしい。ヘルプでは「アップロード出来ない」と説明していたり、ユーザーによっては上書きされると理解されている*1この現象だが、設定画面(http://f.hatena.ne.jp/ユーザid/config)で画像の表示順を「アップロード順」にすればアップロード出来るようになる。
 振る舞いとしては、表示順=アップロード順で設定されているときのアップロード先のURLは次のようになる。

 恐らくは・はてな側のサーバーに到着した時刻に基づいてhttp://f.hatena.ne.jp/Kityo/yyyymmddHHMMSSと言ったルールでURLを決めているのだろう。上記は複数ファイルを同時にアップロードした結果だが、一意になるように・どこかの機能で1秒ずつずらしたのだろう。
 表示順=撮影順の場合は、EXIF内の日付情報に基づいてyyyymmddHHMMSSの部分を決めてアップロード先のURLにするようだ*2。この場合同時に複数同じEXIF日付の写真をアップロードした場合にも、複数回の操作に分けて同じEXIF日付の写真をアップロードした場合にも、同じURLがアップロード先になると「上書き」してしまうらしい。

設定によって表示順が変わる訳ではない?

 上記のように、表示順の設定によって変化するのは写真をアップロードするときに決まるアップロード先のURLであって、通常の写真一覧画面、例えばhttp://f.hatena.ne.jp/Kityo/日記記事用/ではURLの順に表示しているだけのような気がする。
 例えばidea:25181*3で言われているような常に同じEXIF日付になってしまうようなカメラで撮影した写真をアップロードするために一時的に「表示順=アップロード順」に変更してアップロードをした後で「表示順=撮影順」に設定を戻したとしても、特に驚くような表示順の変化は起こらないだろう。

ラブリーデジカメの場合

 ラブリーデジカメの場合は、2013年01月01日12時00分00秒を基準にして電源ONからの通算時間を足した日時を撮影日時としてEXIFに埋めているようだ。*4 *5
 このカメラで撮った写真を「表示順=撮影順」でアップロードすると、EXIFの日時が常に同じとされる低機能な「トイデジ」の写真をアップロードした場合よりも更に気持ちの悪いことが起こる。
 電源ONしてからシャッターを切るまでの秒数が同じだった何枚かの写真は、上書きされて失われる。そして他の写真も日付的に半年以上前なので写真一覧画面の何ページも先になってしまうので、見失ってしまう。キチョーの場合1ページ辺りの表示枚数を50枚に設定しているが、最初(EXIF情報をいじらずにアップロードした時)は写真一覧画面の3ページ目になってどこにアップロードされたのか分からなかった。

アップロードされたファイルを見失う罠


 アップロード完了した画面に用意されているリンク先がいつもと違って「http://f.hatena.ne.jp/Kityo/日記記事用/?s=entrytime」になっており、このリンク先だとラブリーデジカメの写真もいつものように写真一覧画面の最初のページにアップロードされたように見える。この時点で何枚かの写真は(上書きされて失われたので)アップロードされなかったかのように見える。ここから更に「不要な写真を削除する」とか「写真の縦横を整える」とかの編集操作をして写真一覧画面に戻って来ると、半年以上前の写真は一覧からなくなってしまったように見えるので、まるで編集操作をしくじったような印象になる。
 そして、消えてしまったのかと思って再アップロードのための画面を開くと月間ダウンロード容量はそれなりに減っている(写真を見失っているだけと言う事情が分からないため、消えてしまった写真の分の容量が取り戻せなかったように見える)ためユーザとしては大いに混乱する。
 取り敢えずは写真一覧画面の後ろに「?s=entrytime」をつけることを覚えておくだけでも、多少は混乱を防げるだろうと思う。「表示順=撮影順」のほうが少なくともキチョーにとっては大抵の場合便利なので、普段は「表示順=撮影順」にしておいて必要な場合だけ「表示順=アップロード順」に変更するような使い方になるのだろう。
 だがうっかりこの設定を忘れてアップロードしたり、Eye-Fiカードのようなもので自動的にアップロードしている場合に、EXIF日付が重なるとうっかり過去の写真を上書きしてしまうかも知れないのが怖いし、上書きしなかった場合でも「?s=entrytime」をつけることを忘れたらファイルを見失う。

終了間際にアイデア進言

 時計も内蔵できないプアな機種がEXIF情報を付加するほうがおかしいと言う論も出来るが、プアな機種で撮影した写真なのでクラウド側で何とかして欲しいと言う意思表示のために機種情報をEXIFに埋めていると見ても良いかも知れない。
 終了間際ではあるが、駆け込みでアイデアを投下してみる。

*1:はてなアイデア」(idea:13519)など

*2:EXIF内には複数種類の日付情報が格納されているようだが、フォトライフがどの種類の日付を見ているかどうかの詳細は未検証。

*3:はてなアイデア」(idea:25181)

*4:今回はパソコンでEXIF情報をいじってからアップしたので、今回の写真データは検証には向かない

*5:ハートキャッチムービーの場合は電池を入れてからの通算時間を2008年01月01日に足しているようだが詳細は未検証