ソフトを開発しようと思った動機、背景
動機は「Windowsプログラミングの腕試し」と「自分の希望する性能・機能を持ったアプリケーションがなかったため」でした。当時はWindowsプログラミングを覚えたばかりだったので、学習成果の確認と応用の実践のために、何か簡単なツールを開発することにしました。そこで目をつけたのが「ファイル一覧の出力」機能を持つアプリケーションでした。プログラミング的にはGUIの作成、ディレクトリエントリの検索、ファイル操作など、Windowsプログラミングの基本的なテクニックを学ぶにはよい課題だったと思います(とても楽しめました)。また、同種の機能を持つアプリケーションはWeb上にたくさんありましたが、ソート機能などは自分が希望する機能を持ったものを見つけることができず、これも自作する動機となりました。
最初にイメージしていたのは、UNIXの単機能特化ツールのようなもので、モーターボートのように軽装備なアプリケーションを目指していました(=必要とする人にとって、ピンポイントで役に立つようなツール)。豪華客船(=機能満載)タイプのアプリケーションもおもしろいとは思いますが、ツールらしいツールを念頭におき、軽快に動作するようなものを意識して機能実装しました。
開発中に苦労した点
Win32 APIの使い方や、GUIの作成、ソートアルゴリズムの実装などに苦労しました。当初はWindowsプログラミングの資料に乏しく、個人サイトのプログラミングTIPSやBBSなどを参考にさせていただきました。一日かけて何か一つの疑問点を調べるようなことも多々ありましたが、Web上の優れたサイトからの情報に何度も助けられました。これらサイトの作者さまには、今でも感謝を忘れないようにしています。
開発中に最も気をつかったのが「パフォーマンス(速度大量処理)とサイズコンパクト」です。このためコンパイラにVisual C++を選択しました。また、MFCを使わずにすべてWin32 APIだけでプログラミングしました。ファイル数に制限を設けず、大量のファイル数(例えばCドライブ丸ごと)でも高速に安定して動作すること。かつファイルサイズが小さくシステムメモリに負担をかけないものを心がけて開発しました。ですので、パワーの弱い比較的古い世代のパソコンでも十分に動作するアプリケーションになっていると思います。
ユーザにお勧めする使い方
出力させる項目の順番やソート機能の自由度が高いので、何かのデータをリストアップするとき、そして、その出力項目や順番にこだわりたいときに役に立つかもしれません。また、大量ファイルを処理するユーザ、処理スピードを求めるユーザに役に立つかもしれません。結果をCSVやHTMLで保存したいユーザにも役に立つかと思います。また、メニューを持たないダイアログタイプのGUIで、機能設定が一目瞭然のため、マニュアル不要で使えると思います。
今後のバージョンアップ予定
いまのところ予定はありませんが、いくつか要望をいただいておりますので、時間的余裕と心のゆとりができたら、随時カスタマイズしていきたいと思っています。また、現バージョンでもパフォーマンスに関して改善点はあるので、随時チューンアップできたらと思っています。Vectorで紹介されているほかのアプリケーションに負けないように、特有機能や直感操作、高速大量処理といった個性を大切にしたいと思っております。
(ぴよぴよ実験室)