ソフトを開発しようと思った動機、背景
「エディタやCADでひたすら文章と図面を作成する職業柄、各作業ごとにいろいろとメモしておきたい。といっても、いま作業しているエディタやCADに書き込むわけにもいかない。いちいちテキストファイルを開くのも面倒で煩雑。したがってウィンドウごとに自動的に切り替わるメモソフトがあれば……」と考えて作成しました。以前、Wordのみを対象として、OLEオートメーションで機能する同様のソフトを公開しました(現在、公開停止)。しかしアプリケーションごとにマクロやOLEオートメーションでプログラムを記述する必要があり、しかもこのような記述自体が不可能なアプリケーションの方が多いという現実があり、さらに開発時間やメンテナンス作業を考えると汎用のアプリケーション用メモソフトとして展開するのはほとんど絶望的でした。
Windows APIを利用すればひとつのプログラムでも汎用のアプリケーション用メモソフトになると思いついて作成したのが「Cactium」です。なお、名称「Cactium(カクチウム)」にはこのソフトに関連する意味はありません。他と区別するための名称にすぎません。
開発中に苦労した点
.NET(C#)での開発であり、オブジェクト指向言語ということもあり、問題点も発見しやすく、以前の手続き型言語に比較すれば全体的にかなり楽な開発でした。それでも手続き型言語に慣れた頭でついつい複雑なコードを作成してしまい、不具合原因がわからずにすべて書き直した部分もあります。また、完全フリーズ問題が発生した際には、原因判明と対策結果確認に長時間を要しました。
どちらかというと悩んだところは周辺部分の技術です。具体的にはXML-XSLTの処理です。特にXSLTの記述は初めてで、C#などとはまったく違うので戸惑いました。インターネット上に公開されているサンプルを参考にして何とか作成しましたが、「Cactium_Memo_Data.xsl」を見ればわかるように、ほとんどオリジナリティのない状態です。
ユーザにお勧めする使い方
本来の「Cactium」の使い方(アクティブウィンドウに連動する自動切り替えでメモを作成・表示)のほかには、「all_memo_Listupで表示されるツリーウィンドウから選択したメモデータを、HTMLとしてフォルダへ保存する機能」が便利だと思います。この機能を利用して、作業完了後に、関連するテキストファイルやCADファイルなどと同じフォルダへ、必要なメモデータをファイル保存すれば、作業ごとにデータ整理ができ、結構便利です。
また、「アクティブウィンドウの履歴」は、私個人はメモの切り替え・ショートカットへの登録のみに利用していますが、表示されるアプリケーションやアクティブウィンドウの変遷を調査したい場合には便利かもしれません。
今後のバージョンアップ予定
仕事の効率化のために作成したのですが、基本的な形ができてきた段階であり、私個人としてはいまだ十分に機能しているとは思っていません。当然、必要となるサーチ機能やウィンドウ連動アラーム機能なども検討したいと思います。また、エディタとしての機能もデフォルトのままで貧弱ですので、仕事の効率化の観点から高機能なものにしたいと思います。
(黒野 健治)