題名:Java Diary-46章

五郎の入り口に戻る

日付:2004/2/18

目次に戻る


GLBrowser-Part7(VerX)

申し込み後にもう一度社内で披露する機会があった。これはいくつかの点で有益だった。有益なコメントがもらえたし、人に向かって説明する練習にもなった。(いざ人を前にすると自分が頭の中で想像しているよりも6割減の流ちょうさでしかしゃべれないものなのだ)さらには自分一人で使っている間は

「まあいいか」

と見過ごしている傷でも人に説明をするとやたらと気にかかるようになることである。つまり発表2週間前にして機能拡張よりはバグをつぶし、問題点を解消するフェーズにはいったのである。

次の週末は3連休。このころやたらと自分の自由時間を食いつぶされる状況にあったのだが、それでもなんとか時間を作る。というか人間自分がやる気になっていることだとどうにかこうにかしてしまえる場合もある。(もちろんそんな「甘っちょろいこと」を言っていられない場合もある)

まず機能拡張其の一、オートクルーズモードを追加する。早い話が何も操作しなくても勝手に適当に言葉を選び検索していく、という機能である。疲れているときは言葉を選ぶのもおっくうなときがある。実装してみると結構簡単にできる。最初の言葉として何を選ぶかだが「最初の言葉はなんでもいい」という初期の実験結果に基づき二桁の数字をランダムに発生させることとした。またまた機能試験と称しあれこれやってみると時々面白い数字にでくわす。たとえば75という数字はそこから昔懐かしの「Gメン75」というドラマ、ありとあらゆる「75周年記念行事」なぜか「カナダ」さらには「ローバー」という自動車会社を生み出すのである。どちらのノードをつついてもなんとなく面白い結果がでてくる。

さて、このオートクルーズモードを作ってる最中にあることを思いついた。WISSのデモ申し込み要領には

「会場では最悪LANがつながらない場合も想定してデモを準備してください」

と但し書きがついていたのである。検索エンジン頼りの今回のシステムにとってインターネット接続ができなくてはなんともならない。しかしもしGoogleから帰ってきた検索結果をローカルに保存しておき、かつ同じパターンで乱数を発生=同じ順番で言葉を選ぶことができれば、インターネット接続なしでも、自動運転のデモが可能になる、ということではないか?

実はそれまで

「最悪の場合を想定して、画面が動いている様子をムービーにキャプチャしておこう。どうしても外とつながらなかったらそれをエンドレスで上映するしかない」

と思い、動画をキャプチャできるソフトを調査し、出発直前(つまりソフトの完成度が一番あがったとおぼしき時点)に動画を記録しようと思っていたのである。しかしそれよりはこちらの「検索結果をかたっぱしから記録しておき、その通り再生させる」ほうが良さそうだ。

さてその際「決まった順序で言葉を選ばせる」ためには、決まった順序で「乱数」が発生されなくては困る。之も実は簡単で乱数を発生させる際、最初に与える値を固定しておけば良い。次には

「どんな数字を起点として、どんな数字を元とした乱数で動かせば”面白い”結果が得られるか」

ということを試行錯誤で設定する。こればっかりは乱数の神様頼みだから、とにかくやってみるしかない。このころにはデモ用としていつも使っている12inch PowerBookの他に15inch Powerbookを会社でレンタルしていた。でもってその15inchの試験もかねて会社で「元とする数」を変更し試行錯誤を繰り返す。そのうち「これならなんとか」という値が見つかるとこんどはそれでしばらく自動運転させる。1時間半も動かしただろうか。そろそろよかろうと、プログラムを止める。データは多い方がいいのだろうが、あまり多すぎて問題が生じてもいやだ。残り時間が少なくなってくるととにかく腰が引け

「壊れてないなら直すなよ」

モードにはいる。

とかなんとかいいながら、休み中にもう一点、外観を変更した。それまではGLBrowserの裏画面といった趣で、HTMLが表示されていたエリアにグラフィックを表示していたのである。結果としてGLBrowserの特徴である検索結果リストはそのまま。最初はここに検索結果を表示し、クリックしたら指定されたページに飛ぼうかなどと考えていたのだが、作っているうち「そんなものはなくてもいいのではないか」と思いだす。

これは今回作ったブラウザの主要なコンセプトの一つになったのだが、

「今までのブラウザは、結局Webページを開いている。しかしWebページを開かないブラウズもあるのではないか」

