#ToDo 関連のメモ ( #sorashima )

「物の状態が最終的にこうなっていたら良いな一覧と、その為の手順を書き込む」アプリを使う上でのメモなど。(内容が古いまま、間違ったままもあるので注意。)広告が自動で挿入される無料版ブログサービスを利用しているので、PVが増えても一銭の得にもなりませぬ

[ 記事一覧へ ]

#Informant 4( #Toodledo )のタスクやチェックリストアイテムを #たすくま ( #taskuma )に送る #Workflow

目次

メインで使っているカレンダー/タスクアプリ

Informant 5の完成度がまだ低いので、メインのカレンダー・タスクアプリは一つ前のバージョンであるInformant 4を利用している。

有料のInformant Syncも同期させているが、他のアプリやサービスとの連携を考慮して、タスクはToodledoと同期。

Toodledoにはカレンダー出力があるので、それを利用してスタート・期限が設定してあるタスクをAppleカレンダーと同期させている。(Googleカレンダーは、提携しているカレンダー以外は1〜2回/日しか更新されない。)

タスクの実行アプリは?

タスクを管理するにはInformant(Toodledo)は有用だが、実行に関しては???

そこでポモドーロタイマーアプリと連携するためのWorkflowを以前書いたが、連携ではタイマーの長さを柔軟に設定できない難点がある。

どうせなら、実際に実行した長さに基づいてタイマーを設定してくれるアプリは無いものか?と探したら、あった――Taskuma。

Taskumaは、半分はタスク完了リストとして使い(←タイマーをスタートさせてすぐに止めるというとても煩わしい操作をしている。何も割り当てられていないタスクの右スワイプ操作で、現時刻を開始・終了時刻として完了になってくれれば楽なのだが)、残りは、リマインダーや、タイマーアラーム(ポモドーロ的な)として使っている。
ここまで多機能のマルチタイマー(同時進行可能)・リマインダー、ログ取りが一つになったアプリを他に知らない。

ただこの使い方は、このアプリの本来の使い方であるタスクシュート方式からは大きく外れているハズだ。タスクシュートの使い手の方からすれば噴飯ものだろうが、自分にはタスクシュートの手法はあまり必要ないので許してほしい。
海苔を切るハサミをシュレッダーとして使ったり、電子レンジをおしぼりを暖めるためだけに使うみたいに、本来の目的以外の使用にもたいへん便利なアプリなので。特にタスクを手動で自由に並び替えられるのは。

一度は挫折したTaskuma

Taskumaを最初使い始めた時は、全ての行動の前に一呼吸入れてTaskumaに記録を開始しなければならない煩わしさ、何かやろうとする度に記録のために一時停止させられ気持ちを折られるストレス。その蓄積に耐えられなくなって、16日目で挫折した。

そして、一週間ほど休んで再開。今度は「いきなり全てを記録することはやめて、記録しておきたいことだけ記録すれば良い」と考えを切り替えて気持ちが楽になったからなのか? 変化が起きた。
意外にも、記録しておきたいことだけどころか、全てを記録するのも以前と比べて苦にならなくなっていた。
少し休んだことで頭の中に新しい回路ができる時間が確保されて、Taskumaに記録する行為に対する免疫力ができたのかもしれない。

まあ、とにかく今度は22日間続いている。

InformantとTaskumaの使い分け

繰り返されるタスクはリピートタスクとしてTaskumaに登録し、不規則に入ってくるタスクをInformantに入れる事にした。
大量の同じタスクが連日並んでいても見づらいだけだが、これだと不規則タスクだけをカレンダーで俯瞰できて便利だ。

当日の不規則タスクはカレンダー経由でTaskumaに自動的に入力されるので、Informantがオープンリスト、Taskumaがクローズドリストという使い分けにもなる。

Informant 4+Taskumaで困っていること

カレンダー再読み込みをすると既に読み込んでいる当日のタスクが増殖していく

朝、始めて起動すると設定の「カレンダー取込」で指定したカレンダーが自動的に取り込まれるが、その後Informantに追加したタスクを取り込もうと「カレンダー再取込」を実行すると、既に取り込まれている未来開始予定のタスクがダブって増殖していく。

