このページは、開発の裏話をまとめたページです。
本ソフトを作るに当たって考えたことや、遭遇した出来事をまとめておきます。
以下、目次替わりの項目です。
2001年の4月に、ニュース・コレクターの実験を兼ねて自分のサイトに個人ニュース系サイトを導入して以来、ウェブのデータをアクティブに収集するようになりました。
それまでは、割と受動的にウェブを利用していて、能動的に使う時にも検索エンジンを少し使うといった程度でした。
しかし、能動的に使用するようになって、初めてウェブの使い難さに気付きました。
「あそこら辺にあるはずのデータが見つからない」「昨日見たあれって、どこにあったっけ」「多分、こういう文章がここら辺にあるはずなのに、見つからないなあ」
そもそも、ウェブ上のデータというものは、ハイパーリンクを使って、参照構造によってその存在が定義されたものです。その中から、その参照とはまったく違う探索方法でファイルを探しても、なかなかそのファイルには行きつくことができません。当然ですが。
ウェブ上のデータは、そこにあることは分かっていても、その中から欲しい情報を抽出できない非常にもどかしい存在です。世界中に存在するデータを、自由自在にコントロールできるようにはそもそも作られていません。
ローカルのファイルと同じように、自由にウェブ上のデータを利用できるような仕組みが欲しいなと思い始めました。
ウェブ上のデータを探すには、結局の所、現状最良の手段は検索エンジンを使うことです。
しかし、この検索エンジンにも非常に不満があります。まず、正規表現で検索できないこと。次に、最新のデータが存在しないこと。そして最後に、検索結果をさらに調べる仕組みが存在しないこと。
私が探すデータには、個人サイトで昨日今日書かれたような文章が少なからずあります。こういったデータは、なかなか検索エンジンでは捕捉できません。
何よりも一番痛いのは、正規表現を使った検索ができないことです。これはかなり苦痛です。一度正規表現を使えるようになると、ローカルのファイルの検索は正規表現なしにはおこなえません。この手法が、ウェブ上のデータに対してまったく使えないというのは痛恨の極みです。
「自由自在に検索ができる、自分のためのパーソナル検索エンジン」、「たった今の最新の情報を対象にした、リアルタイム検索エンジン」が欲しくなる瞬間です。
そんなわけで、2001年の夏ぐらいから「作らにゃ、あかんなあ」と思い始め、秋には作るための準備を始めました。
2001年秋の時点では、最低限の仕様は決まっていたものの、どの言語で作るかで開発はペンディングされていました。それ以前に、この年の秋で会社を辞めたので、それ所ではなくなったというのもありました。
そういうわけで、開発は開始されることなく宙ぶらりん状態になりました。
ペンディングになった開発ですが、開発コード名だけは決まっていました。「ハーベスト」です。
何の名前かと言うと、「JoJoの奇妙な冒険」の第3部に出てくる、「しげちー」のスタンドの名前です。
設計したソフトの仕組みが、「リンク構造をたどって、根こそぎファイルをダウンロードしつつ、片っ端から検索をかけていく」というもので、このソフトの挙動が「しげちー」のスタンド「ハーベスト」にそっくりだったというのが理由です。
でもまあ、この「ハーベスト」の存在を知らない人の方が、世の中では圧倒的多数のはずなので、同じような行動を取る「蜂」に名称が変更されました。現在の名前の「Bee」は、こういった経緯でつきました。
しかし、「ハーベスト」も気に入っていたりします。なので、内輪では「ハーベスト」名義で呼ぶこともあります。
2002年の5月、自分で会社を作った直後ぐらいに、自社向けに作ったソフトたちのリリース順番に頭を悩ませていました。5月の時点で、数本のプロトタイプが出来あがっていたのです。
ここで驚くべき事実が発覚しました。Microsoftが「WindowsにJAVAを乗せない」とか言っている真っ最中なのにも関わらず、JAVA製のソフトが多いのです。圧倒的に……。これはある意味、血反吐を吐きそうな展開です。
JAVAで作ったゲーム用のエンジンなど、JAVAが入っていないパソコンではまったく動かないのです。何とか、JAVAをインストールさせなければ! そんなことを考えていた時期と前後して、JAVAの1.4がリリースされました。
「……あれ? 正規表現がサポートされている」
それから数日悩んだ結果、「うん、JAVAで行こう!」という決断が下されました。かなり愚かな気もします。
最初に販売するソフトは、汎用性があるソフトの方がよいだろうということで、BeeをJAVAで作ってリリースすることにしたのです。開発は6月の頭から入りました。それから数ヶ月、JAVAな日々が続いています。
さて、少しJAVAについて。
個人的にはJAVAはC++より美しいので好きです。いや、MFC/C++より圧倒的に美しいと言うべきでしょうか。MFC/C++の環境は、はっきり言ってクラクラ来ます。そういうわけで、開発言語はJAVAになりました。
私はだいぶ「JAVA万歳!」な人なので、それはそれでアリかと思います。
私がソフトを作る場合に、たいてい行い、かつ気合を入れてやることは、「何でやねん!」と思わず突っ込みたくなるような仕様を入れることです。
今回のそういった「何でやねん!」の部分は、「JAVA インストール・ナビ」という、「JAVAの実行環境のダウンロードをサポートする」ソフトです。
VBScriptというMicrosoftの技術を使って、そのケンカ相手のSun MicrosystemsのJAVAをダウンロードするのです。麗しくも素晴らしきタッグです。
Microsoftが頑張って、SunをWindowsに呼び寄せるのです!
個人的に楽しい図式というだけなので、共感できる人だけ共感して下さい。そういうネタですので。
機能に関して、欲しい機能をどんどん仕様書に書き込んでいったら、えらい重量級のソフトになってしまいました。ソースコードで1.4MBぐらいです。「めもりーくりーなー」が700KBぐらいなので、それよりも大きなソフトを一気に作ってしまったわけです。でもまあ、1.3MBぐらいのソースコードの未公開ソフトもあるので、まだ見たことのないソース量というわけではありません。
あれもこれも入った、欲張りなソフトになっているなと思います。個人的欲求で、さらに機能が追加されていくと思います。日常的に使用するソフトですので。
こんなソフトですが、会社を回していけるように、皆さんに気に入っていただければなあと思います。まあ、大道芸に対する投げ銭のような気持ちで、このパフォーマンスに賛同していただければと思います。切実ですねえ(^^;