2012年1月9日月曜日

[toodledo] Toodledo で深夜のタスクに生じる問題と、その部分的解決策


== はじめに

佐々木正悟さんの「((:<a href="http://www.amazon.co.jp/dp/4492580948/">クラウド時代のタスク管理の技術</a>:))」に倣って、
生活に関する全ての行動をタスクとして Toodledo に突っ込んでみたところ、
深夜にちょっと困ったことが起こりました。

== 問題点

私は 24 時に寝るのを目標にタスクを登録しているのですが、
時としてそれ以降にずれ込んでしまうことがあります。
そのときは、日付が変わってからタスクにチェックを入れることになるのですが、
タスクの繰り返し条件を "Repeat from Completion Date" としているものがあると面倒なことになるのです。

具体例を挙げましょう。
毎日 23:50 に終了予定の繰り返しタスクがあったとします。
たとえば今日が 1/9 とすると、1/9 の 23:50 が終了予定です。
このタスクがなんらかの都合で遅れて 1/10 の 0:10 に終了したとしましょう。
言い換えると、1/10 の 0:10 にチェックを入れることになります。
もし、このタスクの繰り返し条件が "Repeat from ((*Due*)) Date" ならば
次は 1/10 の 23:50 に終了予定がセットされます。
これは期待した動作です。

では、このタスクの繰り返し条件が "Repeat from ((*Completion*)) Date"
ならばどうなるでしょうか?
チェックを入れたのが 1/10 になってからですから
1/10 の分が終わった扱いになってしまい、
次は 1/11 の 23:50 に終了予定がセットされるのです。
つまり、1/9 の分をチェックしたつもりが 1/10 の分まで消えてしまうのです。
これは期待した動作ではありません。

このまま使う場合は、
チェックを入れる際には時計を見て、日付が変わっていた場合はチェックしてから
Due Date と Start Date を一日戻す、という操作をしなくてはなりません。
別の方法としては、 "Repeat from Due Date" にしておけば
タスクがスキップされるのは避けられますが、
それだと「このタスクは本当は "Repeat from Completion Date" である」
と覚えるかメモする必要がある上、
チェックを入れたあとに Due Date と Start Date
が期待した日になっているか確認・調整する作業をしなくてはなりません。
どちらの方法も面倒くさいので困っていました。

== 部分的解決策 (ブラウザ版)

先日、根本的ではないものの解決策を思いつきました。
それは

「タイムゾーンの変更」

です。
先に、欠点を挙げておきますと

* アラームなど時刻に関係するものを使っている人にはおすすめできない
* ブラウザ版には有効だが、iOS などのクライアントには現実的ではない

となります。

佐々木式に Context でセクション分けをしているだけなら問題は生じないと思われます。
また、私の手元では今のところ、タイムゾーンの変更前後で
Start Time, Due Time に入力した日時がずれるなどの
症状は起こっていません。

ブラウザからのタイムゾーンの変更方法は以下のとおりです。

((*注意: タイムゾーンの変更により何らかの悪影響が生じる可能性があります。自己責任で行ってください!*))

  画面右上の Setings
  -> Account Settings の中の Timezone Regional Settings の欄の右側にある edit を選択
  -> Timezone の欄の auto のチェックボックスにチェックが入っていたら外す
  -> auto のすぐ左のプルダウンを選択して好きな時間だけ巻き戻す
  -> 下にある黄色い Save Changes ボタンを選択

日付が変わった後にこの操作をやって
Hotlist などをリロードすると、表示が前の日に戻るのが分かると思います。

巻き戻す時間数ですが、
確実に寝ているだろう時刻と 0 時との差だけ巻き戻せばよいと思います。
私の場合は AM 5 時には確実に寝ていると思い、5 時間巻き戻しました。
こうすると、Toodledo の中では日本時間の AM 5 時になってから次の日になるので、
その時刻までなら "Repeat from Completion Date" のタスクにチェックを入れても先程の問題は生じなくなりました。
これで、深夜のタスクに関する問題は解決しました (ただしブラウザ版に限る)。


== 部分的解決策 (iOS 版クライアントの場合)

ブラウザ以外からも操作している場合はもう少し設定が必要です。
私は iOS 版クライアントも使っていますが、
そのままの設定で同期するとブラウザ版のタイムゾーンが元に戻ってしまいました。

iOS 版クライアントでは以下の設定をする必要がありました。

  アプリを立ち上げる
  -> 右下の「設定」タブをタップ
  -> 「一般設定」の「同期」バーをタップ
  -> 「タイムゾーンの同期」をオフにする

これで同期してもタイムゾーンが変わらなくなりました。
ただ、iOS 版クライアントのほうでは iOS のタイムゾーンを使うようで、
本気でやるなら iOS の「設定」でタイムゾーンをいじらなくてはいけません。
さすがにそれは他のアプリへの影響が大きすぎるのでやりませんでした。

== さいごに

結局、「日付が変わった場合はブラウザから操作する」という条件がついてしまうのですが、
従来よりは考えることや操作数が減ったのでまあいいか、と考えています。

根本的な解決方法をご存知でしたらぜひ教えて下さい。

0 件のコメント:

コメントを投稿