僕は、だいぶ昔(20世紀(苦笑))からデジタル文書とその処理に関わってきました。ここで言う“デジタル文書”とは、人間可読な情報を保存・蓄積・伝達・共有するためのデジタル・リソースといった意味です。
デジタル文書は、デジタル以前の伝統的・古典的な文書の構造を割と踏襲した形態で存在していたのですが、もう少し広い範囲のデジタル・リソースを“文書”として扱わないといけない気がしています。
内容:
きっかけ:Google jamboard
Google jamboard のサービスが2024年10月1日で終了します。けっこう便利に使っていた jamboard は、単純なサービスで、ホワイトボードというよりむしろ、誰が何を書いて(描いて)もよい白紙が20枚ひと綴りになった共有自由帳という感じです。
代わりを探してみたのですが、代替候補のサービスはどれも多機能・高機能で、素朴なホワイトボードや自由帳のメタファーからは逸脱したスーパーアプリケーションという感じです。
これらのホワイトボード型(?)ツールと、個人・集団の知識管理・生産性向上・協働環境を提供するサービス/アプリケーションである Notion や Roam Research 等との境界線はもはや曖昧になっている印象です。
今となっては、Google jamboard のような単純・素朴なツールがむしろ見当たらないようです。
Obsidianキャンバス
広い括りで言えば、前節で言及したサービス/アプリケーションの仲間と言える Obsidian というソフトウェアがあります。Obsidian は、個人向けでローカルで動作するデスクトップ・アプリケーションです。
Obsidian は、ホワイトボード的な機能も持っています -- Obsidianキャンバスです。下の画像は、obsidian フォーラム*1にあったキャンバス〈canvas〉の画面キャプチャです。
ホワイトボードとは限らない板〈ボード〉や壁に、大きめの付箋をペタペタ貼り付けていく感じで使います。付箋に対応するパーツを Obsidian ではカードと呼びます。キャンバスには、カード以外も貼り付けられますが、今はカードだけを考えましょう。カードをノードとみなして、有向グラフのエッジ〈辺〉を追加することも出来ますし、カードのグルーピングも出来ます。
エッジやグルーピングを使うと、見た目はかっこいいのですが、作業はめんどくさい。モノグサ者(例えば僕)は、明示的なリンク(エッジ)の追加やグルーピングはせずに、カードの位置を動かすだけで済ませてしまいます。人に見せない個人メモ書き(むしろメモ描き)なら、それでもいいんじゃないのかな。
キャンバスは立派な文書
Obsidianキャンバスがファイルシステムに保存されると、それはひとつのJSONファイルになります。そのJSONファイルの仕様は公開されています。
- Announcing JSON Canvas: an open file format for infinite canvas data
- JSON Canvas Spec Version 1.0 — 2024-03-11
キャンバスに配置されるノードは、x, y, width, height
という2次元の幾何的情報を持っています。これらの幾何的情報は、モノグサ者の意図を反映します。つまり、近くにあるカードは何か関連がある、とかですね。
このような仕様が公開され標準化が進めば、各種のホワイトボード型ツール達が保持する情報を、アプリケーションの垣根を超えて交換・共有できるようになるかも知れません。
ノードの配置として2次元平面(ひょっっとすると3次元空間も*2)の幾何的情報を持つデータを、Obsidian の用語を拝借してキャンバス文書〈canvas document〉と呼ぶことにしましょう。冒頭で言ったデジタル文書の定義「人間可読な情報を保存・蓄積・伝達・共有するためのデジタル・リソース」に照らし合わせると、キャンバス文書は実際“文書”と呼ぶにアタイするでしょう。キャンバス文書は今後増えるだろうし、従来型の(幾何的情報は持たない)文書と混じり合うことになるでしょう。
キャンバス文書には、従来型の文書処理ではうまくいかない側面もあります。例えば、ある語句(文字列)を全文検索して、出現順にリストするという処理を考えてみます。従来のデジタル文書は、意味のあるシリアライズが出来るので、自然な出現順があります。最初の出現(初出)を特定できたりもします。
広大なキャンバス上にカードが配置されている文書、明示的なリンクもない文書だと、意味のあるシリアライズは困難です。そのキャンバス文書の作成者も、ノードの順番なんて意識してないかも知れません。むしろ、ノードの順番なんて意識しなくていいことがキャンバス文書のいいところだと言えるでしょう。
ツリー構造から幾何グラフへ
従来型のデジタル文書は、デジタル以前の伝統に割と則〈のっと〉っていました。紙の書籍も電子書籍も似たような構造を持ちます。表紙(のようなもの)があり、タイトルや著者が書いてあり、目次の後に本文があり、本文は章・節などに組織化・編成されています。
章・節などの階層はツリー構造です。ツリーには、深さ優先探索のツリー・トラバーサルから全順序〈トータル順序〉が決まります。しかも、その全順序はプレーンテキストとみなしての文字の1次元配列順序と一致します。全文検索の出現箇所を自然に並べることができるのは、この全順序があるからです。
Webページでは、ハイパーリンクがあるので相互関連の構造を持ちますが、インターネット全体として大域的な全順序があるわけではありません。が、個々のWebページ(HTML文書)はツリー構造/シリアライズ方法を持っていました。キャンバス文書では、ひとつの文書内でも全順序化は難しく、ハイパーリンクに相当するエッジさえ持たないかも知れません。代わりに、ノードの幾何的情報(x, y, width, height
)があります。
ツリー構造もグラフの特殊なものなので、従来から文書の構造はグラフにより表現されてきたと言えます。しかし、グラフの組み合わせ構造を使っているだけで、ノードやエッジが2次元空間や3次元空間に埋め込まれているとは想定していませんでした*3。
頂点集合 $`V`$ と辺〈エッジ〉集合 $`E`$ を持つ組み合わせグラフ $`G = (V, E, \mathrm{src}, \mathrm{trg})`$ に対して、適当な次元のユークリッド空間への埋め込み(幾何的実現)も一緒に考えたものを幾何グラフ〈geometric graph〉と呼びます。
従来型文書と共にキャンバス文書も扱うとなると、組み合わせグラフ(特にツリー)によるモデルだけでなく幾何グラフによるモデルも考える必要があります。距離や角度が使えるようになり、クラスタの識別や局所的な順序関係の導入などが課題となりそうです。
Obsidianキャンバスのカードには、テキストを書く場合が多いので、完全に幾何的・図形的な話になるわけではありません。外枠がテキストで、そこに図形(例えば画像)が入り込むスタイルの文書は従来からよくありました。外枠が図形(幾何グラフ)で、ノードにテキストが書いてあるスタイルの文書が台頭してきた、というわけです。外枠が図形の場合もあり得るハイブリッド文書が、これからのデジタル文書となるのでしょう。
*1:https://forum.obsidian.md/t/anyone-want-to-share-showcase-their-canvas-creations/49979
*2:完全な3次元空間でなくても、重なったカードにzオーダーを持たせれば、「2次元+奥行き」を使った表現になります。
*3:レンダリング処理した結果として2次元のレイアウトが得られることは話が別です。