どうしたら知識をシンプルな形でI/Oできるのか、学んだことを脳に格納する最適なフォーマットを相変わらず探し続けています。
「相変わらず」と言う所以は、このシリーズは去年の年末に書いた次のブログの続編ともいえるからです。
要約って難しいよね、ということで悩んでいた去年の年末からは随分と時代が変わり、今は要約なんてAIがやってくれるし!と開き直ってしまうこともできたはず。
でも、自分の知識をアウトプットすることを生業の一部とする身としてはどうしても諦めたくない課題で、いろいろなツールを試して、それぞれの得手不得手も感じて、これはもう自分に特化した自分だけの要約アプリを作ってしまおうと思いました。(なお、ここでいう「要約」とは、情報を削るというより、多面的に整理してまとめる作業を意図しています。)
まだ仮の名前ですが、このアプリをSummarioと呼ぶことにします。
Summarioは、summarize(要約する)とI/O(インプット/アウトプット)を掛け合わせた名前です。要約とは新たな知識をインプットしながらアウトプットする作業だと考えているので、このような名前にしました。
言語化の前段階を重視したい
常々思っていたのは、学んだことをノートにまとめるという作業は、自由度が高いとクリエイティブと化してしまうということです。
ノートのレイアウトや色分けなどの装飾にこだわり始めたら、もはやそれは勉強というよりデザインの比重が大きいといえます。
そこまで行かなくても、独自のストーリーを織り交ぜてまとめる、文章を構成すること自体がクリエイティブな作業だと思っています。
いつしか、自分が理解することだけではなく、表現を生み出すことを目指してしまっていました。
それはそれで伝える力を鍛えられますし、質の高いアウトプットを目指すのはよいことです。
しかし、理解することと、それを表現することはまったくレベルが異なる作業で、それらを混ぜこぜにして最初から一度にやろうとすると負荷が高くなってしまいます。
文章を書くアプリはたくさんありますが、言語化の「前」段階も合わせてサポートするアプリが欲しいと思いました。
言語化とは、自分が持っている知識の断片を組み合わせて一つの流れにする作業です。
自問したかったのは、それ以前に知識の断片を整理することができているのだろうか?ということ。それができていないから、文章を書くことが苦しくなってしまうのではないか?と。
Summarioでは、もちろんフリーフォーマットで文章を書くこともできますが、その前段階となる「知識を構造化し、さまざまな視点を持って理解する」ことを最終到達点とすることもできます。
次に示すステップのうち、3番目(言語化)がいきなりできなければ、1番目と2番目を単体で始めることもできる、というのがコンセプトです。
- 観点を分ける
- 関係性を捉える
- 観点をつなげてストーリー化する
丁寧に言葉を選んだり、綺麗な流れを考えたりしなくても、脳内整理が楽しくできて、一旦はそれで満足できるような「殴り書きでも綺麗に見える」情報整理を目的とする機能を考えてみました。
観点ごとのセクション
Summarioでは、1つのテーマ(用語や概念)に対して1つのノートを作成する前提で、そのテーマについてどう書いていくかについてもヒントを示したいと考えています。
具体的には、テーマを複数の観点(切り口)から整理する作業をサポートします。
全体の文章の流れを考えなくても、観点ごとの説明が完成されていれば、理解としては十分だといえます。観点ごとに分解し、あえて断片的に情報を書き留めるためのブロックがセクションです。
サイドバーには情報の整理に役立つさまざまな視点カードを用意していて、エディタにドラッグ&ドロップすることでセクションが追加されます。
文章を書くのではなく、ブロックを作るという感覚を持たせることで、まずは知識を構造化することを目指します。また、観点ごとに整理していれば、新たな視点での説明を追記することも容易になります。
なぜテンプレートではいけなかったのか
要約として書き始めたつもりが、だんだんと長文化したり、いつの間にか写経(ほとんど丸写し)になっていたり…といった問題を解消したいとずっと考えていました。
真っ先に思いついたのは、フォーマット(まとめる上での構成)を決めてしまう策です。たとえばNotionのテンプレート機能を使うことで、その目的は達成できたでしょう。
しかし、穴埋め形式にすると書きやすくはなりますが、用意された構成に無理やり当てはめるための余計な思考が必要になることもあります。柔軟に項目を増やしたり減らしたりしようにも、項目の組み合わせごとにテンプレートを用意しなければなりません。
そこで、項目(セクションの候補)は用意しておくから、あとは自由に組み合わせて書いてね、という形式にしました。欲しかったのはフォーマットではなく、情報をどのような視点で眺めるべきか?という方向性にすぎなかったのです。
セクションに縛られなくてもいい
このように観点ごとのセクションを組み合わせてノートを作るというコンセプトはありますが、視点カードに縛られる必要はなく、普通のMarkdownエディタとして最初から文章を書き始めることもできます。
任意の選択範囲をセクションとしてグルーピングすることもできて、セクション化しておくと、セクション単位での並び替えが可能になります。
一般的なブロックエディタでもブロックの並び替えはできますが、見出しと段落はそれぞれ別のブロックになってしまうことが多く、章ごと(見出しと段落をセットで)入れ替えられる機能が欲しかったのです。
セクションは意味のある単位である必要はなく、単に並び替えの単位として一時的に括る目的で使うこともできます。
関連グラフとミニビューで並行して考える
個々のテーマを深掘りすることと合わせて重視したかったのは、全体像を俯瞰したり、いくつかのテーマを結びつけて考えたりする、関係性を可視化する機能です。
いくつかのテーマを比較するなどして、そのつながりや相互作用を捉えたい場合があります。このように、テーマを局所的に関連づけることを叶える機能が関連グラフです。
1つのテーマに対して、関連する他のテーマを登録することができ、関連テーマを登録するとネットワークグラフが作成されます。
そして、関連のあるテーマは並行して(たとえば比較しながら)考えたい場合があります。関連するテーマの詳細を見ながら書き進めるために搭載した機能がミニビューです。
グラフのノードをクリックすると、そのテーマの詳細ノートが表示されます。
関連する他のテーマと比較できるだけでなく、あえてグラフの中央ノードをクリックすることで、今開いているノートの最後に保存した時点での本文を見ながら書き進めることもできます。
個々の内容が先か、繋がりが先か
このような関連グラフ機能は、Obsidianのグラフ機能から着想を得たものです。
Obsidianでは本文中に設定した内部リンクの参照関係がグラフ化されますが、内部リンクを含む本文を書かない限り関係性の可視化ができないことに若干の不自由さを感じていました。
本文を書くより先に関係性を捉えておきたいというニーズが自分の中であったため、Summarioでは明示的に関連テーマを登録する仕組みにしています。
フォルダで複数のテーマを束ねる
Summarioでは、複数のテーマをカテゴリ別に束ねたり、親子関係で整理したりするための機能として、フォルダ機能を実装しています。
集中する対象をあえて絞ってしまったエクスプローラ
フォルダ構造を表現するUIとしては、ツリービューが一般的です。各フォルダが折り畳み可能になっていて、そのフォルダの中にあるファイルやフォルダを表示したり隠したりできるUIです。
しかし、Summarioのサイドバーに表示されるフォルダUI(エクスプローラ)は、ツリービューとは少し異なる作りにしています。
ネストされたツリーではなく、直下にあるフォルダやノートだけを表示するフラットなリストになっていて、フォルダ名をクリックすることでリストが切り替わるようなUIです。
また、新規ノート/新規フォルダ作成ボタンをクリックすると、今見えているフォルダ直下にノート/フォルダを作成できます。
このようなUIにしたのは、全ディレクトリが目に入ると気が散ってしまうという個人的な特性をどうにかしたかったからです。
たとえば本文を書いている途中で気が逸れてフォルダ整理を始めてしまう…といったことを防ぐために、常にローカルな情報しか見せないことで集中するスコープを絞る意図があります。
構造マップで全体を俯瞰する
フォルダ直下しか見せない作りになっているエクスプローラは、見えていない他のフォルダ内にノートを移動するといった機能を備えていません。
エクスプローラとは別に、全体の中でどこに属するか?という各テーマの立ち位置を意識しながら、フォルダ構造をマインドマップとして視覚的に編集できる機能を構想しています。
全体像と詳細をシームレスに行き来したい
私はまず本をざっと読んで、出てきた用語をマインドマップで一覧化してから、各用語を掘り下げていくという流れを踏むことをよく行っていました。たとえば、次の画像はXmindを使って作成した統計モデルに関するマインドマップです。
マインドマップは全体像を俯瞰したい場合にとても便利です。
しかし、マインドマップは各トピックの詳細な情報も合わせてまとめる用途には向いていません。
長文を載せるとマインドマップ自体が見づらいものになってしまいますし、そもそも長文を載せることを想定していないマインドマップではMarkdown記法もサポートされていないため、各トピックの詳細ノートは別なアプリで作成していました。
また、全体像を把握してから各トピックを掘り下げたいときもあれば、各トピックの詳細をまとめてから他のトピックと繋げたいときもあります。「全体」と「詳細」の行き来を、1つのアプリ内で完結させたいという思いがずっとありました。
マインドマップとフォルダツリーの融合
そこで構想しているのが、フォルダ構造をマインドマップにそのまま対応づける構造マップという機能です。
マインドマップ上でトピックを作成すると、それに対応するノートが作成され、詳細を編集できるようになります。これは全体像を捉えてから細部を掘り下げるという、「全体 → 詳細」の流れに沿うものです。
逆に、エクスプローラ上で作成されたノートやフォルダはマインドマップ上にトピックとして表示されます。マインドマップ上でトピックを線で結ぶことで、フォルダの中のファイル(またはフォルダ)という親子関係を視覚的に編集でき、マインドマップの構造がそのままフォルダ構造に反映されます。
このように、各ノートで詳細をまとめてから、マインドマップ上でそれらを繋げて全体像を構築するという、「詳細 → 全体」の流れで進めることもできるように構想しています。
Next Step
Deep Dive
-
「因数分解は構成要素を明らかにして関連付ける行為」とあり、アプリのコンセプトを決める上で必要な考え方はこれだ…!と感じました。