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

2022-12-10

アウトライナーを前にしてやりたくなること

 アウトライナーと呼ばれる種類のツールを常用している。具体的には、アウトライナーそのものであるDynalistや、アウトライン操作を含む情報整理ツールであるScrapbox、あるいは自分で作っているデジタルノートツールのアウトライナー機能。自作のデジタルノート(JavaScript製)は基本的に全てアウトライナーを備えるようにしている。

 アウトライナー機能を使う時に自分は何をしたいと感じているのか、一度整理しておきたいと思う。

(※2022/12/10 9:36 加筆)


私がアウトライナーを使いたい時

 ずばり列挙してみると、以下のようなものである。なお文章中で「作業」という言葉を使うが、別に機械的に淡々とやるという意味ではなく、「何かをして、何かを変化させる、その一連の動き」というようなニュアンスで書いている。

  • 列挙系
    • インボックス(粒度が小さいメモ置き場)
    • あるテーマに沿ったリストアップ
    • ブレインストーミング・自己対話
  • 線形系
    • 文章構造の整理
    • 事物の工程の整理
    • 日記・日誌
  • 収束・発散系
    • 分類・カテゴライズ
    • 論理の整理

 「線形系」というのは要するに一直線上に並べる作業、あるいは一直線上に並んでいるものに情報を加えるなどして操作する作業のことを指してそう名付けている。「収束・発散系」は「ズームアウト/ズームイン」に意味がある作業全般で、「列挙系」は場に情報を出していく作業を示している。

 大別すれば、この三種類のいずれかの作業をしたくてアウトライナーを使っているように思うし、またアウトライナーというツールのUIを見ればそのいずれかの作業をしたくなるように感じている。


アウトライナーの定義と特徴

 アウトライナーの定義については、Tak.氏によれば以下の機能を備えるものであろうとのことである(【基礎講座1】アウトライナーを定義する|Tak. (Word Piece)|note)。

  • ①アウトラインを表示する機能
  • ②アウトラインを折りたたむ機能
  • ③アウトラインを組み替える機能

 更に、アウトライナーの操作の「型」として五つの要素が整理されている(【基礎講座5】アウトライン操作の5つの「型」|Tak. (Word Piece)|note)。

  • 型1 リスティング(項目を書き出す)
  • 型2 レベルダウン(下位項目を作る)
  • 型3 グルーピング(他の項目の下位に収める)
  • 型4 レベルアップ(上位項目を作る)
  • 型5 ソーティング(項目を並び替える)

 私も納得しているのでとりあえず定義と操作の型はこうであるとして(詳細はTak.氏のマガジンを是非お読みください)、一方自分が使っていて「特徴的だ」と感じる点を言葉で表現すると以下の三つになる。

  • 行を箇条として扱う
  • 上から下へと並び、かつ並び順を変更できる
  • 階層構造を作り、親子関係を構築できる

 これらは上述の「列挙系」「線形系」「収束・発散系」と対応している。ひとつひとつフォーカスしていくことにする。


行を箇条として扱う

 一行一行を箇条として扱うことにより、それらを「対象」として扱えるような感覚が惹起される。カードを場に出すように、これ、これ、これ、と並べていくことができるし、ひとつひとつに「後で~~する」というように行動を紐付けることもできる。ツールによってはそれぞれにタイムスタンプを付与することもできる。よって、あるテーマに沿って事物を列挙していくとか、まだ判断を下していないメモの類を溜めていくとか、自分の考えや気持ちを切り出していくとかいうことをアウトライナーでやりたいと感じる。

 プレーンテキストに並べたそれぞれの行に対して同様に「対象」として認識しようとすることは不可能ではないが、そのままの形でそう解釈するのはやや難しく、基本的には中点(・)を頭につけるなどして「箇条書き」であることを強調することになるだろう。アウトライナーでは、バレットが頭に予めついているという見た目がその助けになるし、何より「操作できる」ということが各行を自然と箇条として認識させている。

 行単位で操作するというのは、プログラミングに使うことが想定されたテキストエディタでは普通にできるようになっているものの、文章を書くものとしてのテキストエディタに於いてはそれほど当たり前のことではなかったと思う。

 なお「行を箇条として扱う」ということが備えている性質は、縦に並んでいくことを除けば平面配置系のツールの各項目(付箋一枚一枚のようなもの)が持つ性質と似たものであり、どちらを選ぶかということになる。自分の中では、何らかの「流れ」を感じた方が良いならアウトライナー、各項目が同時に存在していることを強調したいなら平面系ツールを選択する、という使い分けになっているように思う。


