私はフリーソフトを使用する機会が多いのですが、細かい点で気になることがよくあります。ちょっとした配慮が足りないと思うのです。しかしそれは私の主観かもしれませんし、フリーソフトに文句を言うつもりもありません。意見を求めている作者もたくさんいますが、私が試用するソフトの数が半端ではないので、とてもすべての作者のかたに意見を言う余裕はありません。ですので、今までに感じたことをここで述べることにしました。また、そういった不満に思ったことは、自分がソフトを作るときの参考にもしています。
何も特別なことを要求しているのではありません。どれも簡単に実行できるものばかりです。公開すると決めたソフトなら、なるべく多くの人に愛用されるソフトにしたいものです。そんな思いを込めて書きました。このことはフリーソフトだけでなく、オンラインソフト全体や、市販のソフトにも言えます。操作性に気を配ったり、気の利いた動作をしてくれれば、ずいぶん使いやすくなるのに、と思うことはよくあります。
なお、ここに書いたことは、作る側と使う側の両方の立場から、私が感じたことをまとめただけです。ソフトを作る際に、少し気に留めていただく、という程度に考えてください。必ずしも正しいことを言っているとは限りません。
Windows用のオンラインソフトは、大きく分けて以下のようなファイルで配布されています。
(1) LZHやZIPファイル
(2) 実行すると展開先のフォルダを聞いてくるEXEファイル
(3) 実行すると展開先を聞かずにインストールされるEXEファイル
(4) DOSで実行するEXEファイル
標準的なのが、(1)のタイプです。フリーソフトを使いたいならば、アーカイブファイルを取り扱うのは必然であるというのが私の考えなので、私としては、この形態が一番好きです。
初心者には、EXEファイルを実行するだけの(2)や(3)が楽だという考えもあるでしょう。しかし、私にとっては少々不便です。中のドキュメントだけ読みたいときでも、いちいち展開しなければならないからです。LZHファイル、ZIPファイルであれば、それらを扱うツールで、該当するファイルだけ選択して、ちょっと見るということができます。
(3)は、何やらメッセージが出て、OKを押すとインストールされるタイプです。あるいは、メッセージすら出ないこともあります。システムに深く関わっているソフトでは、インストール先が固定なために、展開先を聞いてこないことが多いのです。やむを得ないのかもしれませんが、知らない場所にファイルができるというのは気持ち悪いものです。せめて、どこにどんなファイルが追加されたのかを知らせてほしいものです。
(4)も特殊な事情があってDOSで実行するのだとは思いますが、Windows上で実行すると、PIFファイルができたり、MS-DOSプロンプトが勝手に出たりして迷惑です。説明を書いたテキストファイルを同梱したアーカイブファイルにすべきでしょう。
(2)では、その後にSETUP.EXEを実行して、さらにインストール先のフォルダを指定するというソフトもあります。わりと大規模なソフトで見られます。まぁ、しかたないかなと思いますが、大した規模でないソフトでもこういう形態のものがあり、それはさすがに仰々しい気がします。インストーラをつけるくらいなら、もっとサイズを小さくしてもらったほうが、個人的にはありがたいです。あえて言いますが、本格的なインストーラがついているわりには、内容が伴っていないのではないかと思うソフトもあります。
ほとんどのソフトには、ドキュメントとしてテキストファイルかヘルプファイル、あるいはその両方が含まれています。ヘルプファイルがないソフトもありますが、テキストファイルが用意されていれば、私は気にしません。むしろ、ヘルプファイルしかないソフトは、どうかと思います。導入のしかたなどの重要なことは、テキストファイルに書いておくべきでしょう。
テキストファイルが入っているのはよいのですが、マニュアルとして使うようなテキストファイルに、README.TXTというファイル名は好ましくないと思います。そのソフトのファイル名に、拡張子をTXTにしたものがベストでしょう。なぜなら、同じフォルダに複数のソフトを入れた場合、どのソフトのドキュメントもREADME.TXTでは困ってしまうからです。ファイル名を同じにしておけば、標準で名前順に表示するエクスプローラで、うまくまとまって表示されるという利点もあります。
Windowsのソフトにはヘルプをつけろというガイドラインがあるにしても、実際問題、ヘルプファイルがあるかどうかより、知りたいことがすぐにわかるかどうかのほうが重要だと思います。市販のソフトによく見られるのですが、「私はそんな説明が聞きたいのではない」という、役に立たないヘルプファイルが多くて困ります。
そもそも作者側にとって、ヘルプファイルを作るのが大変だという問題があります。そこで、HTMLでヘルプを書くという方法もあります。しかし、読むためにWWWブラウザが必要であったり、その起動時間がうっとうしかったり、ファイル数が多くなるという問題があります。利点は、作りやすいということくらいでしょうか。HTMLファイルがあると、その書き方が、私にはまた気になる要素になるわけですが。
ヘルプファイルの作成に困っていたら、リンクのページで紹介している「HelpDesigner」をおすすめします。私は、このソフトでヘルプを作成しています。
ウィンドウの位置や、各種設定値をどう保存するかは、ソフトによってさまざまです。どうするのが最善であるかは決めかねますが、ソフトを使う上で、非常に気になる点です。特に、レジストリを使用するかどうかは、最大の関心事になります。
市販のソフトに比べて、フリーソフトはバージョンアップの頻度が高いです。ですので、バージョンアップの作業は何度も行うことになります。最も楽なのは、展開先に、今まで入れていたフォルダを指定して上書きするだけのものです。今まで使っていたオプションなどの設定値が、そのまま受け継がれればベストです。
インストール前に、旧バージョンを削除する必要があるソフトもあります。この場合、各種の設定が初期設定値に戻ってしまったり、削除せずに上書きすると、アプリケーションの追加と削除で、同じソフトが2つ表示されて困ることがあります。なので、あまり好きではありません。
中には、かなり頻繁にバージョンアップするソフトもあります。変更したら、すぐに新しいバージョンを公開したい気持ちもわかります。でも、もう少し時間をかけてテストしてみたり、ついでに新しい機能を盛り込んだりして、一段落したら公開するというほうが、よい結果になることが多いです。重大なバグがあって、すぐに修正版を出さなければならない場合は別ですが、通常はそんなにあせる必要はありません。あまりにバージョンアップの間隔が短いと、利用者が何度もインストール作業をしなければならないので、面倒になって見送るということもあり得ます。
ただ、作者側にもいろいろ事情があり、一刻も早く新しいバージョンを使ってもらいたいとか、書籍の収録があって新しいバージョンにしておきたいというような理由で、頻繁にバージョンアップすることもあります。結局、新しいバージョンを使うかどうかは利用者が決めることですので、常に新しいものを提供するという姿勢は、いいことなのかもしれません。ただ、どこが変わったのかを明記しなければ、利用者は気づかないことが多いです。テキストファイルかヘルプファイルに履歴を書くべきでしょう。
視覚から得られる情報は、ソフトを使う上で重要な役割を果たします。その情報が欠けていたり、見られなかったりすると、使う側にストレスを感じさせる要因になります。色数や解像度など、使用環境によって見え方が変わることもあります。特定の環境での使用しか想定していない作り方は避けるべきです。
操作性の面で不満に思うソフトは少なくありません。キーボード操作を全く考慮していないソフトが非常に多く、それで使う気が失せてしまいます。特にゲームソフトでは、フリーか市販のものかを問わず、マウスでしか操作できないものが目立ちます。一度、マウスを使わないでどれだけの操作が行えるかチェックしてみてはいかがでしょうか。
アンインストールは、ただファイルを消すだけというのが最も楽で、利用者に喜ばれる方法ですが、レジストリを利用していると、そう単純にはいきません。レジストリに書き込んだ内容を放っておいても問題がない場合もありますが、そういうのは気分が悪いという人もいますので、何らかの対策を必要とします。
そのソフトに、レジストリに書き込んだ内容を削除する機能をつけるのが、最も親切なやり方です。その際に、そのソフトのキーを削除したあとに、会社名(作者名)のキーにサブキーがなければ、そのキーも消すという処理をすると、完全に消去できて利用者も安心します。そのことが明記してあると、さらに安心します。
たとえば、T.Inukaiという作者名のキーのサブキーにJKViewというソフトのキーがあるとして、それを削除することを考えます。
《ケース1》 T.Inukai-+-FSV | +-JKView 《ケース2》 T.Inukai---JKView
ケース1では、JKViewを消しても、ほかのソフトのキーであるFSVが残るため、T.Inukaiは残しておく必要があります。なので、行う処理は、JKViewのキーを消すことだけです。しかし、ケース2では、JKViewを消すと、ほかにサブキーはなくなるので、T.Inukaiのキーも消す必要があります。つまり、JKViewを消したあとに、ほかにサブキーがあるかどうか調べて、なければT.Inukaiも消すという処理をすればよいわけです。
私のソフトでは、設定情報を削除する機能をつけて、そのソフトの実行中に削除して終了できるようになっています。それだけでなく、使用するレジストリ項目を明記してあり、必要であれば手動でも消せるように配慮してあります。
レジストリ情報を削除するだけのソフトを添付する方法もあります。しかし、それをつけたことによってサイズがかなり増えてしまうようでは、嫌がられるでしょう。
ドキュメントに削除する方法を書いておくだけでも、ないよりはマシです。利用者に任せるのは危険ではないかという意見もあるでしょうが、フリーソフトは無保証、無責任が基本なので、何も問題はありません。こういう情報はオープンにすべきですし、そういったこともフリーソフトの魅力であると私は思います。
アンインストールは、「アプリケーションの追加と削除」を利用する方法もありますが、頻繁にバージョンアップするフリーソフトには不向きな面も多いので、これは今ひとつという感じがします。この方法でアンインストールできるようにするべきだというガイドラインがあるにしても、環境を受け継いで頻繁にバージョンアップするフリーソフトには向かないと思うのです。二重登録をしないように作ってあれば、有効な方法ではあるとは思いますが、よほどの規模のソフトでない限り、やはり仰々しいという感じがします。