という考えが頭の中で固まりだしたのである。

後から人に話すときはあたかも「私はかくの通り立派なポリシーをうち立てシステム開発にいそしんだのであります」といいたいところだが、今回はそうはいかない。とにかく自分が何を作っているのか当初よりは明確になったといえ、まだぼんやりしているところなのだ。作って使いながらぼりぼり考える。などと根拠は薄弱なのだが、とにかくポリシーらしきものがでてきたからにはそれを守ってみよう。というわけで表示された文字列に関連するURLに直接ジャンプする機能は最後までつけなかった。つけようと思えば30分で可能です、というのが頭の中で用意した言い訳だった。

さて、そうと割り切ってしまえばリストの部分はじゃまであり、貴重な表示エリアを消費している存在である。というわけであっさり隠すことにしてしまった。すると画面はとてもシンプルになる。画面の左上に小さな文字を入力するまど。上下に少しボタンがあるだけであとは一面グラフィック表示エリアだ。CoolなWashed Metal(Mac OS X 特有の金属状の表示)とあいまってなんだかとってもかっこよく見える。私はしばし一人でご機嫌になる。

つけくわえた機能はあと二つ。せっかく人前でデモをするのだから12インチの小さな画面だけでやるのはおしい。ここは一発15インチPower Bookをレンタルしようではないか、と思い切りいきなり借りてしまった。届いてみるとさすがにでかい。さあ、この上で動かしてみたらどんなに生えるだろうか。画像表示エリアは右の1/3と限定しているから、大きな画像はちょん切られてなんだかわからないようにしか表示されない。しかし15インチの広大な表示エリアを使えばそんな問題ともおさらばだ。Mac OS 10.3をインストールし(こういうこともあろうかと5台までインストール可能なファミリーパックを購入していたのである)Xcodeをインストールし。うむ。新機種はOSのインストールもなんだか早くできるような気がする。ネットワークの接続をするとさて試験運転である。

その5分後、私は「誰も観ていなかっただろうな」と当たりを見回しながら15インチパワーブックのふたを閉める。なぜそんなことをしたかと言えば、期待とは裏腹に広い画面にちまちま表示された文字がとてもなさけなく、写真もさしてきれいにみえなかったからである。平たく言えばだだっぴろい画面になんだか小さななのがころころ表示されるだけでちっともかっこよく無かったのだ。

ううむ。これはどうしたことだ。せっかく高い金出してレンタルしたというのに。こっそりふたを開け、設定をいろいろ調べる。15インチの広い画面を低い解像度で使うことはできないか。できれば12インチ相当の。そうすればあの間の抜けただだ広い空間を観て頭をかかえることもないはずなのだ。すると確かに低解像度で使えるオプションというのがある。しかしやってみると画面全体がなんだかぼやけた感じになる。ふえーん。せっかく高い金出して借りたのに。

家に帰るとあの悪夢のような印象を頭から振り払いプログラムを改造する。フォントの大きさを自由に変更できるようにしたのだ。文字を大きくすれば少しは状況が改善されるかもしれない。さらに前からつけようとおもいつつさぼっていた機能も追加する。「風紀上好ましからざるサイト」をフィルタする機能だ。あれこれ使っていると思わぬキーワードで困った画像が表示され腰を抜かす。私の名字、「大坪」で検索をかけると「大坪千夏」とかいうアナウンサーがヒットする。でもってアナウンサーを起点に検索をかけていき、「女子+アナウンサー」で検索した途端、露出した女性の胸部が現れるのである。これは困る。何が困るといって、スクリーンセーバーが困る。どういうことかと言うと、このプログラムを使うとハードディスク上にわらわらと画像ファイルがたまっていく。でもってスクリーンセーバーをそうした画像をランダムに表示するモードにしていたのだが、そこに困った画像が表示されるのは全く好ましくないのである。(会社にあるマシンだったらなおさらだ)

というわけでフィルタをつけたのだが、効果はほとんど無かった。どうやらかなり限られた範囲のサイトをブロックしてくれるだけらしい。

しかしもう一つの機能、フォントのサイズ設定のほうはうまく動いてくれた。心持ち文字を大きくして表示すれば15インチの方でもそれなりにちゃんと見える。これなら人様に見せることができるかもしれない。

人様に見せる?そう見せるのだ。見せなくてはいけないのだ。自分で望んだ事とはいえなんだこの恐怖は。

前の章 | 次の章


注釈