2017年7月23日日曜日

PanasonicのImage Appのかなり深刻なバグ(と欠陥デザイン)

「パ、パナソニックさん? 一体どうしちゃったんですか?」

デジカメ用のスマートフォンアプリに、開発チームの内部事情が本気で心配になるくらい深刻なバグが発生しています。AppStoreのレビューでも既に複数人からGPS記録が正常にできないと指摘されていますが、具体的にどういうバグなのか、画面のキャプチャと合わせて説明します。

解決法、というか問題の回避方法も見つけたので、この問題で困っている方はご参考に。



問題のアプリはiOS版のImage App (ver. 1.10.2)。Panasonic製のデジカメと組み合わせてスマホからカメラをリモート・コントロールしたり、カメラからスマホに写真を取り込んだりできるアプリですが、その中の位置情報機能に以前は無かったバグが現われました。

GPS機能付きのスマホで記録したログをカメラに送信し、それを元に個々の写真に撮影地の座標をタグ付けする機能なのですが……


アプリのバグ


スマホからデジカメにログを送信した後に出てくるメッセージ

「なんだよー、送信と同時に書き込んでおいてくれたんじゃないのかー、面倒だなー」とメッセージを流し読みしてWriteを押すと、なんと全ての写真に同一の位置情報が! 野へ山へと丸一日走り回って撮った数百枚の写真が全て、自宅で撮影した事にされています。

メッセージをよく読むと、

“Save the current location information to the picture file?”




the current...          location...?















_人人人人人人_
> 現在地! <
 ̄Y^Y^Y^Y^Y ̄



今まで数時間かけてスマホが記録してきた移動中の位置情報を全部無視して、帰宅したユーザーがテーブルにカメラを置いて一息つきスマホ片手に作業をしている、まさにここ! この座標を「画像ファイルに記録しますか?」と尋ねている! そして実際、現在地を写真に記録するようアプリがプログラムされている!

少し考えればおかしいと思うはずですが、開発担当者の誰一人これに気付かずリリースしてしまったんですね……。

ちなみにこのメッセージ(“Save the current location information to the picture file?”)、日本語版では「今から位置情報を画像に書き込みますか」となっています。同じバグに見舞われている日本語ユーザーは完全に騙された格好です。

(にしても「今から」って何なんだ…。アプリの機能としても日本語表現としても冗長です。)


正しい位置情報への修正を試みるも…


スマホから誤った位置情報を書き込んでしまった写真ですが、デジカメ内に残っているGPSログを元にデジカメ内部の位置情報書き込み機能を使えば正しい位置情報を上書きできるのではと試してみました。









しかし! 結果は失敗!

最初にスマホから書き込まれた間違った位置情報タグが残ってしまっただけでなく、書き込み操作と共にカメラ内のGPSログのファイルも消えてしまいました。


正しい位置情報を書き込むには


  1. スマホからカメラにGPSログを送信する。
  2. 但し、スマホからは位置情報の書き込み操作をしない。
  3. ログを受け取ったカメラ側で、カメラ内機能を使って位置情報を書き込む。

これで正しい位置情報がタグ付けされる事を確認済みです。今の所はこうするしかないですね。

AppStoreの2017年4月9日のレビューに拠れば、このバグが現われたのは ver. 1.10.0(2017年3月14日)からで、もうかれこれ4ヶ月以上放置されています。ほんと大丈夫なのかなあ、Panasonic…。


バグ以前にデザインの質も低い


Panasonicのデジタルカメラと言えばユーザーインターフェイスが他のメーカーのデジカメより分かりやすく整理されているという印象ですが、質が高いのはカメラだけで、スマホアプリは本当に同じメーカーが作っているのかと疑うほどデザインに欠陥が多いです。


これから位置情報の記録を開始しようとする画面

“Start geotagging” の上に “Time sync” というボタンがあります。写真に正確な位置情報を付与するにはスマホとデジカメそれぞれの内蔵時計を一致させないといけないと聞きますし、ボタンの配列順も “Time sync” が先なので、まずこれを記録開始前に押さなければいけないような印象を受けます。

しかし実際は、

Panasonic「スマートフォン/タブレットの位置情報をデジタルカメラの写真に追加する (ジオタギング)
・ DC-TZ90/FZ85/GF9、DMC-FZH1/LX9/G8/GX7MK2/TX1/TZ85/FZ300/GX8/G7/GF7/TZ70/GM5/GM1S/LX100/FZ1000/GH4 をお使いの場合、この操作は必要ありません。
自動的に時刻同期を行います。次の操作に進んでください。
そんな操作は必要無いのでした!

それだったら、接続しているカメラの機種に応じてボタンを非表示にするなりグレーアウトするなり、もっと他にやりようが有ったはずです。

このTime syncボタンでの時刻同期、一瞬で終わるならそれほど問題に感じないんですが、なぜか異様に時間が掛かるんですよね。説明書を読むまで気付かず、今まで何度も無駄に時間を取られてきました。


記録停止ボタンはシンプル

シンプルさを突き詰めるなら停止ボタンを押すと同時にGPSログをデジカメに送信し、そのまま写真に位置情報を書き込むところまでやってくれても良いと思いますが、一度に複数のカメラを使う人もいるだろうと考えて記録の開始/停止ボタンと位置情報の送信ボタンを分けたのでしょう。

何にせよ、写真を撮る度に、逐一自動でジオタグが付くスマホ内臓カメラに比べれば遥かに煩雑ですが。


送信ボタンを押すと無意味な確認メッセージが

できない機種があるなら、アプリ側でそれを認識してボタンを無効化しておけば済む事ですし、エラーが生じるなら生じたその時にメッセージを出せば良いのでは? “NO” を太字にしているのも謎です。


カメラにGPSログを送信した後、すぐに消去の確認が出ます。

しかし、消すのはどちらのログなのか。スマホ内に残っている方か、カメラに送信した方か。それとも両方か。取り返しの付かない事になりそうで無駄な不安を生じさせます。「え? まだ書き込んでないのに消しちゃうの?」と。このメッセージは写真に位置情報を書き込んだ後で出すべきですね。


送信後さらに確認メッセージが

この確認メッセージも(バグが混入する以前のように、移動中の位置情報を書き込むのなら)不要ですね。カメラにGPSログを送信しておいて画像ファイルには書き込まないとか、今書き込まずに後で書き込むという需要が、一体どこにあるんでしょう?