上から下へと並び、かつ並び順を変更できる

 今書いたようにアウトライナーの各項目は縦に並んでいく。インデントによって構造が作られはするが、大前提として上から下へと「行」の形で書き足される。必ずしも上から下へと「順番に書く」わけではないが、出来上がる形は上から下へと「順番に並ぶ」形である。

 例えばKakauはアウトライナーを原型としながらその前提から飛び出しているが、そういう例は今でもごくごく稀なもので、アウトライナーというのは層状に行が積み重なった――というのは向きが逆転していてメタファーとしてちょっと変だが――ような形だと言って良いだろう。

 そして重要なのが、自由に並びを替えられることだ。紙に書いてしまったものの並び替えは容易でないが(紙を切り分けるか書き改めるかするしかない)、アウトライナーだと簡単に入れ替えられる。これはデジタルだからこそだが、デジタルツールならどれでもそうできるのかというとそういうわけではない。選択してコピペするのと、ショートカットキー一発で入れ替えられるのとでは全くと言って良いほど操作感が違っている。

 並べ替えが容易なことから、順番を考えるべきものについてその順番を吟味して考えることができる。しっくりくるまでくるくると入れ替えてみることもできるし、新たな項目を挟むことも簡単である。

 また、最終的に正しい順番で並んでいてほしいものについて、「あ、これがあった」と後から思いついて挿入する、みたいなことが簡単なのも重要だ。例えば日記を書くとして、書き込んだ順番でしか記録を作れないとなるととても困ったことになる。紙のノートなら「そういう時のために余白を広く取っておく」というような工夫があり得るが、そういうことをしなくとも普通に書き足せたらそれが一番楽である。

 並べ替え自体は、アウトライナーでなくともデジタルなノートツールならだいたいどれでもできることではある。今ならテキストエディタに上下の行を入れ替える機能が搭載されていることも多いし、並び順の変更の容易さだけでアウトライナーに執着する必要はない。ただ、先に述べた「行を箇条として扱う」という性質と次に述べる「階層構造を作れる」ということが合わさることに強みがある。


階層構造を作り、親子関係を構築できる

 アウトライナーらしさの最たるものが「階層構造を作れる」ということだろう。

 下の行をインデントさせて右にずらすと、それは位置的に右に移動したというだけでなく、上の行に属するものとして解釈される。解釈されるというのは、上の行を「折り畳む」ことができるという意味である。つまり、上の行に、その行に属する下の行たちを代表させるということが、意味的に自然に想像される。

 上の行に下の行が属するという状態を「親子関係になる」としておくが、この親と子の関係性というのは一意的ではない。親と子の組として思いつく関係性を階層にして書いてみよう。

  • 抽象
    • 具体
  • 大分類
    • 小分類
  • 話題
    • 続き
  • 問題
    • 原因
  • 結論
    • 過程
  • 概要
    • 詳細
  • 事象
    • 備考

 などなど。自分がアウトライナーを使う上では、よりメタな内容、あるいはより重要な内容が親、それを支える内容が子になることが多い(多分、一般的にそうだろう)。

 この「親」とそれに属する「子」のニュアンスから、事物の分類や、論理の整理にアウトライナーを使いたくなる。分類と論理は方向性として異なることのようだが、項目に親子関係があることが、情報に情報を付随させていく感覚や帰納的に考える頭の働かせ方にマッチしている、という意味では同じである。話を広げたり掘り下げたりする、あるいは逆に話をまとめたり俯瞰したりする、そういう目線の移動が「親子関係」によって自然と導かれる。このことを冒頭では「収束・発散系」とした。

 最終的に親になっている項目が先に生まれるとは限らないし、例えば「話題」を親項目として子項目に「続き」を自由に書いていった結果、その先で生まれた「結論」を親項目としてそこに至るまでの部分を「過程」として構成し直すということはよくある。この場合最初は「話題」が親であるのが自然だったわけだが、その後の展開によって親に来るべきものが自分の中で変われば親子関係は逆転する。

 いずれにしても、何らかの尺度で「親っぽい」項目があり、その下位に「子っぽい」項目が配置されることになる。自分の中にあるその「っぽい」感じに従って納得いく構造になるまで動かしていくことがアウトライナーの醍醐味であろう。


 ちなみに、タスク管理を考えた場合、「列挙系」「線形系」「収束・発散系」の作業がいずれも必要であり、その意味でアウトライナーは非常にタスク管理にマッチしている。やる必要があるのは何々なのか、それらをやる順番はどうであるべきなのか、それらはそれぞれ本当にはどういうもので構成されているのか。そういったことを考えるのにアウトライナーの特徴はとても都合が良い。リマインダー機能や所要時間の管理といったことを必要とするならアウトライナーだけでは収まらなくなってくるかもしれないが、「タスクを考える」ということの根幹となる部分はアウトライナーが自然と導いてくれる動きによってカバーできるように思う。


