Syntax Error.

[Sy] WhiteBox開発日誌 vol.4:倉下さんのタスク管理哲学に学ぶ

2017/10/13

思考のブラックボックスを無くすクラウドサービス 「WhiteBox」 の開発日誌です。 Evernote の活用法や手帳術に関する書籍などを出版されている 倉下忠憲さん がタスク管理についての記事を書かれていたので、そこから倉下さんが考えるタスク管理ツールの理想像を読み解いてみました。

倉下さんとは直接お会いしたことはないのですが、いくつか書籍を読ませていただいたり、知的生産の効率化に対してのこだわりを強く感じる方の一人です。

今回読ませていただいた記事がこちらです。

⇒ タスク管理ツール試案 – R-style

記事に書かれているのは、倉下さんが自作されている 7wriner という文書を書くためのツールを、タスク管理に使えるようにするには?という試案についての具体的な仕様についてでした。

このツールの拡張自体は、倉下さん自身でおそらくされると思うので、ぼくは 倉下さんのような方が満足できるタスク管理ツールとはどういうものなのか? という本質の部分に注目して、 Whiteboxの仕様のヒント を考えてみます。

倉下さんが求めるタスク管理ツールへの要件とは?

まずは要件を書き出してみます。

倉下さん自身がかなりロジカルな思考が得意な方ということもあり、かなり記事中でもシンプルに要件がまとまっていました。それをベースに整理すると、

  • その日に実行するタスクのリスト(= 実行リスト )を管理できる。
  • 次の日以降に実行するタスクのリスト(= 先送りリスト )を管理できる。
  • プロジェクト を登録・管理できる。
  • プロジェクトの下にタスクを登録・管理できる。
  • プロジェクト・タスクは、表示するかどうかをステータスによってコントロールできる。
  • 平日などに頻繁に行う複数のタスクを テンプレート として登録し、管理できる。
  • 実行リストには、以下の方法でタスクを追加できる。
    • どこにも管理されていなかったが「今日やる」と決めたタスクを1件ずつ入力して追加できる。
    • 登録済みのタスクを選択して追加できる。
    • テンプレートを選択して複数のタスクをまとめて追加できる。
  • 実行リストはチェックボックス等で実行済みかどうかを切り替えられる。
  • 一度実行リストのタスクを実行し始めたら、実行リストを クローズドリスト にする。(ワンオペレーションで解除可能)
  • タスク実行中は、タイマーを表示する。
  • 実行済みのタスクは、実行リストの一番下へ移動される。
  • タスクの実行状態は、プロジェクトのリストにもそれがわかるような表示をする。
  • Googleカレンダーの内容を確認できる。
  • 先送りリストには、以下の方法でタスクを追加できる。
    • 実行リストにあるタスクを移動させる。
    • どこにも管理されていなかったが「明日以降やる」と決めたタスクを1件ずつ入力して追加できる。
  • 一日の終わりには、以下のことを行う。
    • テンプレートから追加されたタスク:破棄する
    • プロジェクトから追加されたタスク:実行の表示を戻す
    • 入力して追加されたタスク:先送りリストへ移動する
    • 実行したタスクをログとして残す
  • 簡単な操作で フリーテキスト を入力できる。
  • フリーテキストは複数切り替えができる。(プロジェクトごとなど)

というところになるかと。

そしてもっと凝縮された特に重要なポイントとして、

  • 「今日」と「明日以降」 の時間軸でのリスト管理
  • 「プロジェクト(本体)」と「実行タスク(インスタンス)」 というイメージ
  • ログを残す ことを重視する
  • 実行リストは クローズドリスト

ということを挙げられていました。

WhiteBox で考えている解決案は?

WhiteBox は、タスク管理に特化したサービスにする予定はありませんが、上に挙げたようなセルフマネジメントに必須となりそうなデータ管理はできるようにというのは考えています。

また、 データ構造に関して核となる構想 があって、それは倉下さんが記事にかかれていた 「ツリー構造」「ライン系」 といったデータ構造の設計をどうするのか?というところに対しての一つの解決案になると考えてます。

その構想というのは、 一つのデータに複数のデータ構造を持たせる というものです。

例えば、最初はリスト(倉下さんの言うところのライン系となるでしょうか)としていくつか箇条書きにデータを蓄積したとします。

そのデータ構造を 「リスト」 とすると、それに階層をもたせることで 階層構造を持つ「ツリー」 にすることができます。

また、各データを別画面でフリーなレイアウトでバラバラに配置することができるようにし、任意のデータ通しの関連付けをできるようにすれば、座標と関連性を持つ「マップ」 として扱うことができます。

なので、どのようなデータ構造で管理するか? という悩みを持つ必要がなく、その都度目的に応じて、同じデータを複数のデータ構造で整理することができる、というのが WhiteBox の根っこの構想です。

まだ細かい設計はこれからですが、ぼくの頭の中には具体的なデータベース設計ができあがりつつあります。

複雑になりやすい構想だと思うので、いかにシンプルにできるかが鍵になってきそうです。

ひとこと

先日の佐々木さんや今回の倉下さんといった、その道の達人の方がたくさんいらっしゃるので、そういう方の考え方をうまく学びながら、おもしろいサービスを作れると良いなと思ってます。

ほかの日誌も読む