ログをメモに残しつつポモドーロがしたい
ポモドーロテクニックとは25分の集中と5分の短時間休憩もしくは15分の長時間休憩を繰り返し、
仕事を集中的に行う時間管理術です。
自分はいつも使っているわけではないですが、
集中できない時にメリハリをつけるために使っています。
FirefoxのTomato Clockというポモドーロアドオンがあるので、
自分はそれをタイマー代わりに使っていました。
非常に使いやすいのですがブラウザ上で稼働しているので、
後で何をしたかを振り返るためにポモロードのサイクル結果を
具体的に行動ログを残す場合は
別口でメモ帖等に書かねばなりませんでした。
丁度昔、tkinterの練習用にその日の行動ログを残しつつテキスト編集してくれるアプリを作ったので、
それを改造してポモロード用のタイマー機能を追加することにしました。
要はポモロードのタイマーがついたメモ帖です。
完成(?)物
配布用Exe版
https://github.com/rabbitbeef/KetchupEXE
ソース
https://github.com/rabbitbeef/ketchup
設計や細かな仕様はともかくとりあえず自分の使う分には満足いくものができました。
画像のログは実験用ですが、
tomatoや休憩をしていた時間は
[11:0][tomato]
[11:25][tomato:End]
や
[10:55][ShortBreak]
[11:0][ShortBreak:End]
という感じで開始と終了の時刻を残してくれます。
また何をしたか等のログを直接メモに書き込むことができます。
反省
上でも書きましたが設計が雑です。
特にViewが分離していないです。
下
全部のクラスがtkinternに依存しています。
もともとtkinterで作った物を拡張して作る気でおり、
そのまま何も考えずに拡張してしまったのが原因です。
もし後でtkinterではなくKivy等の他のguiライブラリを用いたくなった場合、
改修箇所が多くなりです。
(それでも元のソースもそんなに長くないですが。)
もし自分が現状から変更するならですが、以下の図のような構成にします。
interfaceが増えましたが、
どうしてもtkinterが必要な、表示や書き込みに関係する部分はinterfaceを継承して作り、
それらはTkinterのパーツを使用します。
これならば、Tkinter以外のguiライブラリに変更する際にも、
前の設計に比べて影響や改修を少なくすることができそうです。
タイマー以外の機能を拡張も改修しやすく作ることができます。
機能を拡張するなら
ソースの方にはちょっと跡を残していますが、
タイマーやスタンプの設定をconfigで自由に変更可能にするとか
他のポモドーロ系アプリにも多いログから行動を集計する機能を作成するなど
あったら利便性高いかなという機能はありますが、
現状はメインの機能が取り合えず稼働して満足なので、
気が向いたら改修するかもしれません。
最後に
実は作成物を公開して上げるのは初めてなので、
もし使って頂けたなら、使用感やこういうのあると便利など、
レビューがあると嬉しいです。
駄文の反省ですが、
ここまで読んでいただきありがとうございます。