自分用ツール開発に於いての自分自身の変化について、二つ目は感覚の変化の話。前回の記事はこちら。
プログラミングの経験と直接関係しているかどうかは定かでないが、ツールに求めるものというのが結構変わってきたと感じている。変化を一番感じるのは「平面に並べる」ということに関してで、次にアウトライナー機能についてである。
平面に並べるということ
ツール作りを始めた頃というのは、Scrapboxのページ一覧画面に甚くハマっていた時期で、ツール内に存在しているデータを決まった大きさの小さいカード状にして均等に並べることが自分の感性にぴたりと合致しているような感じがしていた。Notionで言えばギャラリー表示である。
ブラウザのブックマークがリスト状なのは嫌だという話を前に書いたが(NTA-DIY:1ヶ月目⑨~ブックマーク管理ツールを作ってみる~)、タイル状に並べたら非常に見やすくなったと感じたので、バカの一つ覚えのごとくタイル状のビューのツールを作った。
その後、マンダラートの話を聞いたことをきっかけにしてマンダラート風のアウトライナー的なものも作った(Plane Outliner)。アウトライナーのリニアな表示に個人的に不自由さを感じていたので、この「面のアウトライナー」は自分としてはかなり画期的だったし、しばらくは実際に使っていた。ツールとしては今でも面白いと思っている。
ただ最近は、「平面に並べる」ということについて重視する点がちょっと変わってきたと感じる。メモ群の俯瞰にギャラリービューを使うみたいなことではなく、ダッシュボードのように、限られた画面上に計器を適切にレイアウトする、ということをより重要視するようになった。メモを開いたらメモに関する情報――つまり他のメモからのバックリンクや本文の文字数等――がパッと表示される、というようなことだ。
要らない情報はあると邪魔だし、表示する情報の見た目もなんでもいいわけではない。「何が同時に表示されている、どういう見た目の画面を欲しているのか」を自分に問い、厳密に自分に合った形を模索して作ることが重要で、最近は一覧ビューの如何よりもそちらに意識を向けている。
アウトライナー機能
アウトライナー機能についても感覚が変わってきた。
一時期は自作ツールでアウトライナーを再現することに非常にこだわっていた。上述の「面のアウトライナー」も含めて○○型アウトライナーと名付けられそうなものを頑張って作っていたし、それらは実際にある程度活躍した。
しかしながら、最近はそうではない。この頃作っているツールでは、テキストエリアにプレーンなテキストを書いて、それをMarkedというライブラリでMarkdownとして解釈してHTMLに出力している。つまり専らMarkdownで書いているので、所謂アウトライナーを使った書き物はほぼしていない。
といっても、Markdownには箇条書き書式があるし、それを折り畳みできるように機能を加えているし、textarea要素にショートカットを自分で色々搭載して行の入替えやアウトラインのインデント/アンインデントなどはできるようにしているので、アウトライン操作は可能である。Markdownで書く中にアウトライナーの要素を一部吸収したような形だ。
自分の好きなようにデザインしたツールをあれこれ作っていく中で気づいたが、プロセス型にしろプロダクト型にしろ、アウトライナーというものが一番の大枠にあるツールではなく、色々な機能の中にアウトライナーの発想が包含されているような形式の方が自分に合っているのだと思う。つまり「○○型アウトライナー」よりも「××の中のアウトライナー的機能」という考え方だ。アウトライナーが大枠にあるもので何かをするならその全てがアウトライナーの仕組みに従わなければならないが(如何にその自由度が高くとも)、アウトライナーが主ではなく従ならば、アウトライナーとは異なる仕組みを使いつつ必要に応じてアウトライナーを召喚するということができる。
当初アウトライナーの再現にこだわっていたのは、前回書いたように、可能性の開拓に関心を向けていたからである。自分でもアウトライナーを作れるのか、ということがとても重要なことだった。というのも、デジタルノートツールに於いてアウトライン操作は絶対的に必要なものと感じていて、それが実装できないなら結局何を作っても肝心なところを既存のサービスに頼らざるを得ない気がしたからだ。
その後色々なことを試していくうちに、自分にとって必須なアウトライン操作というのは既存のアウトライナーが持つ形態に沿っていなくてよい、ということがわかったわけである。
これらのことによって、初めの頃に想像していた「こんなツールが欲しい」と、今考えている「こういうツールを作りたい」とは、かなり大きな違いが生じている。
次回は力量の変化について。