このブログは更新を終了しました。移転先はこちらです。

2022-06-02

ツール製作日誌:カード式アウトライナー②背景説明編

 自作の「カード式アウトライナー」についての製作動機・思想説明編。ツール自体についてはツール製作日誌:カード式アウトライナー①機能説明編をどうぞ。


 前回の記事で画面上の要素にひとつひとつ言及したが、肝心なのは「分類と日時で機械的にツリー構造にしたリスト」と「(プロセス型の)アウトライナー機能を含むカード」の二つで成り立っていることである。Evernoteの本文部分がアウトライナーになっているようなものかもしれない。


 これは全体としてはTak.氏の言うプロセス型アウトライナーでもプロダクト型アウトライナーでもない何かであり、そのどちらにもうまく馴染まなかった私が本当に欲していた形式がおそらくこれである。(参照:【基礎講座3】プロセス型アウトライナー|Tak. (Word Piece)|note


 Dynalistを使っていても、あるいはScrapboxを使っていても、結局「混ざってほしくない」ということから「分別」というものが発生して、形式的に分けられたツリーやタグが生まれることになった。混ざってても検索すれば取り出せるじゃんという「合理的な考え方」は「混ざってほしくないという気分」に対しては何の薬にもならないので、「混ざらない」ということが自然に成り立つツールを考える方が結果的に合理的な解決策になったようである。

 そもそも混ざるとか混ざらないとかいうことを考えることになるのは、内容がある程度以上に雑多だからであろう。つまり、アウトラインというものの主目的である「文章を書く」こと以外の情報が多く含まれている状態である。アウトライナーやScrapboxがあらゆる情報に対して威力を発揮するがゆえに、何でも混ざることになる。そうして目的を異にするものが混ざり始めると、積極的にそれらの同居を認めない限り、分類を作って区分したくなるものだろうと思う。

 なお、この「カード式アウトライナー」では、本になるくらいの長い文章を書くために使うことは想定していない。ブログ記事程度なら支障なく書けるが(実際にこの中で書いている)、カードボックス内ではカードは作成日時順に並んでしまうし、章立ての順番を組み替えながら考えるという用途にはあまり向いていない。リンク機能はあるので章立て検討用のカードを作って考えることは可能だが、わざわざこれでやらなくてもという感は否めない。普通に、既存のアウトライナーを使えば良いと思うし、これ以上規模の大きい文章を書く際にはそうするだろうと思う。


 切り口を改めつつ整理すると、まず自分がアウトライナーを使おうとする時には大きく分けて二つの目的、つまり「あらゆる情報を保存し、把握する」と「文章を組み立て、実際に書く」とがある。(タスク管理には元々あまりアウトライナーを活用していないので今回は言及しない。)

 前者についてアウトライナーを使いたくなる理由は、「ツリー状に整理し、一覧できる」というところにある。それは表示の問題なので、必ずしもその構造の全てを手動で作る必要はない。更に、構造が複雑化してくると「どこに配置すべきか」という「位置」を探すのが億劫になるので、だんだんアウトライナーで継続するのが苦しくなってくる場合が多い。一方Scrapboxはその「位置を探す」という手間を一切なくすことに成功しているが、もし「分類」をしたいとなったら逆にやりにくい。分類しない状態で機能するように作られているツールなのだから(すごいことだ)、それはある種当たり前である。

 後者についてアウトライナーを使いたくなる理由は、章立てやパラグラフなどを、自由に組み替えて考えられるからである。いわゆる「分類」はほぼ必要がない。内容をまとめてブロックにしたり、そのブロックを解体して作り直したりということをしたいのであって、構造はそれほど複雑化しない。新たに何かを書き込むという時、それを配置し得る場所はそんなに広範囲にはならず、「探すのに苦労する」ということはまず起こらない。大抵の場合、「ここ」に書きたいという思いがあってそこに書くのである。


 こうしてみると、前者と後者では必要としている要素が全く異なることがわかる。

 前者はそもそも「ツリー」にしたいのであって「アウトライン」ではないかもしれない。しかし「ツリーを作れるツール」として身近で簡便なのが現状アウトライナーなので、ツールを選ぶ際にはアウトライナーが第一の候補になる。ただ、ツリー構造を作るのは簡単だが、それを維持・成長させることにアウトライナーが向いているとは限らない。枝葉の先ひとつひとつを自力で見回ってケアすることになってしまうからだ。

 後者についてはアウトライナーが文句なく適任である。なにしろそのためのツールなのである。

 つまるところ、私としてはこの前者の用途専用のツールと、後者の用途専用のツールがそれぞれあってほしかったのだ。後者については既存のアウトライナーが既に十分な機能を備えており、新たに開発する必要は感じていない。問題は前者であり、それはプロセス型にしろプロダクト型にしろ既存のアウトライナーの延長で考えていても多分納得できる日は来なかっただろうと思う。他方、EvernoteやObsidianなどのツールだと一覧部分の自由度が足りず、見た目もあまり自分好みではなく、自分にとって理想的な表示にならない。今回、自分なりに「正解」のひとつを具現化できたかもしれないという気がしている。

 情報を書き入れる場所は常に「画面の右半分」という一箇所であり、カードの「位置」というのは「どの箱に入れるか」を分類で選択して決めるのであって、置かれる場所を探しに行く必要はない。分類でツリーが構築されるのはObsidianでのタグ機能と似ているが、より「箱に入れている」というイメージを強化し、また自分に必要な情報を付けたり、表示条件を細かくしたり、アウトラインの中身をその場で確認できるようにしたりといった工夫を加えることで、だいぶ違った使用感になっている。


 今回の主題からは外れるが、自作ツールのメリットとして、必要な機能は自分で作って搭載してしまえばいいというのは大きい。基本にある発想がアウトライナーだとしても、全然アウトライナー的でない機能を組み込んでも構わないわけである。

 プラグインという形でカスタマイズができるようになっているツールは様々あるが、プログラマーでない身でそれを実践するのはちょっと容易でない。スキルがあればObsidianやVSCodeなどをカスタマイズして自在に理想の環境を作れるのかもしれないが、自分で作る以前に誰かが作ったプラグインの挙動を理解するのも覚束ない有り様である。イチから自分で素朴に作っていれば、変なところに変な機能を入れてもいいし、自分の手に負えるコードしかそこにはないので、カスタマイズの難易度も下がる。

 ちまちまと進化させて、そのうち自分の脳にぴったりと馴染んだ唯一無二のツールを作れたら良いなと思う。