開発の舞台裏

時々ソフト開発の面からのお問い合わせをいただくことがあるので、私のオンラインソフト開発の現状などを少し紹介します。何かの参考になれば幸いです。


開発言語

Mule作のオンラインソフトは、すべてボーランド(インプライズ社)のDelphiで開発されています。
最初はマイクロソフト社のVisualBasicで開発していたのですが、
実行速度が遅い
言語の能力が弱く、Windowsの全機能を活かせない
ランタイムライブラリが必要で、インストールが複雑
ランタイムライブラリのバージョンの違いで動作が変わる
など、困ったことが多いため、全面的にDelphiに移行しました。

Delphiの唯一の弱点は、ドキュメント(ヘルプ)が説明不足だという点です。これだけはVBにかなり劣っています。ドキュメントが間違っているために時々バグを作ってしまうことがあります。これは他のDelphi開発者の方々も共通の悩みらしいですね。


テスト環境

Windows用ソフトで最も面倒なのは、各ユーザーの実行環境がバラバラだという点です。そのため、非常に多くの環境でテストしなければならなくなっています。そんな状況について、いくつか例をあげてみます。

OSのバージョン: Windows95は、初期版、OSR1、OSR2.x、及びその各々にインターネットエクスプローラの各バージョンをインストールしてあるか否かで動作が異なってきます。
この上Windows98が加わったら、どうなるのか頭が痛いところです。
そんなこともあって、Windows3.1やNTのサポートはきっぱりやめてしまいました。

画面の配色: 文字や背景の色をどんな色に変えられても正常に表示されなければならないのですが、そうするとあまり様々な色を使えなくて、表現力が削がれてしまいます。

フォントのサイズ: ユーザー環境に無いフォントや、大きすぎるフォントの環境では、表示の一部が見えなくなってしまうことがあります。これは市販ソフトでもよく見かけますね。

画面のデザイン(タイトルバーのサイズなど): 極端に大きく、または小さくしている方もいるのでしょうか。今まではあまり注意してなかったのですが。

「地域のプロパティ」での変更(数値や日時の表示形式): これも結構バグの原因になっています。中には「地域」を一時的に「英語」などに変更して、それを忘れて「動作が変だ」というメールをもらうこともあり、見つけるのも一苦労です。

デバイス: プリンタや外部記憶装置の有無、種類によって、動作が異なる場合があります。

ファイルシステムの違い: ドライブ名、フォルダ・ファイル名などの扱いが、OSのバージョンによって微妙に違っていたりします。ファイル名にスペースを含む場合に限って動作しないとか、Windows−NTの特定バージョンでは、ファイル名の全角(日本語)の”A”と”a”を区別しないとか、落とし穴がいっぱいです。

ネットワーク(LAN)の有無: 単体だと動くけど、LAN環境の時だけエラーになることはわりと多いです。たいていはLANドライバなどのバグなんですけど、LANメーカーはバグを認めたがらないので困ったものです。

マシンの動作速度: これが一番やっかいです。特に、CPU速度はi486−66MHzとPentiumII−400MHzでは数十倍以上も違うので、一つのソフトが同一の動きをすることのほうが驚異だったりします。ハードディスクなどの速度差も、テスト環境では再現しようがないので、「多分大丈夫」と想定して開発するしかない場合が多いです。
結局は自分のマシンに最適になるように作ってしまいますが、時々は古いマシンでも少しテストしてみることもあります。


・・・こんな状況ですから、とてもすべての環境についてテストできませんので、もし動作が異常なソフトがあれば、詳しい環境を書き添えてぜひ連絡ください。
市販ソフトメーカーは、どこまで厳密にテストしているのか疑問ですが、さぞかしサポートは大変だろうなと思います。


ヘルプについて

ツール: 主に、梅木泰宏さんが開発された「ヘルプカード」を利用させていただいていますが、とても使いやすく、感謝しています。
Windows98ではHTML形式に準じたヘルプに変わるようなのですが、開発ツールの関係上、当面今の形式で作ることになりそうです。

用語: ヘルプで最も苦労するのが用語の扱いです。例えば「ダイアログボックス」なんていう言葉は、Windowsを初めて使う人は知らないはずですが、Windowsのヘルプにはそういった用語の説明は見当たりません。そこで、どういう用語なら説明無しで使えるのか、いつも暗中模索しながらヘルプを書いています。
目標として、「60歳でも使える」というくらいを目指しています。そのため多少説明がくどくなっているかも知れませんが。

配色: ヘルプでは「リンク」に緑色を使っているので、白か黒と緑は通常の文には使えません。注意を引きたい部分は赤を使っていますが、通常文の文字や背景を赤にしている人はいないだろうと勝手に想定して作っています。しかし、背景を青にしている人はいるかもしれないので、青色の文字は使えません。
かといって、背景色を「白」に固定してしまうと、人によっては輝度が高すぎて読みづらいことがあるそうで、避けたいと思っています。
そんなわけで、あまり様々な色を使うこともできず、今のところ「赤」と「紫」を強調色などとして使っています。
今後HTML形式のヘルプに移行して状況が改善されれば、さらに良いヘルプが作れるかもしれませんね。

いつも、できる限り読みやすくわかり易いヘルプを、と心がけて作っているのですが、わかりにくい点などがありましたら、指摘してもらえればうれしく思います。


1998.5  Mule