世界一視覚的でわかりやすい!ポモドーロタイマーのアプリ「Tomatimer」

Sponsored Link


ポモドーロタイマーのアプリをUnityで作ってみた!

どうも、Linです。筋肉、覚えてます。

 

ポモドーロテクニックという仕事の集中力を保つためのメソッドをご存知ですか??

簡単にいうと、

25分働いて5分休む

という短いサイクルを数回回すことで集中力を保ったまま仕事に取り組めるテクニックです。

ぼくは今までブラック企業で鍛えた持ち前の長時間労働体制で働いていましたが、Daigoの「超集中力」という本に載っていたこのポモドーロメソッドを試し始めてから世界が変わりました。

自分の集中具合がタイマーで測るとかしかできますし、何よりもタイマーをスタートすることで集中するという習慣を作ることができたのが大きかったです。

そのぼくを劇的に変えてくれたポモドーロメソッドの25分働いて5分休む、というタイマーをUnityでアプリ作成してみたのです。

その名も、

Tomatimer(トマタイマー)

です。

 

 

ポモドーロタイマー「Tomatimer」の使い方

ってことで、簡単にぼくが作成したTomatimerの使い方を書いておきましょう。

 

Start 画面

まずはまあありがちなんですが、スタートボタンを押してタイマー画面に遷移します。

 

ポモドーロタイマー アプリ

 

準備はいいですね?

 

働く時間をスタート

早速、タイマーをスタートさせて25分働きましょう。

フライパン下の赤いボタンを押すとタイマーのカウントダウンが始まり、25分を数え始めてくれますよ。

 

ポモドーロタイマー アプリ

 

ここでのポイントは、

仕事の時間中はフライパンの中でトマトが料理される

ということ。

ポモドーロタイマー アプリ

普通のタイマーは視覚的に動きがないつまらないものばかりですが、Tomatimerは一味違います。

トマトが火に炙られてウネウネ動くのでちょっとみているだけでも面白いです。

 

5分休憩

25分のワークタイムが終了すると、自動的に休憩時間を5分間カウントダウンしてくれます。

 

このフェーズでは休憩すべきなのでトマトも炙られてません。

また、作業した量を可視化するため、1つのワークタイムが終了すると左上のトマトの数が増えていきます。これにより、今のところ自分はどれほどのポモドーロサイクルを回したのかが一目瞭然というわけです。

 

長時間の休憩

ポモドーロメソッドでは、3〜4つのサイクルを回した後は15~30分ほどの長時間の休憩を取るのが良いとされてます。

そのため、このTomatimerでも長時間の休憩時間を測定できるよう、

REST

というコマンドを右下に用意しました。

ポモドーロタイマー アプリ

このボタンを押すと、先ほどまで炙られていたトマトも一休み。

ベッドに入って休憩しています。

 

休憩時間が終了しましたら、先ほどと同様に赤いスタートボタンを押せばワークタイムに戻ることができます。

 

1日の最後に

1日の仕事が終わりましたら、一番下の「FINISH」というボタンを押してみましょう。

ポモドーロタイマー アプリ

すると、

  1. 今日の働いた時間
  2. 今日、長時間休憩した時間
  3. ポモドーロサイクルの数

が表示されます。

完了したタスク量とを見比べながら、今日は自分はどれくらい仕事に集中できていたのか内省し、帰宅しましょう。

 

 

Unityでポモドーロタイマーのアプリを作る中で勉強になった3つのこと

とまあ、またきもいアプリをUnityで作ってしまったわけですが、このTomatimerの作成過程で次の3つのことが勉強になりました。

 

ランダムに数値を生成する方法

まず、炙っているトマトをブルブル震えさせるためにランダムの数を生成する必要がありました。

ランダムに生成した数値をトマトのオブジェクトのtransform値としてUpdate関数で拾ってやることで、ブルブルとした震えを再現しました。

>>詳しくは「Unityでランダムに値を生成する方法

 

Unityでカウントダウンタイマーを作る方法

続いて、Unityでタイマーを作る方法です。

 

TimeクラスのdeltaTimeという1フレームあたりのフレーム時間を、Update関数内でフレームごとに引いてやることで、元の時間をカウントダウンさせることに成功しました。

特に苦戦したのが、

タイマーをデジタル表記にする条件分岐

でしたね。数字が1桁になった時は数字の前に0をつけるとか、そこらへんの微妙な帳尻合わせが意外にもクソめんどくさかったです笑

 

シーン間で変数を共有する方法

あとはシーン間で変数を共有する方法ですね。

Tomatimerでは、

  • 自分がこなしたぽもドールサイクルの数
  • 自分が働いた時間
  • 休んだ時間

を記録して最後のFINISH画面で表示せねばなりませんでした。

そのため、

  1. タイマーのシーン
  2. 結果表示のシーン

で同じ変数を共有する必要があり、その共有方法が少々回りくどく苦戦しました。

>>詳しくは「Unityのシーン間で変数を共有する方法」へ

 

 

しかし、問題点が噴出!笑

と、一旦こんな感じでポモドーロタイマーのアプリを作成し、Androidストアで公開してみたのですが、このアプリには致命的な欠点があることに気づいたのです。

 

それは、

アプリがバッググラウンドになるとタイマーをカウントできない

というやつです。

あくまでもタイマーが進むのは、スマホの電源が入っていてアプリが起動されている時のみ。

それ以外の、

  • 他のアプリを使用している時
  • スマホをスリープ状態にしている時

はタイマーのカウントダウンが進まず、自分が仕事していないことになってます笑

タイマーアプリにとってこれは致命的!

 

今後はこの致命的な欠点とともに、

  • タイマーが終了するとバイブで知らせてくれる
  • 今日だけじゃなくて過去の仕事の記録も保存できる

のような機能を付け加えていきたいと思います。

 

それでは!

Lin

飯橋凛(Ihashi Lin)

インターネット広告代理店を1年半で退職。
その後、副業として活動していたウェブメディア運営のフリーランスへ。
現在はプログラミングの勉強に励み、0からフリーエンジニアの道を目指す。最近はキムチをまとめ買いにはまっている。


Sponsored Link

コメントはこちらからお願いします!



もう1本読んでみる