DoF TableのUI設計思想

拙作のiPhoneアプリ DoF Table の「バージョン1.0」、つまり欲しかった機能を一通り実現したバージョンの開発が終わり、2月2日に公開された。最初の設計スケッチをした日が昨年2015年の2月22日なので、開発期間は約一年弱…結構長かったんだなぁと思う。今日は、そんなDoF TableというアプリのUI(ユーザインタフェース)設計思想について書いてみたい。

DoF Table開発風景
DoF Table開発風景

DoF Tableというアプリがやること自体はシンプルで、被写界深度、すなわちカメラの「フォーカス(ピント)が合う範囲」を計算する。フォーカス範囲がイマイチな失敗写真を撮りたくない人向けのアプリなのだけれど、この計算ができるアプリは元々たくさん存在していた。それでも自分で開発したのは、「計算をする人」ではなく「写真を撮る人」に向いたアプリが欲しいと思っていたから。また、そのアプリのUIは「表」であるべきと考えるに至ったから。

既存アプリのUI

最初に、既存のアプリが提供していたUIについて書いておきたい。まず被写界深度は(a)撮像素子のサイズ、(b)焦点距離、(c)撮影距離、そして(d)絞りの4つで決まる。ただ現実的には(a)撮像素子のサイズを変えながら撮影することはできないので、(b)(c)(d)の3つのパラメータで決まると考えて良い。で、有料品を含め9つほどのアプリを試したところ、大半はこれら3つのパラメータそれぞれをスライダー(横長の線の上に左右に動かせるツマミがあるもの)やピッカー(スロットマシーン風に値を選択できるもの)で指定するようなUIになっていた。この、いわば「被写界深度を算出する電卓」的なUIは計算原理から考えると自然であり、したがって作り手の立場からすると自然だ。けれども、使い手の立場で考えると決して最善ではないと思う。

写真撮影者が被写界深度を知りたい場面

使い手、つまり写真撮影者が被写界深度を知りたいと思うのはどんな場面だろう。まず、撮影の事前知識として絞り値等と被写界深度の関係を調べておきたいことがあると思う。これには撮影スタイル的に知っておきたい場合や、純粋な興味である場合も含まれる(この設定にしたら被写界深度はどれぐらい薄いのかな?など)。また、撮影時にも頭の中に浮かんだ「こんな写真を撮りたい」を実現する被写界深度を知りたいこともあるだろう。撮影中に被写界深度が重要になる具体例を少し挙げてみる:

  1. パンフォーカス撮影 (例:眼前の趣ある古民家を含めつつ、後ろの里山の風景もすべてフォーカス範囲に含めたい)
  2. ボケ表現 (例:テーブル手前の料理と、テーブル中央にあるグラスの両方をフォーカス範囲に収めつつ背景はフォーカス範囲から外したい)
  3. マクロ撮影 (例:至近距離にいる小さな昆虫の全身をボカさず写し撮りたい)

1つ目のケースでは古民家から無限遠までをカバーするように、2つ目のケースでは料理とグラスの両方をギリギリ含むように、そして3つ目のケースでは昆虫の体の一番手前側と一番奥側の部分が含まれるように、被写界深度を調整したいだろう。ただ、被写界深度を調整するために構図を変えることは無いだろうから、いずれの場合でも撮影者は絞りだけで被写界深度を調整することになる。ということは「望ましい被写界深度を実現する絞り値」が簡単に分かるUIが良いと考えられる。

ここで、既存アプリが採用していた「被写界深度を算出する電卓」的なUIを使う想像をしてみる。すると絞りを変えては計算結果を確認し…と繰り返しながら良い絞り値を探すことになるので、手間だ。では、被写界深度を先に入力すると絞り値が算出されるような、いわば「被写界深度から絞り値を算出する電卓」的なUIが良いかというと、これもイマイチだったりする。というのも被写界深度から絞り値を逆算すると、たいていキリの悪い絞り値になってしまうから。つまり「f/8.5が最適」などと言われても普通はそんな絞り値にレンズを設定できないから困ってしまうだろう。もちろん意図によって一つ小さい(あるいは大きい)絞り値に読み替えてやれば実用に耐えるのだけれど、それならそれで、読み替え後の絞り値にしたときの被写界深度がどの程度なのかが分からず(自分的には)釈然としないし、設定できない絞り値ばかりが出てくるという意味で現実的でないというか、(自分的には)違和感がある。

結論は「表」

初期のUIスケッチ。ほぼ最初から表にすることは決まっていた。
初期のUIスケッチ。ほぼ最初から表にすることは決まっていた。

色々と考えた結局のところ、電卓的なUIの何がイマイチかというと、一通りのパラメータの組み合わせについてしか同時に計算結果を確認できないことだと思う。そこで、もっとも変わりやすい(c)撮影距離と(d)絞りを「表の行と列に割り当てる」ことで空間的に展開してしまうことにした。また比較的変わりにくい(a)撮像素子サイズと(b)焦点距離については、「カメラの機種」の選択と「レンズのモデル」の選択で間接的に決定するようにした。こうすれば複数通りのパラメータの組み合わせについて計算結果を同時に確認でき、電卓的UIにあった欠点を大きく改善できる。

被写界深度表をそのままアプリにする、という考えは以上のように考えた結果であって、単純な懐古主義等ではなかったりする。さて、何だかんだと「ごたく」を述べても実際に使えなければ意味が無い。そこでDoF Tableアプリの使い方を説明してみたい。…次回の投稿で。