FileMakerからベータ版のソフトウェア「Bento」の配布が開始された。なんとMac OS X専用アプリケーションであり、なおかつLeopard以降でなければ動かない。
ダウンロードしてテストし、評価がきわめて難しい種類のアプリケーションであることが分かった。こんなソフトは見たことも聞いたこともないからだ。世間様の反応を見ていると「新たに個人用(の安い)データベースが登場した」の一言で片付けられている例があるが、そんな陳腐な言葉で片付けていいような存在ではない、と思うのだ。
Bentoの機能を簡単に述べれば……他のアプリケーションからデータを書き出して、Keynoteのような見た目のよいプリセットのレイアウトでフィールドを表示、検索、印刷などを行おうというものだ。とくに、アドレスブックやiCalのイベントやらタスクについてはいちいちエクスポート→インポート作業を行わずに直接読み込むことが可能のようだ(書き換えまでは分からない)。やろうと思えばiTunesのデータも直接読んだりできることだろう。
本来、これはLonghornと呼ばれていた頃の世界観を持つ、「本来あるはずだったWindows VISTA」の世界で登場することが予測されていたタイプのアプリケーションではないか? すべてのアプリケーションがデータをXMLで保存するようになり、アプリケーション間の通信を行わなくても、データ同士を参照したりアップデートできるタイプの「アプリケーション間の串刺しデータ処理ができる」タイプのアプリケーションだ。
ここで一度視点を変え、データベースとアプリケーションの関係について考察してみよう。
データベースという種類のアプリケーションには、たいがいにおいて表示のための機能が乏しい。表示機能そのものがない場合だってある。ただ、ユーザーとやりとりを行う「ユーザーインタフェース」が欠けているままでは、使い勝手がよろしくない。
一方、アプリケーション。それぞれの作業に適したユーザーインタフェースが考案され、実装されていくなかでデスクトップ・アプリケーションの多様性が充実していった。表計算ソフトのインタフェースとDTPソフトのインタフェースは似ても似つかないものだが、データ処理という観点に立てば、行っていることにそれほど違いがあるわけではない。
つまり、アプリケーションの中身はデータベースそのものである。データベースとしての「汎用性」を持つものが「データベース」と呼ばれ、汎用性を持たないものが「データベース」と呼ばれない、というと分かりやすいだろうか。とくに、昨今のMac OS X用アプリケーションではSQLiteを利用しているものが多々あり、データベースという言葉がかつてないほど存在感を増しているようにも見える。
データを表示し、作成し、検索するという作業は、つきつめればデータベースという世界観ですべて包含することが可能なものだ。そのため、少々の味気なさに目をつぶれば「データベースが他のアプリケーションの模倣をする」ことは十分に可能であるし、データベース的な世界観で他のアプリケーションのデータを統合するといったことも可能だ。
その、「データベース的な世界観で他のアプリケーションのデータを統合」した姿をBentoに垣間見ることができる。
たとえば、iCalのスケジュールがあったとして、そこから午後1時に開催されるものだけを抽出することは難しい。自分ならAppleScriptでコマンドを書いてデータ抽出を行うが、一般ユーザーにそれをさせるのはきわめて困難である。そのために自然言語で「午後1時開催のスケジュールを表示」といった命令を行わせるプログラム……人工知能インタフェース「Newt On」などという構想を提示してみたわけだが、これとて万能ではない。そのツールが何をできるのかが曖昧すぎて、想像力に欠けるユーザーにとっては「なんだか分からない」ものになってしまうからだ。
さまざまなアプリケーションが抱えるデータを統合して処理するような方向でNewt Onを考えてきたが、それをデータベース的な世界観で実装したのがBentoだ、ともいえる。
なんて嫌なアプリケーションなんだろう。
人がやろうとしていることを先回りされた気がするが……Bentoの登場は、複数のアプリケーションのデータを統合して使うような「メタ・アプリケーション」的な世界観が間違っていないという裏付けでもある。
……と、ここまでその価値が分かっていながら「評価が難しい」と冒頭で言っているのは、Bentoが「見せる」ことのみに重きを置いているからだ。
エンドユーザーには十分に使い物になるアプリケーションだと思うし、かなり支持されると思うが、現時点ではデータの共有という手段を提供していない(ように見える)。個人のツールにはなるものの、グループで作業を行うためのメカニズムがないのは失点に値する。
また、さまざまなアプリケーションのデータをデータベース上に展開できる割には、それらを統合するためのリレーション機能や自動処理のためのスクリプトといった機能は見当たらない。リレーションについては限定的なものが実装されているようだが、それほど自由度がないように見える。
結局のところ、Bentoが目標としているのは各アプリケーションが内部に囲っているデータを、データベース的な世界観の枠の中で再構成して「見せる」ということのようだ。その名前で正式リリースされるのかどうかは不明だが、弁当箱のようにさまざまな料理をならべて「見せる」といったところなのだろう。
ただ、このBentoはスクリプタブルなので……Bentoをコントロールすることでより進んだ「何か」を表現できることになることだろう。ちなみに、Bentoのスクリプト用語辞書を見ていたら「Gluon Scripting」という言葉を見かけた。スクリプト命令のDB関連グループの名称なのだが……これが何を意味しているのか、元のアプリケーション名称なのか、など……不明ではあるのだが興味はつきない。
【後日談】
ちょっと熱くなりすぎたので、冷静に状況を整理すると……もっと他のアプリやシステムの情報をDB上に直接インポートできるようになって、おのおののテーブル間で柔軟にリレーションが行えるようになったら自分が期待するような「システム縦横無尽の串刺しアクセス化け物アプリケーション」になるだろう。
だが、FileMakerの「下」をねらって、ただインポートしてきれいに表示/検索/印刷ができますよ、という方向に進むとしたら期待外れ路線に進んでしまうことだろう。Leopardならではのアニメーションを生かしたらそれなりのポジションを確保するかもしれないが、その程度でしかない。