始めから不特定多数の人に使ってもらおうとして作ったものだと別ですが、始めは自分が使うために作って便利なので公開してみたという作者は結構多いのではないかと思います。すると初期のものは自分が使えればいいという程度のものなので非常に簡単な作りになります。公開などを行って多数のユーザに使用してもらい、ユーザから要望を頂きソフト自体が成長していくものだと思います。その要望は作者自身が予想しなかったものなども存在するもので、そういうのを対応する場合はプログラム的に無理なことを行う場合というのがあります。初めからそういうのをすべて予想して作っているか、かなり小規模なものでない限りプログラムは醜くなっていくはずです。そこである程度の完成度に達するか、これ以上の拡張は無理だと判断した時点でプログラムの作り直しを行うのがいいと思います。作り直すことにより予想外の拡張を行って醜くなった部分をスッキリさせたり、拡張を断念した部分を盛り込めたりと作り直す前のものよりずっといいものを作成することができます。UIは前回使いにくかった部分を改善してより使いやすいものにできたり、必要なしと判断した機能を削ることができたりします。作り直しの一番のメリットはプログラムがスッキリすることです。前回の分で拡張すべきところなどは見えているので仕様はすんなると決まるでしょう。作り直すにはかなりの時間が必要で、作り直す前のレベルまで達するだけでも前に作った分ほどの時間を要します。大体のオンラインソフトの作者とは本業を抱えており、オンラインソフトを作成する時間はわずかなので作り直すにはそれなりの勇気が必要ではないかなと思います。作り直している間というのはユーザから見るとサボっているようにしか見えなかったりします。旧版と新版とで並行して作ればいいのですが、余計に時間がかかるだけなので新版に専念した方がいいと思います。あとすでに一度作っているものをもう一度作るというのだから前回ほどの面白味は期待できず、単純作業的なものになってしまうのも問題です。ユーザというのは作者自身なので作者が満足しているかしていないかで、作り直すか作り直さないかが決まると思います。2度も同じ物を作りたくないと思う場合はアルゴリズムに凝ってみたり、まったく新しい手法で作ってみたり、言語や開発環境を変えてみるのも手です。-mailito:<nakka@nakka.com>。