タスク管理について考える

現状分析

ちょっとタスク管理に関して考えてみよう
タスクが持っている情報としては

  • いつからのタスクなのか
  • 期限はいつなのか
  • どのタスクと依存関係にあるのか
  • 内容は何なのか
    ぐらい?
    正直これをガントチャートにしたいんだけど

ガントチャート

ガントへの変遷

そこらへんはNotionの方が得意なのかも
探せばObisidianでもありそうだけどどうだろう

obsidian-ganttへ

これとか結構いい感じかも

こんな感じのガントチャートが書けるらしい


このプラグインはストアになかったから断念
githubのReadMeで結構ポテンシャル感じたから残念

smart-ganttへ

代わりにこっちを見つけた

概要にこんなことが書いてあった

  • Keep track of all your tasks across your vault.
  • Generate a Gantt chart based on them
  • Quick jump to your task location.

翻訳すると

  • 保管庫内のすべてのタスクを追跡します。
  • タスクに基づいてガントチャートを作成します。
  • タスクの場所へのクイックジャンプ
    らしい

この二番目が結構いい感じに作用してくれそう
たぶんtaskに基づいてganttを作成してくれそう

例えば朝のタスクはこんな感じだと思う
時間は適当

  • 朝起きる 12:00 [completion:: 2024-07-04T15:45]
  • 朝ごはん食べる 13:00 [completion:: 2024-07-04T15:45]
  • 歯磨きする 14:00 [completion:: 2024-07-04T15:45]
  • 着替える 15:00 [completion:: 2024-07-04T15:45]
  • 身支度する 16:00 [completion:: 2024-07-04T15:45]
  • 学校に行く 17:00 [completion:: 2024-07-04T15:45]

したらこんな感じでレンダリングされた


これはちょっとあんまり使いずらいかも

タスク管理はカレンダーにて

このリンクによるとタスク管理はカレンダーが最も適しているみたいなことが書かれてた
https://note.com/yriica/n/ne576c3e5658a

ちょっと考えてみたんだけどなんか
長期のタスクと短期のタスクが混ざってるのもよくないのかも

TAKS管理に関係するプラグインは、

  • Tasks
  • day-planner
  • Reminder
  • dataview
    くらい

今のところdataviewしか使えてない
あとFull Calenderもなんかよさそう
これはGoogleCalenderとほぼ同じもの
でもGoogleCalenderはday-plannerと同期できるからFUllCalenderも同期出来たらちょっと考えてもいいかも

フルカレンダー改革

捜してる最中にこんなもの見つけた
https://github.com/j-palindrome/obsidian-time-ruler

一旦FullCalenderみてみようかな


これ結構使いやすそうでいいね
モーダル出てくるの結構いいよね

day-plannerとの衝突とmyテンプレートの穴

でもこれフォーマットがday-plannerと結構変わってくるからそこが考え物
これday-plannerから変えてこっちにしてもいいかも
ただそうなるとDailyNoteTemplateを結構改変しなきゃいけないかも
ちょっとこれを改変するのは無理かも
Templerの

[[<% tp.date.now("YYYY-MM-DD", 1, tp.file.title, "YYYY-MM-DD") %>]]

に頼ってるからその日の作成されたノートの日付を取得するのがめっちゃ難しいわ
でもこれ第三引数にファイルタイトルあるってことはそこから逆算して取得してるのか
じゃあ行けるわ
でもこの部分は消さなきゃいけないからこれは残しておこう

YesterdayDailyTextReplaceLabel<%*
const dailyText = await tp.system.prompt('昨日の日記を入力')
const yesterday = tp.date.now("YYYY-MM-DD", -1, tp.file.title, "YYYY-MM-DD")
const file = tp.file.find_tfile(yesterday);
const content = await app.vault.read(file);
const newContent = content.replace("YesterdayDailyTextReplaceLabel", dailyText)
await app.vault.modify(file, newContent);
%>
const today = new Date(tp.file.title);
const weekNum = today.getDay();

多分これでいい感じにやってくれるとおもう
これでfull-calendarを使う準備ができたね

左ペインに


できるの結構よかったけどまあしょうがない
どうせ使ってないしね

長期タスク、短期タスク

自分のタスク欄は今こんな感じになっている。
これは0_HomePage - EntryPointにてDataViewを使用してデイリーノート内のタスクをまとめたもの。


このタスク欄には短期的なタスクと長期的なタスクが混ざってしまっている
これのせいでこのタスク欄をみるたびにその長期的なタスクに集中力がそがれている感じがする。

大学の課題は短期的なタスクだし、プロジェクト関係は長期的なタスクとして分類しなければならないと感じている。

ただ分けるだけじゃダメなのかもしれない
ただ一つ結構いい案が思いついた

ここにタスクのコンテクストに関しての課題がいくつか書かれている。

短期的なタスクはデイリーノートにて、長期的なタスクは専用ノートにて

短期的なタスクは簡単に書き加えられるように今まで通りデイリーノートに書くのがいいと思う。

それで長期的なタスクはデイリーノートに書くのではなく、それ専用のノートを作成して書いていくのがいいかもしれない。
長期的なタスクはあんまり書き加えられることはないことから、これを考えた。

そして、週報へ

