ブログ
インターネットなしでも使えるカメラ機能はどれか
スタンプ付きの写真が要る場所には、電波がないところがたくさんあります。地下室、人のいない現場、フェリー、飛行機の中。そこでアプリを頼りにする前に問うべきは「オフラインかどうか」ではなく「どの機能がオフラインなのか」です。答えが「全部」になることは、ほとんどありません。
通信が要るもの、要らないもの
カメラアプリは種類の違う2つの仕事をします。端末がすでに知っていることを記録することと、知らないことを調べることです。前者がネットワークに触る理由はありません。後者はネットワークなしでは動けません。
この1つの区別で、電波が切れたときに気づくことのほとんどが説明できます。
まったく通信が要らないもの
- 写真を撮ること。端末自身のカメラの処理系を通します。
- 端末の時計。印字される時刻はここから来ます。
- GPS 受信機。測位は衛星から得ます。通信があれば最初の測位を速められますが、測位そのものに必須ではありません。
- スタンプを画像へ描画し、カメラロールへ書き込むこと。
通信が要るもの
- 座標を住所に変換すること。座標は測った値ですが、住所は誰かのデータベースを引く照会です。
- 天気と標高の取得。
- スタイルに小さな地図が含まれる場合の、地図タイルの描画。
- アカウントに紐づくもの全般。同期、チームアルバム、レポートの書き出し、共有リンク。
住所がもろいのはなぜか
住所は導出された値です。端末は自分が数メートルの精度でどこにいるかは分かっていますが、その場所の名前は知りません。名前は照会です。座標を入れると住所が出てくる。そして照会には他人のデータベースが要ります。
だから地下室で撮ったスタンプ写真は、正確な時刻と正確な座標を示しても、通り名はまったく出ないことがあります。壊れているわけではありません。第三者に依存する唯一の項目が、聞く相手を持たなかっただけです。
これは、座標のほうがこの2つのうち硬い半分である理由でもあります。座標は端末が行った測定です。住所はその測定の解釈で、別の場所で生成されるため、座標が正しくても住所は間違っていることがあります。
1分で試す
ここまでの話を提供元の言葉のまま信じる必要はありません。写真をアップロードするかどうかを確かめるのと同じテストを、照会が必要になりそうな項目に絞って行うだけです。
- 機内モードをオンにする Wi-Fi とモバイル通信の両方を切り、端末から外へ出る道を完全になくします。
- 住所・天気・標高の項目をオフにする この3つが調べる必要のある項目です。ほかは影響を受けないはずです。
- スタンプ付きの写真を撮る 時刻と座標はそのまま出るはずです。どちらもサーバーを必要としません。
- 住所をオンに戻して、もう一度撮る この行が固まるか空白で返ってくるなら、ネットワークが関わる場所が正確に分かります。しかもそれはごく一部です。
- 見た結果で判断する 任意の項目を切っても接続を求めるなら、掲載ページに何と書いてあっても、それはオフラインカメラではありません。
通信前提のカメラが適している場合
オフラインであれば自動的に優れているわけではありません。そこははっきり言っておく価値があります。この分野のあるアプリは、意図的にネットワークを支えにしていて、掲載ページにその理由を明記しています。
ネットワークから現在時刻を取得することで、ユーザーが端末の時刻を変更しても、写真と動画には真の時刻のウォーターマークが残ります。
Timestamp Camera Enterprise — App Store の掲載ページ
これは実際の問題への実際の答えです。端末の時計は、それを手にしている人なら誰でも変えられます。ネットワーク上の時刻源は変えられません。第三者にその時刻を信頼してもらうことが写真の目的なら、その設計のほうが強い。その代償は、地下室ではその写真を撮れないことです。
StampCam は逆の取り引きを選びます。時刻は端末から来るのでネットワークで検証されておらず、その代わりに電波がまったくなくても動きます。どちらの選択も欠陥ではありません。「この記録は誰のためか」という問いへの別々の答えです。自分自身のためか、あなたの端末を信用しない誰かのためか。
よくある質問
タイムスタンプカメラにインターネットは必要ですか?
電波がなくても GPS 座標付きの写真は撮れますか?
スタンプした写真から住所が消えているのはなぜ?
オフラインの記録は、ネットワークで検証されたものと同じくらい信用できますか?
参考資料
この記事が引用した外部ソースを、参照したリンク付きでまとめています。いずれも自社アプリの紹介ページではありません。