タスクリストの代替としてのキュー
まとめ
名前はQDL - Queue Driven Life
発想の転換
デイリータスクリストは使わず、nのキューを使う
すべてのキューの中身をゼロにしたらその日はおしまい
タスク
タスクはボールとして扱い、キューにボールを入れる
「今行っているタスク」は「キューから一つボールを取り出している」によって実現する
同時に二つのボールは所持しない
マルチタスク禁止
割り込みが来たら他のボールはいったんキューに退避せよ(そういう目的のキューがある)
定期タスクは?
ログは?
終わったボールをゴミ箱に捨てる
このゴミ箱に「全てのボールが集まっている」ので、これをログとみなす
システムボールもある
たとえばキューを消したときは「キュー1を消した」という名前のボールをゴミ箱に入れる
これでキュー1を消したという行動のログが残る
フェーズは3つ
1: hello phase
キュー達にボールを補充するフェーズ
一日の最初にやる
2: life phase
キューからボールを取り出して過ごすフェーズ
3: bye phase
一通り落ち着いたところで「今日はおしまい」と切り上げるフェーズ
一日の終わりにやる
余ったボールがあれば明日やるキューとかに先送りする
-.icon
色んなリストつくって仕事や生活してる人は枚挙にいとまがない
リストの代替というかタスクリストの代替として
1 なんかいける気がしてきた
たとえばこういうのが考えられる
もらったメッセージを突っ込むキュー
対応完了したよキュー
今日はだるいので対応やめよキュー
15時までに済ませるものキュー
割り込み入ったのでこれちょっとあとでキュー
空いたときに取り出すキュー etc
キューからキューに繋げる
https://gyazo.com/8207bb8296e34029ecc55c49f3686e78
こんな感じで、色んなキューを連携させていくことで回していくみたいなパラダイム タスクではなく「ボール」という
euqueue(キューに入れる)とは、キューという筒にボールを入れるみたいな感じになる
親しみやすいと思う
キューとかマニアックな用語すぎて敷居高すぎるからな
たぶん用語は「ボール」と「チューブ」でいいと思うsta.icon
何が嬉しい?
code:こうではなくて
task1
task2
……
task7
code:こうなる
残りタスク数:7
次のタスクを取り出しますか?
ゼロを目指すためにひたすら動けばいい
割り込みに強い
今やってるタスクを「あとで再開するキュー」とかにぶっこんでおけばいい
で、戻ってきたら、
code:あとで再開する.queue
残りタスク数: 1
ここから取り出して続きする
2 仮にsta.iconがやるとしたら、ちょっと考えてみよう
code:queues
= inbox()
= 今日の予定(2)
= 👋VIP:Tritask検討(2)
= VIP:Scrapbox本を書く(2)
= 👋VIP:XXX社への転職準備(0)
= 中断:割り込まれたので一時退避したやつら()
= 渉外系(2)
= クリエイティブ系(1)
= 事務作業(1)
= インプット系()
= 考え事したいンゴ(1)
= ああだるいなぁ()
= ゴミ箱(-)
= 👋明日やる。空いたら引いてもいいよ(4)
= 👋明後日でいいや()
= 👋来週でいいや()
= 定期:朝一でやる(3)
= 定期:朝やる(1)
= 定期:昼前にやる(1)
= 定期:昼やる()
= 定期:夕方やる(2)
= 定期:定時前にやる(4)
---
キューはたぶん二次元的にアイコンとかも使って配置した方がいい
そしたらレイアウト整えたい人とかも刺さりそう
基礎概念
ボール …… タスクのこと。
キュー …… ボールがn個入っている。
手持ち …… 今取り出して手元にあるボール。
手持ちは1個強制
kz
マルチタスクしたい人用
手持ちはシステム上に「今のタスク」みたいな感じで常に表示されているわけだが、ここの表示数がnになる
んー、n増えすぎてもただのリストになるしなぁ……sta.icon
うん、n=1にしよう
人間はシングルタスクな生き物なのです
一つずつ処理することを推進させたい
あれこれボールを切り替えられる使い心地があれば問題ないはずだsta.icon*3
1日の始まりはどんなイメージ?
「Start day?」から始まって、「yes!!!」すると、初期処理が始まる
1: 定期キューにルーチンボールが詰められる
2: 予定キューにボールが詰められる?
カレンダーから連携して自動反映するといいのか?
それともVIPと同様、自分で入れた方がよい?(面倒くさいけどリマインダーを仕込むような操作感になる)
3: 昨日のやり残しがinboxに全部入る(ので仕分けろ)
4: VIPキューたちにボールを入れなさい
ボールの複製はしない
kz2
終わったボールをまた入れる、ならありえる
が、これは複製ではない。「おかわり」みたいな感じだろう
kz1
inboxから取り出したこのボールをキュー1と2に入れる、みたいなこと
案外アリでは?
こうもり問題に悩むくらいなら両方に入れればいいんだよsta.icon
で、あとから2つ目のボールが取り出されても「あ、これさっきやったわ」とすぐ捨てればいいだけだし
使い所はこの辺だな
https://gyazo.com/c572d579b4c9ddedc234c0848048a84d
……いや、使うか?
「渉外系だけどインプットでもあるよなぁ」なんてことある?
ないだろ
むしろ「そうならないようなキューを事前につくれ」が正解だよなsta.icon
ナシで
ログもシンプルにする
終わったボールをゴミ箱にすてる程度
ゴミ箱にはこれまでのボールが全部貯まっている(ので振り返りはできる)
時間の記録とかはしない
この概念は「せっせと処理する」に振り切っているので、余計な管理機能はなるべく付けない
リキューはしない
kz
リキューはどうする?
requeue。一度dequeueした要素をまたenqueueすること。造語。
行う場合
上記もしたが「おかわり」になる
休憩キューは何度もボールを使い回す形になる
意味なくね?
そしてゴミ箱にボールがたまらないので後から休憩したことがわからない
行わない場合
ゴミ箱に貯めることができる(ログれる)
キュー側が0になった場合に、手作業で追加する必要がある
そして「もともとの想定より足りなかったね」という情報はログれないのでわからない
要らねえか?sta.icon
taskchuteじゃねえんだし
残数ゼロになったファディキューはカウントを増やせるが、システムボールでその旨を追加しておく
kz
それ以上カウントは増やせなくする
これは不便
だし意味ない。結局やるよね?
たとえば2022/06/01今日はオナニーキューが0だとしても、オナりたくなったらやるよね?
増やしてもよい
増やせないといけない
が、増やしただけではそうしたことがわからない
増やしてもよい + 記録を取る
たとえば「カウントこれだけ増やしたぞ」という名前のボールをつくって、すぐにゴミ箱にぶちこむ
システム内部で自動的にやればいい
これなら後で振り返ったとこに「あ、2カウントあらたに増やしてるわ」とかわかる
これはsystem ballって名前で汎化できそう(システムメッセージみたいな)sta.icon
これかな
clear queue
キューの中身を破棄する
内部的には「~~キューのn個のボールを破棄しました」的なシステムボールをつくってゴミ箱にぶちこむ
delete queue
キューを消す
これもシステムボールつくってぶちこんでおきたい
いつenqueueするか?
その日の最初に 自動
定期キュー系
inboxキュー(前日時点で「明日やるキュー」に入ってたボール)
ファディキュー(その日の最初に 自分で カウントを増やす)
VIPキュー
休憩キュー
この手のキューは入れるボールが一種類なのでfaddy queueと呼ぶ(faddy。好き嫌いが激しい=一種類しか食べない)ことにするsta.icon
日中 自分で ボールを入れる
日中 自分で カウントを増やす
---
inboxキュー
いやinboxだめだな
リストじゃなくて俯瞰できないので、すぐ処理すべきものを後に入れた場合(かつ既にある程度入ってる場合)にそれが見えない
あるいはinboxを高速で回転させれば可能
これか?sta.icon
たとえば17個溜まってるとして、1個3秒くらいエイエイ取り出して仕分ける。よーわからんものはまたinboxに戻す……みたいなことをやる。何なら何回もやる。
これやsta.icon
予定キュー
予定どうする?
今日の予定.queueから取り出す?
13:00に「14:00から会議」を取り出す?
いや、14:00前に取り出さないと詰むけど
キューの色を強調させて「おいもう少しで始まるぞ」感出す?
近づくにつれて真っ赤にするとか
VIPキュー
❌わかりづらいよな
無限キュー
= tritask検討(無限)
こうすればいいんじゃないか?
最初に「今日何回するか決めて入れる」
4回するなら4個入れればいい
= tritask検討(4)
これならポモりたい人もできる
名前が思いつかんsta.icon
VIP、かな
高待遇的扱いってことで
休憩キュー
休憩するとき「よし、休憩するぞ」で休憩キューから休憩ボール出す
出しとくだけ
そのまま休憩する
戻ってきたら、そのボールをゴミ箱にポイ
定期キュー
ルーチンボールが入ってるキュー
キューはセクション単位でつくるといい
まあまんまルーチンタスクですわsta.icon
中断キュー
システムデフォで必ず1つある(設定で無効にすることもできる)
急に割り込みが入って今の仕事を中断せざるをえなくなったとき、「割り込み入ったわ」操作をすると、今のボールがこのキューに入る
つまりワンタッチの操作で入れることができる
1秒で入れたいsta.icon*2
「ああ、うん、今行く」と言いながら手元動かして、もう入れられる
ご褒美キュー
もっと細分化できる?
アイスクリームキュー
オナニーキュー
---
たとえばこんなのがあったとする
code:queues
= inbox()
= 今日の予定(2)
= 👋VIP:Tritask検討(2)
= VIP:Scrapbox本を書く(2)
= 👋VIP:XXX社への転職準備(0)
= 割り込まれたので一時退避したやつら()
= 渉外系(2)
= クリエイティブ系(1)
= 事務作業(1)
= インプット系()
= 考え事したいンゴ(1)
= 👋明日やる。空いたら引いてもいいよ(4)
= 👋明日やる。今日は無視してええ()
= 定期:朝一でやる(3)
= 定期:朝やる(1)
= 定期:昼前にやる(1)
= 定期:昼やる()
= 定期:夕方やる(2)
= 定期:定時前にやる(4)
これは以下を意味する
今日は予定が2つある
重点的に取り組みたいのが2つあって、どちらも2ポモくらい回したいな
日々の仕事は、人と調整するのが2つ、事務作業とクリエイトするのが1つずつあるね、あと考え事したいことが1つある
明日に回すのはすでに4つ
ルーチン系はまあ計10個ちょいくらいある etc
👋ついてるやつ以外は今日中に0にしたい
VIPについては、「Scrapbox本を書く」だけ第二領域じゃないってことがわかる
3 実装少し考えてみるか
が、全く浮かんでこないなー、まだ何か足りない?
hook
キュー出し入れ時にイベントを差し込めるようにする
userscriptみたいに書けるイメージ
---
.
inbox queueはある
section queuesもある
この時点で「ある時間帯において見なきゃいけないキュー」は2本sta.icon
table:inboxは全時間帯(フルレンジ)で、sectionはその時間帯のものだけ見る
朝 昼 夕方 夜
inbox = = = =
朝やる =
昼やる =
夕方やる =
夜はルーチンタスクしません!とか設定すればもちろん1本になる
概念はもう出てる。あとどんなキューを置いたら最低限の認知で回せる?sta.icon*2
.
pausing queue(中断キュー)。ただし普段は見えない。今ボール持ってるときに「割り込み入ったわ」操作をするとそのボールがpausing queueに入り、このキューも表示される
schedule queue(予定キュー。たとえば9時と14時の2件がある場合、=(2)になる。あるいはsectionと同様、時間帯ごとに見せる(午前に=(1)、午後に=(1)。
.
rest queue(休憩キュー)。休憩するときにここからボール取り出す。
この時点で4本sta.icon
inbox, section, schedule, and rest
.
trash queue。ゴミ箱。実質ログとして機能。システムボールも入る。
tomorrow queue。明日やる。
t-tomorrow queue。明後日以降やる。
この時点で4本+off-queueが3本sta.icon
あとは仕事系のタスクをどう処理するか
第四領域的に考える
第一: pausingを使え
第二: faddyでVIP queue?
第三: しのげないならpausingで頑張るしかない。しのげるなら既存のqueueでなんとかする
inboxに入れていったん忘れるのもいい
第四: fassyでBonus queue?
3
オンデマンドタスク。その日列挙したその日限りのタスク。
第二領域的タスク。かねてから継続的に取り組んでいるやつ。
サドンタスク。突然やりたくなったタスク。思いつき。中身はマジで重要なのから遊びまで色々ある。
あまりキューを並列に並べても選択コストうざいので、なるべく直列にしたいsta.icon
オンデマンドタスクを回すアイデア
survive queue
code:その日開始時はたとえばこう。6個のボールが入っている
=(6)
code:6個全部終わった段階で2個を「もう一回やる!」とした場合、こうなる
=(0/6)
=(2)
code:2週目もやって、うち1個について「さらにもう一回やる!」とした
=(0/6)
=(0/2)
=(1)
code:3週目で納得したらおしまい
=(0/6)
=(0/2)
=(0/1)
生き残りが少しずつ減っていくことからサバイブと名付けたみたsta.icon
このキューの数は事前に決めておく
おそらくその人その人のポテンシャル次第で自ずと決まってくるはず
2とか3とか4。5以上はどうだろ。イメージ湧かね
パターン色々あるなー。全部見てくべsta.icon
並列3。survive queuesとvip queuesを並べる案。選択コストエグそう
https://gyazo.com/bf82daf48d1926edb8e04a8411e214e5
並列2。オンデマンドとVIPを混ぜる案。surviveをフロントに置いて、VIPはバックに。フロントsurviveキューが太りそう
https://gyazo.com/1dc75eeb189b0318949d3f4101866a59
vip1,2,3と3つあって、今日のオンデマンドが4個あって、vip1とvip2は2ポモ、vip3は1ポモで回したい場合、単純計算でも4+2+2+1=9個のボールがserviceキューに入る。=(9)になる。ちょっとでかくね?
並列2。surviveフロント、VIPバック、VIPはsectionに入れる。sectionにVIPが混ざる
https://gyazo.com/574ec8bf347bbff4adae29e11824fad8
「ルーチン」と「ワーク系」も混在している問題がある
せいぜいTritaskでできてたレベルまでしかできないsta.icon
だから没かな
❌
並列1。sectionに入れてしまう案。section queueたちが太りそう
https://gyazo.com/d55a2dd349d78fcb56e6f55e06e6dbdf
各section queueはルーチン、オンデマンド、VIPが混ざってる
太るし、「ルーチン」と「ワーク系」も混在している問題がある
これがあるので没
❌
---
並列度全パターン見るわ
R ルーチン、O オンデマンド(survive)、V VIP
table:a
R O V 並列数
1 1 1 1
1 1 2 2 ❌ルーチンとオンデマンドを混ぜる案。オンデマンドはそもそも読めないのでありえない
1 2 1 2 ルーチンとVIPを混ぜる案(VIPもルーチンタスクとして扱う案)
1 2 2 2 オンデマンドとVIPを混ぜる案。surviveフロント、VIPバック、VIPはsurviveに入れる
1 2 3 3
うん、実質4パターン。全部洗い出したなsta.icon
---
どれがいいかなー
特に何もなければまあ並列3しかねえよなぁsta.icon
並列2のsurvive-front vip-back、が有意義なら採用する。そうでもないならしない。
ちょっとだいぶ進んだので散歩して少し寝かせる at 2022/06/04 14:50:38
survive-front vip-backでええんちゃう、となりそうsta.icon
とにかくキューというブラックボックスから一つずつ取り出してオラオラ処理してく、という流れをつくることが大事だと思われるので
そうか?たとえば=(12)とかだったらやる気なくなるだろ
=(7)でもちょっとしんどい
1つ20分のボールだとして、140分、約2.4h……いやそんなもんか?
午前で処理できる量
並列3はありきたりだよな
sections | survive | VIP、それぞれ6本、1本、3本だとしたら
code:a
--------- sections --------- -- survive -- ----- VIP -----
| | | | | | | | | | | | | | | | | | | |
あ、sectionsは時間帯に当てはまるやつだけ見せるから、
code:a
-- sections -- -- survive -- ----- VIP -----
| | | | | | | | | |
4本
これらのうちどれか一つを選んで、ボール一つ取り出すという営為になる
典型的には
「sectionsはさっさと0にしちまうか」 ここは確定だよなsta.icon
で、その後、「surviveをバランスよく終わらせていこう」
んで残りはひたすらVIP
どっちがいいんだ。わかんね。試してみるしかねーかsta.icon
結論
並列3 or 並列2(survive-front vip-back)どっちがいいかわかんねーので両方試そう
schedule queueよりもreminder queueが良いかも
「ここに入れたものはいついつにリマインドしますよ」という機能だけ提供する
これなら最悪「毎日カレンダーを見て今日の予定は全部ボールにして入れろ」で運用できるsta.icon
カレンダーからの自動連携、キツイだろうしね
でも当日に予定ガンガン変わる人はこの手作業運用キツイよなぁ。漏れるだろsta.icon
そういう人は「使うな」かな
outlookなどお使いのスケジューラーで頑張ってくださいーにする(しかない)
種類軸
faddy queue …… ボール一種類しか入らない
reminder queue …… 「おいそろそろこのボール処理せいよ」を教えてくれる
reserved-range queue …… 特定の時間帯にのみ出現する
そうではないものは full-range と呼び、常に表示されている
interrupt queue …… ボールが入ってきたら出現する。強調表示されている。
off queue …… 普段は非表示になっていて一操作すれば表示される。ゴミ箱、明日やるキューなど。名前は off-duty(非番)から取った
「40分以上作業したらボーナスボールを一個割り込ませる」みたいな仕組みはどう?
したいことが色々あって、この辺を全部盛り込める仕組みがあるといいか?
カウント管理したくなってきた at 2022/06/04
たとえば「コーヒー.vip.queue」つくって、コーヒー飲むとき or 飲んだ後に引く
格言問題対処もしたくなってきた at 2022/06/05
システムボール側でいかに集計するかが鍵
たとえばコーヒーはいつ飲んでるか傾向がわかるとか、コーヒー飲んでるグラフと腹痛いグラフを表示して俯瞰するとか
大体揃ったかな。
名前をつけたいsta.icon*2
タスクキュー
キューをn個使い分ける
タスクリストというと「デカイ一つのリストがある」イメージ
でもこのキューモデルってキューがたくさんあるんだよ。3,4個どころじゃないぞ
なのでタスクキューと呼ぶのはなんか抵抗感がある
「n個のタスクキューを使ったシステム全体」を指す名前が欲しい
本質的にはブラックボックスタスク管理
タスキューw
いや、もうこれでいいんじゃない?wwsta.icon
いや、タスクキューと同じだからダメ
キューを飼う
queue farm
queue field
queueield
workspace, work queue space, worqspace
ワーキュスペース
work queue、worqueue、ワーキュー
work lifecycle with queue、WLWQ
cycle queue、cyqle
キュー駆動生活
これかなぁ?sta.icon
「n個のタスクキューを使ったシステム全体」を指す名前が欲しい
だってさ、この時点で
1: WLWQみたいな略語路線
2: ~~駆動生活みたいな「生活の次元を指す言葉」
の二択しかなくない?
1は俺の英語力と応用力だと良い響きを導ける自信がない
queue driven life
QDL
きゅーどりぶんらいふ
きゅーどら
キュードラ?
キュードル
キュードリ
キュドラ
遊びすぎsta.icon
QDLでいいか
悪くないやんsta.icon
-.icon