antenn-a
company profile

MFC航海日記 十日目(ツールとして・・・)

言わずと知れず、今回作成している「FileEater」はツールである。ツールというからにはやはり、人に使ってもらいたい!自分が使うだけなら多少のバグは良しとするし、必要最低限の処理しかしない。しかし、他人が使うとなると話が違ってくる。今回の日記には他人が使うということを前提としたツールの開発について述べてみようと思う。この問題は何もMFCに限ったことではないが、ツールを開発する上で非常に重要なポイントなので・・・(なんだかだんだんページタイトルの趣旨から離れていくような気がする・・・)
他人が使うためのソフトを作るに当たり、一番重要なのはどんな人をターゲットにするかであると思う。例えば初心者のためのツールであれば、コントロールの数を必要最低限にし、できる限りわかりやすくするし、上級者向けであればどのぐらいツールをカスタマイズできるかどうかが勝負になると思う。そして、今までいくつかのツールを作ってきた経験上言えることは「使いやすく作るのが一番難しい」である。よくある物として「 ツールバー 」なるものがあるが、それこそ「初心者に分かりやすく」をコンセプトに生まれてきたようなものである。「文字」ではなく、「絵」として認識させることでより分かりやすくしている。今やツールバー程度のものはMFCにクラスが存在し、ツールバーエディタもある。しかし、これを自前で作ろうと思えば非常に困難であると思う。ツールバーは一つの例として、人が使って使いやすいものはどれも難しいと思う。
今までもそうだが、私(榎本)は一つのコンセプトに基づいていつもツールを作っている。そのコンセプトは「初心者をターゲットとしたフリーソフト」である。今回もその例外ではなく、初心者が使ってすぐに使えるものを作ろうと思っている。そこで今回のツールの基本的な概要と必要最低限の機能をまとめてみた。

名前File Eater for Windows
内容ファイル削除ツール
機能1削除するファイルの種類を複数登録可能
機能2探す場所を複数登録可能
機能3上記2つの機能を一つの削除パターンとし、削除パターンを複数登録可能
機能4削除する直前に指定されたファイルのリストを表示し、最終確認を取る
機能5最終確認の段階で削除するかどうかをファイル単位で指定可能
機能6最終確認の段階でごみ箱に移動するかどうかをファイル単位で指定可能
機能7ヘルプのHTML化

上記のような機能を持つようなインタフェースを様々考えてみたが、今回は下に示すような画面配置にしてみた。β版のころのインタフェースにかなり近いが、少し見やすくしたつもりで ある。

prev


動作画面

ツールの中身(処理部分)を作り終わった後に、できる限りボタンは「絵」にしてみようと思っている。上に書いた機能以外にも様々考えられたが、初心者が使える範囲で考えるとこれが限界だと思われる。そう言えば私の師匠(納富 一宏氏)が「人間は7±2個以上のものを【多い】と判断する」と言っていたのを思い出す。だとすると、この画面にあるコントロールの数は【多い】と言うことになる。しかし、これ以上機能を簡単化できないのでこのままで行くことにする。もっとうまく作れるはずなのだが、私の技術力が追いつかない・・・とても悲しい事だ・・・(涙)
今回のツールの場合、削除しろ!と言われてすぐにファイルを消し去るというのも可能であったがそれだと困る人がいるだろうと思い、ファイルを削除する直前に最終確認を取ることにした。削除する前にワンクッション置くことでユーザが安心してツールを使えるためでもある。その際に、ファイルを本当に削除してよいのか、ファイルをごみ箱に移動するかどうかの2点を選択できるようにした。こうしておけば「このファイルだけは削除したくない」といったケースに対応できるし、「ごみ箱に一回は入れておきたい」という場合もOKである。この場合も他に色々と考えられるが、シンプルに作ろうと思うのでこの2点だけを確認項目にした。最終確認のダイアログ図を下に示す。

動作画面


prev

このダイアログでは検索して見つかったファイルの数とその状態をチェックボックスで示している。後は削除ボタンを押せば指定した通りにファイルを削除する。このダイアログを見て分かると思うが、非常にシンプルである。このようにシンプルであれば使い方が分からなくなるようなことはないと思う・・・・(多分)
しかし、この画面には致命的な欠陥がある。それは、ファイル名やディレクトリ名が長くなってしまった場合、入りきれないと言うことである。水平スクロールバーを使用してなんとかしようと思っているが、なかなかうまく行かず困っているところである。この問題に関しては、解決したら日記に綴ろうと思う。また、一度で複数のファイルの状態を変更するために、このリストボックスは複数選択可能にしたのだが、削除するファイルと削除しないファイルを同時に選択した際にチェックボックスの表示がなんだか不気味なので、「スリーステートチェックボックス」を使うことにした。これについては次回詳しく書こうと思う。
今回はMFCに関係ない話をずらずらと書いてきたが、このような考え方は非常に重要であると思う・・・(逃げるのはここまでで次回からはしっかりMFCの事書きます・・・)


antenn-a

prev next


antenn-a