2008年12月26日

辞書機能

dict.jpg
 アマテルの次の目標は辞書機能。辞書は本のようなものだから、このようなデータは階層ツリーで管理するのが理想的。章があり段落があり、というような構造だから。
 アマテルに組み込む辞書は、占星術機能と連動してナンボなので、ホロスコープのシンボルやアスペクト線をクリックすると、該当ページが表示されるようにしたい。複数該当する場合は、それを列挙して選択できるようにもしたい。
 がしかし、アマテルは様々な占術メソッドに対応していくつもりなので、基本ホロスコープの辞書だけがあれば良いわけにはいかず、様々なメソッドに対応できる汎用的な辞書を用意したい。汎用化するには、占術メソッドを実現するプラグインと、辞書の間に一定のプロトコルを決めて、それを定義ファイルに宣言することで、辞書はその宣言に従い自身をカスタマイズする機能が必要になる。
 また作成した辞書は、ファイルに書きだしインポート/エクスポートする機能も必要。アマテルで辞書を作って、それを公開してユーザ間で共有することもできるし、その辞書を本につけて販売することもできる。占い教室でもその教室固有の辞書は必要なはずだ。

 このような複雑なデータ構造を扱う場合、SQLを使ったテーブル型のデータベースよりは、XMLのほうが有利だったりする。そんなわけでXMLを勉強しながら、色々実験をくり返しながら制作している。

 アプリケーションとしてみたときは辞書エディタで、そんなに複雑なものには見えないのだけど、やってみると案外めんどくさかったりする。登録機能を付ければ、とうぜん削除機能もいる。内容を更新する機能もいれば、リネームも必要だし、コピーや移動や検索や・・・というように、最低限必要な機能だけでけっこうな数になり、それだけ作業量が増える。
 一番難しいのは、先にあげた操作をどのようなGUIで提供するか、そのデザインと遷移をどのようにするかを考える事だったりする。GUIというのはほんとめんどさい。精密な機械部品を組み立てるような作業で、後から仕様変更があってもそう簡単に変更することができない。実験感覚で気軽に作るということができない。実は制作のほとんどが、これの時間で食われてしまう。だが最初からすべて頭の中で完全な設計を行い実装する、なんて芸当は実はできなかったりする。
そういうことが可能なのは、二番煎じ、三番煎じの制作の場合で、すでにひな形となる製品がある場合に限られる。

 結局は作っては壊し、作っては壊しの繰り返しをへて、やっとこさ形ができてくる。設計図は、実はその後からできるものというのが実状だったりする。辞書を作り始めてひと月ほどは、そういった実験作業ばかりだった。まぁ、だいたい基本的な仕様は固まってきたので、これから作り込んでいく作業にとりかかる。
posted by おーさわ at 06:13| Comment(0) | アマテル開発日誌
この記事へのコメント