他のツールが必要なこと

 とはいえ、じゃあ全てをアウトライナーでやれるかというとそういうわけではない。私は自分で作ったデジタルノートツールの全てにアウトライナー機能をつけていて絶えず使っているが、それでもアウトライナーだけあればいいということにはならない。

 どうしてかというと、場合によっては今まで挙げた特長がデメリットに反転するからである。

 行を箇条として扱うUIは、スパスパと切り離し難いものをもやもや考えている時には私はあまり心地よくない。例えば文章を書く時にはテキストエディタやテキストエリアに書きたいと感じる。今は「どうしてもアウトライナーに文章は書けない」という感じに縛られているわけではないが(かつてはそういうレベルの書けなさを感じていた)、ただアウトライナー上で文章を書きたいと思わない。

 文章を書くとか物を考えるとかいう時、必ずしもすっきり交通整理することこそがそれに貢献するわけではないと感じている。交通整理して書いたり考えたりしたものというのは読んでいて「交通整理されたものだな」という感想を抱くわけだが、書かれるもの、思考されるものというのは整理されたところにだけ生まれるのでもない。

 上から下へと並び、かつ並び順を変更できる、ということも、それは同時に「上から下に順番に並べなくてはいけない」ということも意味しており、それが時にネックになる。同じ階層なら全て対等だ、と解釈できるタイプの人間ならば全く問題はないのだが、「順番に並んでいる以上、それは順番があるのである」みたいな感覚が条件反射的に発生してしまうタイプの私は、作業していて「縦に並べたくない」と感じるタイミングが生じてしまう。そういう時はカード的あるいは付箋的なUIのツールを使うことになる。

 あるいは並べるにしても「横に並べたい」と思うこともある。横に並べたいのは横に並べたいのであって、縦に並べることがその代わりになるわけではない。更に縦か横かに留まらず縦横二軸で考えたいという場合もよくある。そういう時、アウトライナーは無力である。入れ子にすれば情報をアウトライナーに収めることはできるが、アウトライナーに情報を収められるということと、それが私にとって心地よいビューであるということとは全然別の話である。

 階層構造を作り、親子関係を構築できる、という特徴については、それ自体が邪魔になると感じることはあまりない。ただ、例えば上にある項目(親ではなく上方向にある項目)が階層構造を作っていて、下にある項目(子ではなく下方向にある項目)が全く階層を作らずにフラットに書いている、ということがあった時、なんだか微妙に気持ち悪くなってくる。

 つまりこういう構造になると気になるということである(1-1とかaとかの数字・文字は「hoge」とかと同じであって意味はない。構造だけ見てほしい)。

  • 1
    • 1-1
      • 1-1-1
      • 1-1-2
    • 1-2
  • a
  • b(aと関連する内容)
  • c(a,bと関連する内容)

 こうなるとなんだか「失敗している」感じがしてしまうのである。別に「成功」なるものがないのだから「失敗」もないのだが、この例でのa、b、cの部分は「アウトライナーでやる必要はない」感じがしてくる(親子関係を作ろうとは思わない内容だからこの並びになっている)。その点、フラットなテキストと階層構造を混在させられるScrapboxやMarkdownは自分の気分にマッチさせられるので使いやすい。

 ついでにScrapboxとMarkdownについて言えば、これらはかなり自由に文字のスタイルを変えることが可能である。アウトライナーではそれはできない。できないことがマイナスなのではなく、アウトライナーで文字のスタイルを細かく変更するということはそれ自体私には要らないことだが(なので「文字修飾が自由なアウトライナー」は不要)、ただその一方で、何らかのツールでは文字のスタイルを自由に変えたいという気持ちもある。構造の力で情報を整理するアウトライナーとは別に、デザインやレイアウトの力で情報の認識を試みるツールが私には必要なのである。


 まとめると、私はアウトライナーの特徴として「行を箇条として扱う」「上から下へと並び、かつ並び順を変更できる」「階層構造を作り、親子関係を構築できる」という三点を見出しており、それによって進むこと、それのせいで馴染まないことの両面を感じている。

 これまでいろいろなタイプの自分用デジタルノートツールを作ってきたが、その核にはアウトライナーがあり、アウトライナーがあるがゆえに、「アウトライナーで何をやりたいと感じ、何をやりたいとは思わないのか」を整理することが必要だという思いを強めてきた。搭載したけどそんなに嬉しくなかった機能もあれば、全然考えていなかったようなことをふと思いついて組み込んでうまくハマったということもある。

 現時点で感じていることをとりあえずまとめてみたが、自分のアウトライナー観はまだまだ変わっていくのかもしれない。



変更点:

2022/12/10 「アウトライナーの定義と特徴」「行を箇条として扱う」の項加筆