そこで手動でInformantからtaskumaにタスクを送るWorkflowを作ってみた。

但し、TaskumaのURLスキームは「タスク名」・「見積時間」・「プロジェクト名」しか受け付けないので、新規タスクの場合は「開始予定時刻」は送れない。(リピートタスクの場合は既に登録されている内容が入力される) *1

ちなみに、TaskumaにはCSVインポート機能というものもある。
こちらでは、URLスキーム経由では送れない「日付」や「開始予定時刻」や「セクション」や「タグ」も設定できるのだが、何故か残念なことに、全てが「新規タスク」扱いになる。Taskumaの中心的仕組みである「リピート・タスク」が扱えないのだ。勿体ない。
この様に、URLスキームもCSVインポートも未完成なままという印象を受けるが、今後完成の方向に向かうのだろうか?
*2

チェックリストはカレンダー経由では送られない

Taskumaと合わせるために、Informantでは、いくらでも階層を増やせるサブタスクの利用をやめた。代わりにチェックリストを利用することにした。
プロジェクト→タスク→チェックリスト。これなら構造がTaskumaと同じだ。
しかし、このチェックリスト型のアイテムというものは、そもそもToodledo自体には存在しない。 これは多分、Informant Syncを利用して独自に拡張した機能だろう。

なのでToodledoのiCalender出力にはチェックリストまでは出力されない。(もし出力されたとしても、Taskuma自体にもそれをチェックリストとして取り込む仕組みは無い。)
そこで、コピペで写す事になるが、チェックリストの項目数が多いと大変だ。

WorkflowでInformantからTaskumaに送る仕組みを作ってみる

「タスク名」と「プロジェクト名」、そしてDueからStartを引いて「見積時間」を算出し、タスクを新規に追加したりリピートタスクを追加するWorkflow


これはInformant 4のチェックリスト型タスクの詳細画面。

  • タスク名は「タスク1(チェックリスト)」
  • プロジェクト(フォルダ)名は「日常雑事」
  • タスクの開始日時は明日の7:00で、期限日時は明日の7:30の30分間
  • チェックリスト項目として、次の二つがある。
    • チェックリストアイテム1
    • チェックリストアイテム2


こちらは同じタスクをFocus(アジェンダ)画面でタップして内容を表示したところ。
この吹き出しにある共有メニューアイコンからWorkflowを実行する。


だが、InformantからWorkflowに渡されるデータには、残念なことに開始時刻が含まれていない。

そこで、タスク名と期限日時をキーにカレンダーを検索して開始日時を取得し、見積時間を算出する。


そしてTaskumaに新規追加されたタスクがこちら。
タスク名以外に見積時間とプロジェクト名も入力されている。

これで開始予定時刻も入力できたら完璧なのだが。(人によってはメモ欄の自動入力も必要だろう)

チェックリストをクリップボードにコピーするWorkflow

こちらは、上のInformantからWorkflowに渡されるデータにおいて、「横罫線のすぐ下に太字で表示されているものは全てチェックリストアイテム名である」という特徴を利用して、チェックリストアイテムを抽出してリストを作り、それをクリップボードにコピーするWorkflow


その結果をTaskumaのチェックリスト追加画面に貼り付けると、


無事にチェックリストになった。


Workflowにおいて時刻データの取り扱いに不具合?があって苦労した。
実行する時間帯によってWorkflowがエラーになったりならなかったり。

「8:00」と書かれた文字列。現在時刻がそれより早い午前7時だと「午後8時」と解釈され、現在時刻がそれより遅い午前9時だと「午前8時」と解釈される。
同じデータが現在時刻によって解釈が午前と午後の間をコロコロと変わってしまうなんて。


*1:バージョン1.2.1からURLスキームで日付と開始予定時刻も送れるようになった。残念ながら、現在、この変更に対応する時間が取れそうにない。

*2:Dropboxバックアップ機能でDropboxにバックアップしたmysqlファイルを、何らかの方法で書き換えてインポートし直すという力技が、一番理想とする結果を得られそうな予感がするのだが、そもそもそんなことが可能なのだろうか?