2006年7月30日

「えきばり」のできるまで

 「そうだ、グラフィックビューアを作ろう!」と思い立ったプログラマがいました。ウィンドウに「ファイル」「編集」「表示」「ヘルプ」のメニューをつけながら、「どんなビューアにしようかな」と考えます。なるべく多くのファイル形式に対応するため、定番のプラグインを組み込みます。さらに欲が出て「簡単なサムネイル表示もつけよう」「簡単なスライドショー機能もつけよう」「簡単なレタッチ機能もつけよう」と考え始めます。サンプルはいくらでもあるので、どの機能も簡単に実装できました。さて、どんなソフトができあがったのでしょうか。

 このようなソフトの作り方は効率的なのですが、この作り方が最適かどうかは作るものによりけりでしょう。少なくとも、上記のような作り方で「えきばり」を作ることはできません。

 市販のソフトよりも細かく設定できるようにしたい、特定の用途に特化させて使いやすくしたい、という場合には、いろいろな機能を「簡単な」=「とりあえず機能する簡易版」として実装することも必要です。プラグインやアドインとして作るのでなければ、単体で一通りの機能を備えていないと使いものにならないからです。このときにすべての機能を本格的に作っていては割に合いませんので、「簡単な○○機能も装備」というので十分(ということにしておく)というわけです。

 それと同じ作り方でグラフィックビューアを作ろうとするのは無茶です。その他の細かいユーティリティでも同様です。

 多くのユーザーは、一つのソフトに多くの機能を求めません。特にフリーソフトでは、豊富な機能よりもユニークな機能が求められます。例えば、音声を加工してMP3にエンコードしたいユーザーがいたとします。波形編集ソフトに「簡単なMP3エンコーダ」が搭載されていたとしても、もっと高音質なエンコーダを単体で用意しようとするでしょうし、エンコーダに「簡単な編集機能」がついていても、もっと使い勝手がよくて高機能なソフトを探すことでしょう。この手のソフトにおいては、「簡単な○○機能」をつけておくことに意味がないのです。

 話は戻って、グラフィックビューアの作り方。そもそも、作りたいのは「ビューア」なのか、「レタッチツール」なのか、「スライドショー」なのか、先に決めておくことです。ここが曖昧なままでは中途半端なソフトになってしまいますので、最も重要なステップといえます。そして、何を作るのか決めるには、具体的な需要を見極める必要があります。画像の加工は本式のレタッチソフトで足りているし、スライドショーもパワーポイントがデファクト・スタンダード。ビューアはOSに付属するものの、使い勝手がいまいち。ならばOS付属のビューアの代わりに使えるビューアを作ろう…と、こうなるわけです。

※冒頭の例でいえば、「そうだ、グラフィックビューアを作ろう!」という時点で、完成までの道筋が見えていないのが問題なのです。そのために途中で道を見失い、中途半端なソフトになってしまうのです。

 ビューアと名乗るからには、すばやく手軽に画像を表示できなければいけません。重い処理は省きます。見たいものだけを見るのがビューアですから、フォルダ単位のサムネイル表示も要りません。見るだけでいいのですから、レタッチ機能も要りません…が、見ていてレタッチしたくなることもあるでしょうから、コピーの機能ぐらいはつけておきましょう。そして、この手のソフトにスライドショー機能をつけたくなるのは、小さなウィンドウでは画像がよく見えないから。ならば単純に一つの画像を全画面表示できるだけでも便利なはず。

 ビューアとしては、どのようなファイル形式に対応すればいいのか考えなければなりません。デジカメやウェブで広く使われているJPEG、GIFは外せません。PNG、TIFFも用途によっては必要になります。BMPはあまり使われません。このうち、VisualBasicで特別な用意(DLLやOCX等)なしに読み込めるのは、JPEG、GIF、BMPです。保存はBMPにしか対応していませんが、ビューアですので問題ないでしょう。

 定番の画像読み込みプラグインに対応するというのも選択肢ではあります。しかし、その対応形式の大半がDOS時代のマニアックなものだったりします。PNGに対応するだけでよければコンパクトなライブラリもいろいろありますので、そちらのほうが使いやすそうです。CD-Rに入れて配布するなどいろいろな使い方ができるように、プログラムファイル一個で動作する身軽なツールにしておくほうがよいと考えれば、JPEG、GIFに対応していれば十分と考えることができます。

※「拡張性」という甘い言葉に誘われてタワー型の大きなPCを買ったものの、特に拡張する必要もなく無駄なスペースを持て余している…という方も多いのではないでしょうか。グラフィックツールを作るときにとりあえずプラグインに対応しておこうと考えるときも、根底では似たような心理が働いているのでしょう。

 ウィンドウに「ファイル」「編集」…とメニューが並んでいるスタイルが標準ですが、ビューアにもそれが最適かどうかは改めて考えてみる必要があります。MDIを採用しているフォトレタッチソフトでは、画像ごとにウィンドウが開いても、そこにメニューやボタンは並んでいません。おかげで、画像をたくさん開いても煩雑になりません。この感覚をそのままに、メニューやツールバーを含むメインウィンドウをなくしてしまって、デスクトップの上に直接展開すれば…と考えると、「えきばり」ができあがります。

※冒頭の例でいえば、ソフトに最適なユーザーインターフェースを考える前にユーザーインターフェースのデザインに入ってしまっているのが問題なのです。

 いろいろなことを考えながら一つのソフトを作ると、ソフト一つ分以上のアイデアが浮かんできます。「副産物」のようなものです。「えきばり」を作る過程では、次のようなアイデアも浮かんできました。

・絞り込みやマーキングのできるサムネイル表示(ネガに焼き増し枚数を書き込むイメージ)
・プライマリモニタ上の特定ウィンドウをセカンダリモニタ上で拡大表示する機能(音声入力や自動翻訳と組み合わせればリアルタイム字幕表示が可能)
・オンラインの画像を貼り付けられる付箋(ウェブ更新チェッカの画像専用版)
・複数のPC上で同じ画像を表示する共有写真立て(日替わりで写真取替え権が回ってくる…写真の感想を書き込める…)

 グラフィック関連のソフトは今後、単機能なソフトを組み合わせて使えるようなシリーズとして展開できればと思っています。
posted by tht at 20:46 | コメント (0) | トラックバック (0) | tht-software 新着情報
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/1048443
※ブログオーナーが承認したトラックバックのみ表示されます。