アウトライナー
ツリーが長くなっても見やすいように、カーソル位置直系かつルート直下のノードは画面外にあっても表示。
残す行数設定。1だとルートを常に表示、2だとルート直下を画面外にあっても表示。
また、強調表示にした(色ラベルを付けた)ノードで、かつカーソル位置ノードの直系にあたるノードは設定にかかわらず表示。
----
ノードタイプ
:検索型:ファイルシステム検索、ノードの内容を検索ワードとして使う
:リンク型:URL、ファイルシステムのファイルとフォルダー、アウトライン内の別ノード。別ノードの場合はジャンプしても同じアプリ内。バックジャンプを可能に。
----
アウトライナー(アウトラインプロセッサー)ではどこかにフルパスを表示。
ルートからの経路を適度に省略しつつ全階層表示。
----
アウトラインの一括操作では「カーソル以下をいくつ展開するか」を0以上で。0でカーソル以下をすべてたたむ。
MS WordやVisualStudioなどの「ルートから何レベル展開するか」ではなく。
----
*** 膨張と収束の両立
インデント幅が一定で、縦方向に積み重なっていく(普通のテキストの左揃えができていないような)形式は収束のためのアウトライナー。
インデント幅が上位階層次第で伸びて、親階層とは縦方向で重ならないタイプ(横方向でも重ならない)は膨張のためのアウトライナー。Mac用のTreeなどマインドマップのように見えるもの。
2つの表示形式を切り替えると、収束と膨張両方のUXを生み出せる。
----
**列スタイル
||
|>|>|>|>|CENTER:root|
|>|CENTER:sub1|>|>|CENTER:sub2|
|CENTER:sub1-1|CENTER:sub1-2|>|CENTER:sub2-1|CENTER:sub2-2|
|sub1-1-1||sub2-1-1|sub2-1-2|sub2-2-1|
|sub1-1-1-1||sub2-1-1-1||sub2-2-1-1|
|||||sub2-2-1-1-1|
||<
- sub2に子ノードを追加するとsub2-3になる。
- 子が1つだけのノードでは親子が一列に並ぶ。
----
列スタイルでは縦の並びが親子関係。ひと続きのテキストとしてエクスポートするのに都合が悪い。
指定した階層数だけを「分類名」として列スタイルにして、それ以下の縦横の広がりを入れ変えるといい。下位の階層では縦に兄弟、横に親子関係、第一子が親の真横に並ぶ。
----
** 思い付き
- 検索はサブツリーだけを対象に。
- Done…打ち消し線を引いた項目を除いて検索可能に。
- Starだけを検索可能に。
- Starだけを表示したり、Doneを含めて表示したり。<br>→表示範囲だけを検索対象にすればいい。
** ワードラップ切り替え
1ペイン式ならワードラップの有無をすぐに切り替えられるように。
ワードラップなしにすれば全ノードを省略表示するようなもの。2ペイン式のツリー部分のように見通しが良くなる。
ノードの下に複数行テキスト(本文領域)を配置してあるなら、その表示も切り替え。ただしワードラップするかどうかではなく、単一行/複数行の切り替え。何行あっても単一行表示。
** ビュー切り替え
+ ツリービュー
+ Tree(Mac)のような横に伸びるツリービュー
親とその兄弟(叔父/叔母)との間に、子の数だけスペースが空く。
++ スペースを空けず、枝の縦方向の寄せを中段寄せにすれば、マインドマップ式になる
+ Trelloや「かんばん方式」やTweetDeckやフリーセルのように複数列にリストを作るフリーセルビュー/カンバンビュー/マルチリストビュー
ビューに合わせて操作系を返る必要があるなら、1つのアプリですべてを実現することは不可能。
** ビューごとの位置付け・用途
- Treeのように横に伸びるビュー
発想を拡げるビュー。
- 通常のツリービュー
中間。
- フリーセル式のビューというか†列スタイル
発想をまとめるためのビュー。
拡 ←→ 中間 ←→ 縮 のように切り替え。
フリーセル式ビューでは階層を表現できない。
表現できない情報を維持。ノードが移動した時に情報を失う。
あるいは列スタイルにするか。
** 常時表示の見出し
見出しにトピックパスを表示。カーソル位置ノードの''直系先祖''と''子孫側の長男すべて''を一行にして表示。
その行内で自身を強調。
アウトライナーは何でもないテキストが元
Markdownのように、インポートしたテキストを再構成しやすくするためのもの。
分割して並べ替え。
インポート→切り貼りと校正の編集→エクスポートが主な使い道。
アウトライナーは見出し指向
見出しがノード化。ノードが見出し化。
要するにツリービューは階層化した目次。
見出しはユーザーが題名として考えたものなので、意識されやすい。見出しを集めた目次はドキュメントを概観するものなので、アウトラインでもある。ツリーを目次と見なすのは理にかなっている。
見出しがノードのヘッダーで単一行。
見出しの後に続くテキストがノードの中身で複数行。
ツリーの構造を無視して、ノードを上から順に並べるとドキュメント本文になる。ツリーとリストをツリービューとドキュメントビューで両立。
** 作業領域
一時的なツリーをすぐに表示できるように。
ツリーをツリーのまま残す作業領域として利用。
クリップボード履歴が使えるなら利用しないかも。
この領域も自動保存。
** デストラクションフリーモード
TAO Noteのように、ノードを1つ題目として表示。その下に入力欄2つ。これだけのビュー。まず1つ連想したことを上のほうのノードに書く。その下には逆・補完・否定などを書く。
上下いずれかのノードを選ぶとそれが新しい題目になる。
** 見出し指向なら階層化リストはどうするか
リストは1項目ごとにネストするもの。
リストでネストできないようにする?1ノード内でリストのネスト構造を表現する?
** 行番号とインデントレベルでツリー構造を維持
親ノードと、兄弟の間での順序を保持するよりも、インデントレベルとツリービュー上の行番号を保持したほうが簡単。
でも、インデントを変えただけで兄弟が子になったり、子が親になったりしそう。
インデントレベルの調整は自身と親との関係だけに影響させるべき。
ノードを移動させるときはインデントだけのほうが自由。
** Workflowyがいい
アウトライナーならWorkflowyがいい。
- 検索やタグ検索でツリーの再編成<br>見つかったノードだけでツリーを作る。
- サブツリー生成<br>星を付けるとサブツリーを作れる。<br>Ctrl+;でサブツリーをリスト化。
- トピックパス<br>ホイストすると上位ノードでトピックパス生成
- タグ補完<br>#を打ち込むとタグ一覧が現れる。
- 文字単位で強調<br>Ctrl+B
** Workflowyとは違うアウトライナー
Workflowyと異なるアウトライナーなら、複数のノードを1つのドキュメントとして見せるもの。や、2ペイン方式で、ツリーとノード内の複数行テキストを分けて見せるものなどがある。
- あとはデータ形式。表が貼れるとか画像を貼れるとか。
** 問題点/改良点
問題点(あるいは改良点)。
- 量の問題にどう対処するか<br>Workflowyのように全情報を1つのツリーにするのなら。<br>最上位ノードをファイルにして、遅延読み込みにすればいいだけのような。 - ビュー<br>1ペイン式/2ペイン式/横に伸びる方式/マインドマップ/フリーセル式<br>2ペイン方式で、ツリービューが目次でしかない方式<br>† ビュー切り替え
- 複数のノードを1つのテキストとして編集できるか
- 細かい便利機能<br>トピックパスとか、タスクリストの機能とか。
** カーソル操作
カーソル移動は2系統。
- ノード単位
- 文字単位
Indysoft TreeMemoのようにノード単位での移動→Enter→文字単位。文字単位に移行したときカーソル位置を復元する。**カーソル位置はノードごとに保存しておく。**
ノード単位のモードではコピーやカットもノード単位。つまり編集用モードということ。文字単位が書き込みモード。
Enterはモード移行でなくカーソル位置にノードを追加するほうがいいかも知れない。書き込みモードでのEnterはノードの分割になるので。使用感を統一。モード移行はF2とか、Ctrl+Enterとか、Shift2回とか、Tabとか。MacのFinderに慣れているユーザーならEnterでモード移行のほうが良さそう。
ノード編集モードでの文字打ち込みはノード追加と、書き込みモードへの移行と、その文字打ち込みをまとめて実行する。
書き込みモードでのESCはキャンセルでなく確定。
** 一括折りたたみ
** カーソル位置から下位階層をいくつ開くか**で指定。それ以上を閉じる。
閉じる/開くの両方を行なう機能。
** ノードに型を
- 検索クエリー<br>クリックで使用。
- URI<br>クリックで開く。
- ノード間リンク(内部リンク)<br>クリックで開く。
- 画像など、text/plain以外。<br>クリックで再生。
いずれの型もMIMEで記録。不足しているMIMEは application/x-outliner1-... などの独自名にして。
<br>
アウトライナー
** 1ペイン式と2ペイン式を統合
編集は1ペイン式で。編集対象とする範囲を決めるのを2ペイン目で。
- 別枠に表示する目次(TOC)が2ペイン式のツリーを表示する枠。
-- 複数の見出しを選択。選択した範囲とサブツリーだけを**1つのテキストとして**編集枠に表示。
-- 編集枠の中では1ペイン式のアウトライナー。大きなツリーから1ペイン式にする範囲を選んで、1ペイン式で編集。
-- 目次上の選択状態を変えるのはファイルを開く/閉じることに相当する。
-- 目次上の選択状態を変えるたびに編集枠に表示したテキストの分割・統合が発生する。自動保存にするならそのたびに分割が発生。
- 目次上の項目(見出し)は目次上で編集可能。項目を移動させると本文も移動。ここでは本文の内容を編集できなくていい。
** 単一行(見出し)/複数行の区別はいらない
すべて単一行、範囲選択して複数行編集モードへ。他のエディタ―で1つのテキストとして編集してもいい。
単一行を集めて複数行テキストと同様に編集できるように。こうすれば同じビューで異なる操作系にしなくていい。
編集後、複数行は「複数の単一行」になる。
** アウトライナーでマーク付け
カーソル位置を記録するためのマーク。これをあるノードに付けると、その上位ノードにもマークが付く。下位にマークがいくつあるかも表示されるので、マークというか数字付きバッジ。
次のマーク/前のマークへ移動する機能とあわせて、マーク付け→探し物→元の位置にコピペ、といったことを可能に。