メモとタスクとアウトライナー
メモでどうやってタスクを管理するかを考えて幾星霜。
メモを書くとき、ToDoを書き留めることがありますよね。
そのToDoが自動的にタスク管理されるといいなあとずっと考えていました。
その試行錯誤の結果の1つとして、少し前に、メモで書いたタスクリストとタスク管理が連動する仕組みをつくりました。
メモをテキストだけで書くことにこだわっていたので、実現方法としては、GitHubのタスクリストのような形でした。
しかし、この方法では、Markdownでタスクリストを書かないとToDoにならず、自然に書ける感じがしませんでした。
ToDoを書くためのメモとしては、テキストだけで書く方法が合っていないような気がしました。やはり、ToDoを書くメモというのは、構造化できるアウトライナーであるべきなのではないか、そう考えました。
Projmoならではのアウトライナー
Projmoは快適にメモを書くことを目的としたメモアプリです。
箇条書きがベースのアウトライナーであってもそれは同じです。
というわけで、次のコンセプトでアウトライナーを作成しました。
キーで操作できる
テキストメモのようにメモが書ける
ToDoリストを使いやすくする
キーで操作できる
快適に箇条書きをつくれるようにするには、すべての操作をキーでできる必要があります。
インデント、行の移動、行の入れ替え、行の追加、行の削除、タスク状態の変更といった操作をキー操作でできるようにしました。
キー操作ができることは基本ではあるのですが、統一された動作を提供するのは意外と難しいものです。例えば上下矢印キーを押したら行を移動できますが、複数行のメモの中にカーソルがあったときどう動くかとか、リストの最後でEnterキーを押したら行を追加するのが自然ですが、リストの途中ではどうかとか。
そういった振る舞いについては、メジャーなアウトライナーであるWorkflowyを参考にしました。
キー操作を実装した一方で、マウスやタップによるドラッグ&ドロップ操作は見送りました。
スマホでの操作が制限されるので、いずれ対応するかもしれません。
テキストメモのようにメモが書ける
箇条書きであっても、普通にメモが書けるようにすることを目指しました。きちんと矢印キーで行を移動できたり、複数行も書けたりできます。
結果として、ブロックエディタ―とアウトライナーの中間的な操作感になったかなと思います。
ToDoリストを使いやすくする
Projmoのアウトライナーは、メモを整理してToDoにするものという目的を持ったものですので、ToDoリストを簡単につくれるように、各行を簡単にToDoにすることができるようにしました。
行頭のボタンをクリックするだけでToDoになります。Ctrlキー+EnterキーでもToDoにできます。
もちろんタスク管理と連動しています。
Markdownにもできます
またProjmoらしい仕様として、アウトライナーで書いたメモもテキストになります。
リストはすべてMarkdownのリスト形式で表現されます。
アウトライナーとテキストエリアを行ったり来たりしながら編集することもできます。