1. まえがき
昨日、マエダさんをゲストに迎えた Notion 座談会を開催しました。マエダさんは、Notion のコーチングをされている方で、タスク管理のコツを教えてもらいました。長いですが、かなり役に立つ内容だと思うので、ご視聴ください。
マエダさんのタスク管理は以下のような見た目になっています。マエダさんはこの画面を常にサブスクリーンに表示した状態にしているとのことでした。インタビューで気になったところをまとめてみます。
- タスクはチェックボックス形式で管理する
- 今日のタスクは雛形をテンプレートボタンで作成する
- 1日が終了すると下のカレンダービューにまとめる
- まとめるときに画像を一枚貼っておくことで、カレンダービューのページコンテンツでその写真が一覧表示される
- 隣に今週のタスクがまとめてあり、必要に応じて今日のタスクに移動する
- 今週のタスクの隣には中期のタスクがある。ここには目標とプロジェクトがある。ただし、プロジェクトは全部出さない
タスク管理をチェックボックスでやるか、データベースにしてページで管理するかは意見がかなり分かれるところです。私は後者で管理しており、カレンダーなどから自動でタスクが作成されるため、手間がなくなっています。一方で、日々のタスク消化に追われて、中長期のタスクが見えにくくなっています。今回は、この中長期のタスク管理を自分のタスク管理に含める形として戦略を練ることにします。
2. 現状把握
2.1 今日のタスク
一方で、私の Launchpad の画面です。毎日雑務・振り返りのページが GAS で自動生成されています。その他に「燃えるゴミの日」ページなどが曜日などに応じて設定されています。
実はこの Notion ページは常に表示しておらず、ほとんどが Alfred から操作しています。先ほどの上の 1-2 のブログ執筆のタスクは、Alfred からこんな感じで登録しています。Notion の画面を開いていないので、どこからでもタスクが登録できるようにするためです。
これ以外に、以下の方法でタスクが自動的に作成されます。やはりこの仕組みはかなり作り込んだので、活かしたいと思っています。
- Google の Notion 用カレンダーにイベントを登録すると、GAS が Notion のタスクを自動生成します。
- 授業については、校務支援システムが ics ファイルを吐き出してくれます。この ics を Google の Notion カレンダーに登録することで全てが Notion タスクになります。
- moodle は課題評価タイミングを照会カレンダーの形で出力してくます。このため、このイベントをNotion カレンダーに(今は手動で)コピーします。これも Notion タスクになります。
- Teams で会議に召集されたとき、Outlook のカレンダーにイベントが作成されます。このイベントは、Power Automate により自動的に Google カレンダーにコピーされます。その結果、Notion タスクも自動生成されます。
moodle カレンダーのコピー以外は全部自動です。
2.2 雑務・振り返りページ
毎日、雑務・振り返りページが自動生成されています。毎日振り返りを書ければいいのですが、あまり書けていません。今は、タスクページを作るまでもないものを Alfred から ar コマンドで投入します。この結果、雑務・振り返りページに一行の箇条書きが登録されます。
2.3 直近 1 週間のタスク (ほぼ使えていない)
実は直近1週間のタスクが見られるように以下のようなビューも用意しています。作ってはみたものの、実はほとんど開かれておらず、あまり使われていませんでした。
2.3 月表示
月表示タグは全てのタスクが表示されています。その日のタスクが増えるとカレンダーが縦に伸びるのが欠点です。
2.4 期日未設定
私の場合、中長期のものは日付をつけずにタスクを作っておきます。ただ、日付をつけてしまったところで見えなくなってしまうのが辛いです。
2.5 期日超過未完了
タスクを完了できなかったものがここに表示されます。終わってなければ日付を変更して今日にします。
2.6 今月の月報
月報は別のデータベースですが、Linked view でここに表示できるようになりました。雑務振り返りとポモ数を GAS で集計しています。
3. Launchpad の再設計
作っては見たものの、あまり使えていないページが多いです。Notion を開かずに情報をまとめることを重視してしまったため、あまり Notion 側に集約されたページが有効利用できていません。
そこで、ページベースのいいところを残しつつ、マエダさんのチェックボックスでの見た目を目指します。座談会の中で、マエダさんから別にページがあるものは「ページメンション(ページへのリンク)」を使うといいと教えてもらいました。それを踏まえてページ構成を考えます。ひとまず今日は「今日のタスク」だけ考えます。
今日のタスクはそのままマエダさんのものを借りてきます。「燃えるゴミの日」はページにするまでもないタスクなので、チェックボックスでいいでしょう。タスク管理の検討などはページに作業内容を記述したいので、タスクデータベースのページにメンションリンクを追加します。描画としてはこんな感じです。
私は面倒くさがりなので、これらを手動でやると三日坊主になることは確定です。API で自動化しましょう。すぐにはできませんが、やることをまとめておきます。
- GAS で実施している繰り返しタスク生成処理を削除します。
- 今のタスクデータベースとは別に「毎日のタスク一覧」データベースを作成します。
- 毎朝1回実行するスクリプトを作成します。実施内容は以下の通りです。
- 「今日のタスク」パラグラフの下の Callout ブロックに記述されているチェックボックスをスキャンします。ページメンションがあり、チェックボックスにチェックがあった場合には、タスクページの方の Checkout プロパティもチェックを入れます(これでタスクデータベースの方を完了にしなくても自動的に完了になります)。
- 全てのチェックが終わったら、Callout ブロックを前日の「毎日のタスク一覧」データベースに移動します。このとき、Callout ブロックはページではないので、新規にページを作成し、その子供として Callout ブロックを登録する必要があると思っています。
- 「今日のタスク」パラグラフは空になったはずなので、新しい Callout ブロックを作成します。
- Callout のタイトルを今日の日付に設定します。
- Callout のサブブロックに ToDo ブロックを作成します。作成するのは以下の項目です。
- GAS で作成していた繰り返しタスク(ゴミ出しなど)を生成します。
- タスクデータベースから取得した今日のタスクページに対するメンションリンクを作成します。
- タスクデータベースで期限超過しているタスクも同様に追加します。この時、遅延していることがわかるような表記を追記したいです。
- タスクデータベースは直接見えていないので、当日発生したタスクはこれまで通りスクリプトで作成します。この時、タスクページを作成すると同時に、Callout の下にチェックボックスとメンションリンクを追加する機能を追加します。
- ポモドーロはあまり集計データを使えていなかったので、ポモドーロを記録することは辞めます。
これまで GAS、Alfred など複数のツールを使い分けていましたが、Javascript などで複雑なプログラムを作るのは面倒です。そこで、自作の Notion Ruby Mapping Tool をメインとして利用することにします。現状ではまだ block に対する処理が実装されていないので、ひとまずここからスタートすることにします。
おわりに
今回の座談会はタスク管理の見直しをするいいきっかけになりました。マエダさんありがとうございました。これから少しずつ API 化を進めていきます。