これを使用すると1年のタスクや1か月のタスクもそこに書いていって目標をかいていけるかもしれない
自分はあんまり週報とか月報を作成してこなかったからここで改善できるかもしれない
ただここら辺の週タスクはまた別の機会に考えよう

タスク分離による弊害

ただ長期的、短期的に分離したことによって短期的なタスクを優先的に見ることなると思う。
ただこれによって長期的なタスクを意識することが減ってしまうかもしれないと感じている。
これは「どうせ長期的タスクだからあとでいいや」と思いそうだから。

これを解決するには期限を設けることが一番いいのだが、これを解決してくれるプラグインがあんまり見つからない。

期限を定めるということ

そしてFullCalendarは有限日期限のタスクしか設定できない。自分がずっと満足するまで探求するといったタスクを設定するには不向きである。
上の例でいうところの


である。
こういうタスクは期限が定まってないし、ずっと考え、探求しなければならない。

Projectsファイルとの相性について

自分のRMS内でProjectsとされているファイル群が存在している。
これは、いわばタスクMOCの役割を期待している。
例えば、Oshiage-Projectsは自身のポジションに基づいたタスクを書きだしてそこからノートを作成できるようにしている。

新たに生まれた分類

こういったノートはここでいう長期的なタスクとして分類される。
ただこういうのはそれぞれのタスクごとに期限が定まっていることが多い。(要件定義は〇月〇日までなど)
これは期限が定まっている長期的なタスクとして分類される。

このようなタスクは他の期限が定まっていない長期的なタスクとはまた別の分類である。
これらを長期的なタスクとして一括りにするのはダメな気がする。

ただこれはTodo-Listに三つのセクションを設けるだけで解決すると思う。

セクション新設

今までで出たタスク分類を書きだすと

  • 短期的なタスク
  • 期限のある長期的なタスク
  • 期限のない長期的なタスク
    の三つである。

短期的なタスクには、大学の課題や直近でやらないといけないことを書く。
期限のある長期的なタスクには、Projectsノート内のタスクのようなもの
期限のない長期的なタスクには、人生の目標など

期限のない長期的なタスクの部分に、週の目標とか年の目標書ける?

タスクプライオリティ

タスク優先度の設定も確認しておきたい
これは短期的なタスクにおいて、今日までのタスクや一週間のタスク、どちらも短期的というくくりになるという問題によるもの

Tasksの使用方法から一応優先度設定あるけどって感じ
RMS内でタスクプライオリティとして定義するのもあり

このリンクにはメタデータを付与することで優先度ごとにdataviewで抽出できてソートできるということが書いてある。

タスクノートへ

さらにこの記事にはObisidianの機能を使用してタスクを分離する方法が書かれている。

特にこの部分。


この部分にはRMSでの新しいアプローチである
タスクをノート単位で作成して管理する。
ということが書かれている。

これはかなり自分の中でしっくりきそうなやりかた。
優先度とか期限をプロパティの中で管理するということ。
依存関係を設定して、これを使うとローカルグラフも結構有用になりそう。

一旦これでタスク要件を満たしてみる。

タスク要件Obsidianで満たす方法
タスク名ノートタイトル
期限プロパティ:limit 期限日デイリーノートにリンク
ない場合はなし
依存関係本文でのリンク
優先度プロパティ:priority: Int
> タスクプライオリティ
長期的かどうかプロパティ(チェックボックス):isLongTerm
タスクに関しての
簡単なメモやログ
ノート本文

具体的にタスク要件を満足させる機能がそろっていることがわかった。
正直このやり方はいいと思うけど、その分いたずらにノートを増やしてしまうことが危惧される。
例えば、毎週出される大学の課題でタスクノートを毎回作成していたらそれだけで保管庫が埋め尽くされると思う。

短期的タスクの分離

ただタスクノートに書くようなタスクは重要なものに限定したら保管庫埋め尽くされる問題が解決するかもしれない。

長期的タスクをノート限定にすることもいいかもしれない。

他の人から学ぶ

notionデフォルトテンプレ

このリンクにはnotionのデータベースメモアプリとしての良さが活かされているタスク管理手法があった。


タスクの親を設定してから、そこにタスクノートを作成していく形。
それをnotionデータベースで表示して一覧表示、期限や優先度を表示する感じになっている。
これだとアウトライナーで表示するよりもUIが良くて使いやすいと思う。

もしObisidianで使用するならDataLoomになるけどDBFolderも視野に入れていこう。
DataLoomなら![]()形式で埋め込み可能だしね

By Shin

ここにはshinという人が作成したnotionでのサンプルを提供している。


このタスク管理手法は一週間のタスクというか日々のやることをそのままデータベースに移してるっぽい。
ただ自分はここまで日々の生活を管理したくないからあんまり参考にはならない
タスク管理というよりは日々の生活管理に近い。

ただタスクリストもあった。
カテゴリの考え方は結構いいかもしれない。
TAGに優先度をつけてる感じらしい
これ結構いいかも

TAG-TASKS

tagでタスクにメタデータを付与していくのは結構いいかもしれない
#TASKS/PRORITY/HIGH
みたいな感じ
#TASKS/TERM/LONG
#TASKS/TERM/SHORT
短期的か長期的かはこんな感じでいいかもしれない。
絵文字も入れていい感じになるかも

#TASKS/PRORITY/HIGG:LiArrowUpCircle: