ネットワーク型のメモソフト - EBt

ちょっと前にユーザーさんから教えて頂いたEBtというソフトウェアを試してみたのですが(#208)、このソフトウェアのコンセプトはPiggydbにとても似ています。いままでPiggydbに似たものとして、WikiとかEvernoteなどを紹介したり、されたりしてきたのですが、このEBtこそがPiggydbと同じようなソフトウェアとして紹介できる初めてのものではないかと思いました。しかもEBtは結構歴史が長いようなので、Piggydbにとっては先輩にあたるソフトウェアです。
EBtのコンセプトはPiggydbよりも遥かにシンプルです。あるのは情報の単位となる「メモ」とそれらをつなぐ「リンク」だけです。はっきり言って、手軽なネットワーク型メモツールが必要なのであれば、Piggydbよりも、このEBtの方が遥かに軽くて使いやすくてオススメです。元々はZaurusというPDA向けに開発されていたということで、モバイル上のアイデアプロセッサとしても最適なソフトウェアだと思います。
情報の構造がネットワーク型になるのはPiggydbと同じですが、EBtのリンクは双方向のつながりであるところがPiggydbと異なる点です。双方向リンクのメリットとして、リンクを辿って進むのも戻るのも同等の操作になるので、ネットワークの移動操作が一元化できるということがあります。
Piggydbの「つながり」は有方向なので、EBtのリンクと比較すると、+αの意味付けが行われていることになります。そういった意味でも、EBtの方がずっとプリミティブなモデルを採用していることが分かります。さらに、EBtでは情報の分類もリンクで行うようになっています。つまり、メモがタグの役割も兼ねています。
このプリミティブなモデルに意味付けを追加していけば、Piggydbのモデルと同等のものが出来上がるわけです。そういった意味で根を同じくするソフトウェアだと思います。
とても興味深いと思ったのは、EBtの作者の方も私と同様の悩みを抱えておられるようで、既存の情報管理というものはツリー構造というものに支配され過ぎているので、こういった自由なネットワーク構造が果たしてどれほど受け入れられるのか、という部分を気にされているようでした。
ツリー構造は、例えば書籍などがそうですが、情報の構成に制約を追加することによって、ある種の分かりやすさを実現しています。ツリー構造は一次元の構造なので、誰でも順序に従って情報を追いかけることができます。しかし、実際に書いている内容はもっと複雑な構造を持っていることがほとんどなので、書籍の構造に束縛されすぎると内容を正しく理解できない恐れがあるわけです。個人的な経験から言えば、こういった「束縛」は結構馬鹿にできないところがあると感じています。
と、ここではこれ以上深入りするのは避けますが、こういったEBtとPiggydb、あるいはその他の情報管理とのモデルの差異を考えていくのは結構興味深いものがあります。
こういった話題が出たからという訳ではないのですが、実は近々Piggydbのモデルをネタにした裏Piggydb研究サイトをスタートしたいと目論んでいます(もちろんPiggydbを使って)。発想法などに興味がある人にとっては必読の内容になるかもしれない(?)ので、お楽しみに。

ツリービュー、アウトラインビュー

EBtのツリーで、カレントメモを起点として両手が同じメモにつながっている構造を最初に見たとき、「何じゃこりゃ?」とすごく違和感があったのを覚えています。ところがだんだん使い慣れてくると、理屈は抜きにしてメモを探しやすい。メモをたぐっていって自分の見つけたいものが出てくると、検索した方が早かったんじゃないかと思いながらも、自分の頭を使いながら探している感覚が快適でとてもいいです。
Piggydbのフラグメントだと例えば#224#209からつながっていることは見えますが、#209が何とつながっているかはそこまで移動しないと分からない(末端のフラグメントを開いているときはアウトラインビューもツリービューも使えない?)ですよね。
EBtでもその事情は劇的には違わないのですが、常にツリービューでメモ間を動けるのと移動のレスポンスが軽快なのとで、全体を俯瞰したり捜し物をするのに重宝しています。

情報構造のモデルとユーザービリティ

EBtを試してみて、双方向関連の手軽さ強力さには驚かされました。最初の入力のハードルを下げるためには、有方向よりも、双方向の方が良いことは間違いないと思います。
Piggydbとしては、何故、EBtと比較して+αの意味付けがすでに行われているモデルを採用しているのか、きちんと考える必要がありますね。妥当でなければ修正すべきでしょう。
例えば、何故Piggydbではフラグメントタグを分けているのか。EBtは分けていません。こういったことについてきちんと検討していきたいですね。
また、モデルそのものとユーザービリティはある程度切り離して考えることもできます。ネットワークの移動や閲覧について、モデルを修正せずとも改善出来る余地はあると思います。これも検討項目になりますね。

「構造」と「機能」からPiggydbのモデルを分析する

ここ数日、タグについてのとても有意義な議論(#240より)が展開されていて、いろいろと刺激になっています。Piggydbの機能の背後にあるコンセプトやそこから派生するいろいろな考え方などは、研究サイトで検討しようと思っていたことで、こちらに載せるつもりはなかったのですが、せっかく機会を頂いたので、ちょっとログ的に書いておきたいと思います。
(注意)以下には無根拠な妄想が多分に含まれるので、あんまり真剣に読まないように。
以前に私のブログを読んだことがある方ならご存じの方もおられるかもしれませんが、私は、物事について考えるときに、「構造」と「機能」という概念が極めて強力なツールとして機能すると感じています。「構造」と「機能」は人間の認知の根幹を成すもので、人間が何かを認識する際、同じものを見ていても、構造的に捉えるか、機能的に捉えるか、基本はこの二つだけで説明できてしまいます。何故なら、これらの認知は人間の知覚器官に由来する云々、、、(略)
Piggydbはテキストや画像のような静的なデータの集まりを扱うツールなので、これについて分析する際は、「機能」は「意味」と言い換えた方がいいでしょう。
さて、まずこの道具立てを用意したところで、件の議論で比較の対象となっているEBtとPiggydbの違いについて考えてみます。EBtについては認識違いがあるかもしれないことは予めご了承下さい(間違いがあれば訂正します)。
#224でも書いたように、EBtの基本要素はメモとリンクだけです。Piggydbはそれに加えて、リンクに方向があり、タグという仕組みがあります。
「構造」と「意味」の枠組みで考えると、EBtで表現しているのはほぼ「構造」だけです。その構造がどのような「意味」を持つかはすべてユーザーの解釈に委ねられています。例えば、リンクはただつながっている以上の意味はなくて、つながりの意味は何なのか、例えば、従属関係なのか、あるいは修飾の関係なのか、といったようなことは表現されておらず、ユーザーの解釈次第です。以上のような特徴がEBtの柔軟性の高さの理由ではないかと思います。
と、これを書いた後にEBtの仕様を改めて見てみると、リンクにラベルが付けられるようになっているんですね。しかも、ラベルは方向別に付けられるようになっているようです。これは進化の方向としては凄く正しい気がします。というのも、リンクが具体化する過程でタグ的な概念が生じてくるからです。ますます興味深いEBt、、、
Piggydbでは、EBtにおいては暗黙に意識しているような「意味」も表現手段に加えていると解釈できると思います。つながりに方向があるのは、視点を意識しているためです。例えば、A → B と B → A は異なります。Aの視点から見たBとの関係とBの視点から見たAとの関係は異なるからです。つまり、これは「意味」を単位にしているということです。タグも同様です。タグというのは、情報の「意味」を表すために純化して設計された仕組みです。
以上のように、わかりやすさ、柔軟性の高さはEBtの方が優れているわけですが、では、Piggydbには+αの表現力を追加しているとして、それが何の役に立つのかという部分が問題になります。と実はこれが今後の研究課題だったりします。一つ言えるのは、Piggydbはメモやアイデアツールとしてはややオーバースペックなのではないかということです。このことが原因で、件の議論にあるように、タグとつながりに関する混乱が起きてしまうのだと思います。
こうやって考えると、Piggydbはかなりモデリングツールに近いような感じです。ああやはりと言うか、そうなる理由は個人的にはよく分かります。基本的に自分の思考パターンがそうなっているからでしょう。モデリングツールとしての力を十分に発揮できるようにするためには、また別の戦略が必要になるんでしょうね、、、
ひとつここで注意しておきたいのは、以上の議論はあくまでモデルについてだけの話で、アプリケーションの機能自体は別のパラメータとして議論する必要があるということです。だから本当は、上記のように単純な比較はできないのが実際のところです。

EBt作者さんのブログより「EBtの基本概念」

ここ最近Piggydb.jp上で熱いEBtですが、大変光栄なことに、作者のおかださんがPiggydbに言及して下さり、EBtについて大変興味深い記事を書かれています。
EBtが参考にしたというBTRON、名前だけは聞いたことがありましたけど、そういうものだったんですね。これは調査せねば。EBtもユーザーさんにご紹介頂いたので、こうやって知識が広がっていくのかと思うと感慨深いですね。
さて、せっかくEBtの経緯をご紹介頂いたので、Piggydbについても軽く紹介してみることにします。
Piggydbは元々、EBtほど明確な問題意識があって生み出されたものではないのですが、私がオブジェクト指向言語でプログラミングをしてきたこと、そしてWikiというWebアプリケーションに慣れ親しんできたことがアイデアの源泉にあることは間違いないと思います。
オブジェクト指向言語と言っても、JavaやC++なので、正確には「クラス指向」と呼べるものです。ネットワーク構造はオブジェクトのトポロジー、タグはそのままクラスに対応しています。もし私がSmalltalkのような純粋のオブジェクト指向言語に慣れ親しんでいたら、あるいは、EBtのようなものを作ったのかもしれません。
そのオブジェクト指向のモデルをWikiと融合したものがPiggydbの背後にあるのではないか、これは後付けの理由ですけれど、そのように考えています。
EBtの場合、オブジェクト指向と言っても、プロトタイプベースと呼ばれる、クラスのないモデルに近いような感じがします。オブジェクト指向をとことん純化すると、クラスという仕組みでさえオブジェクトで表現できるので、本当にオブジェクトだけの世界を構築できます。これはEBtの「メモ+リンクだけ」というシンプルさに通じるところがあります。EBtでもその気になればクラス(タグ)を実現できますし。
しかし、オブジェクトだけの世界だとしても、結局クラスのような仕組みは必要になる。それがプログラミング言語の世界でした。何故かと言えば、同じようなオブジェクトを共通化して表現をコンパクトにする必要があったからです。これは知識の世界で言えば、概念を発見して語彙を増やすということです。具体的な情報がぞろぞろと並んでいる状態から何かを掴んでそれを表現する手段があれば、それをボトムアップに構築できれば、面白いものが出来上がるのではないか、それが後付けで今のところのPiggydbのテーマです。
EBtについて興味深いなと思うのは、やはり「双方向リンク」です。おかださんの記事を丹念に読んでいくと、この「方向」というのは、モデルに含まれるものではなくて、情報を追いかけるときの方向なのかなと思いました。つまり、これはナビゲーションの問題で、私が考える「方向」とはレイヤーが違うような感じがします。そう考えると、EBtのモデルとしてはラベルを使用しない限り、リンクは「無方向」で、単純にネットワークというトポロジーだけがあると。そう考えると、私の言葉で言えば「構造」だけがある、ということになるのかなと思いました。そしてその解釈はアプリケーションの機能やユーザーの頭の中に表現されている。
その他、「リンクの方向に縛られて、思考が阻害される」というのは、なるほどと思いました。確かにPiggydbにおいては、つながりを作るときに「この方向で良いかな?」と一瞬考えてしまうことがあります。これはネットワークのノードが、テキストのように内容が曖昧なものになると、特に問題になるような気がします。文章としての上下関係は迷いませんが、比較的対等な横つながりの関係では煩わしい問題になりそうです。これは改善のきっかけとなりそうな良いヒントを頂きました。
以上、思いつくままだらだらと書いてみました。EBtブログの続きが楽しみです。