software

web service

lifehack

概要

百式さんの http://www.nouvelleblog.com/archives/2004/10/post_10.html にならい、時間を何に使ったかを逐一記録し、使途不明時間を減らすためのユーザーインターフェースの作例です。1〜9のボタンを何に使うかは自分で適当に決めて下さい。時間使途記録をiCal形式でダウンロードできるようになりましたので、iCal(または同等のカレンダーソフトウェア)でビジュアルに時間使途を見ることができます。

Screenshot

使い方

とりあえず上のURLにアクセスして下さい。何か作業をして、ひと息手を休める瞬間に、それまで作業していた内容が属する分類のボタンを押すと、時間使途が記録されます。適切な選択肢がない場合は、入力欄の文字列を編集してからボタンを押して下さい。よく使う項目5つがテキスト入力欄の右側に表示されますので、使いこめば、ほとんどテキストを入力することはなくなると思います。

ぼーっとしたあとで作業を開始した場合は、作業開始時刻を設定してからボタンを押して下さい。

下の円グラフには、過去24時間分の時間使途が表示されます。黒い部分が使途不明時間に相当します。

iCalendar形式で過去の時間使途をダウンロードすることができます。iCalなどのカレンダーアプリケーションで、自分がいつ何をしていたかを逐一思いおこして下さい。いちいちダウンロードするのではなく、自動的にfeedできるようにしてみました。過去一週間の時間使途をiCalに随時表示できます!

API

まだAPIというほどのものはありませんが、cgiのURLのうしろに、”?rdfical=1”と付けると、過去一週間の履歴をXMLフォーマットで入手できます。クッキーが使用できない環境では”id=セッションID”も付加して下さい。いずれ、時間があれば、試作UIからajaxで履歴を読みこむようにするつもりです(がいつになることやら)。

ダウンロードとインストール

作例ですので、詳細なインストール方法は解説しません。

インストールするには、PerlのCGI, CGI::Session, GDモジュールが必要です。

ical対応版をインストールするには、Data::ICalなどのモジュールも必要です。CPAN shellで適宜入手して下さい。

cookieでセッション管理していますので、cookieを置けるブラウザが必要です。セッションの寿命は7日程度に設定されています。(7日間アクセスがないと記録が消えます)複数のコンピューターから同じ記録を操作したい場合は、画面に表示されているSessionIDをコピーして使って下さい。

ここでは作例としてCGIで作りましたが、本来ならPalmあたりでofflineで動いてくれるとうれしいなあ。

その他

せっかくシゴタノさん( http://cyblog.jp/modules/weblog/details.php?blog_id=241 )で紹介していただいたのに、サーバ負荷が(別件で)重くなっていたので、うまく動かなかったかもしれません。すいません。現在は別サーバで稼動しています。

私自身は、先週からGTDとこれを組みあわせて、自分がやること、やったことを把握しようとしています。端末の前に座っている間は非常に詳細にログがとれるのですが、移動中の時間の使い方は記録できません。腕時計ぐらいのデバイスで、これが動いてくれるといいんですけど。

カテゴリーが10個なのは、携帯電話でテンキーで操作しやすいように、と思ったからですが、実際にはcookieが必要なので携帯電話では使えないでしょうね・・・。

References

ToDo

  • Dashboardへの対応。連続する同じEventをマージする。一度iCal形式でダウンロードしたeventは再度ダウンロードしないようにする。
  • ipod touchへの対応
  • 英語

ChangeLog

v0.5
2007-10-12 携帯からだとcacheが効いて更新できないみたいなので、cacheしないようにmetaタグを追加。ひとつのセッションを職場と自宅でシェアしやすいように、10分ごとにリロードするようにmetaタグを追加。携帯のボタンでダイレクトアクセスできるようにaccesskeyを追加。
v0.4
(2007-10-11)携帯での利用を考え、cookieを廃止した。utf8をSessionに保存すると誤動作する問題を解消。URLの変更。GDが使えないので、グラフをテキストで表現するように変更。
v0.3
([2006](/2006)-6-8)個別にiCal用の*.icsファイルをダウンロードするのではなく、随時iCal側でfeedできるように変更。だいぶ便利になった(そのかわり、遠い過去の時間使途記録は残らない)。
v0.2
時間使途データベースをsession別に分けた。utf-8に移行。icalへの対応を検討。一日の使途リストを、icalendar形式でファイルに出力する。
v0.1
初期版(Shift-Jis、データベースは共用)
## Linked from * [使途不明時間](/使途不明時間) ---- [Edit](https://github.com/vitroid/vitroid.github.io/edit/master/MD/使途不明時間.md)