iPhoneアプリ「勇者のポモドーロタイマー」をリリースしました!

アプリのご紹介

pomodoro01

underscore より、iPhoneアプリ 勇者のポモドーロタイマー をリリースいたしました。

このアプリは、勉強や仕事など、日常の作業に集中するためのポモドーロタイマーアプリです。

ポモドーロタイマーとは、作業を一定時間こなした後、しばらく休憩する、といったセットを繰り返すことで、リズムを作り出し、効率的に仕事をこなすテクニックを活かしたタイマーのことです。

なお、本アプリついては、SINが執筆しました以下の記事で、使用した技術などについて解説しております (SINさんありがとうございます!)

[iOS9] UIStackViewの事例紹介 | Developers.IO

App Store でダウンロードする

対応機種・OS

  • iPhone / iPod touch
  • iOS 9.0 以上

制作スタッフ

使い方

pomodoro-blog-01

本アプリは、ポモドーロタイマーのテクニックを応用して作られた、タイマーアプリです。

ポモドーロタイマーとは、仕事などの集中する作業を25分こなした後、5分間休憩する、といったセットを繰り返すことで作業を効率化テクニックを用いたタイマーです。

本アプリは、それを応用した形で、楽しく仕事を効率化する事のできるタイマーアプリとなっています。

基本的な流れ

pomodoro-blog-02

本アプリでは、作業時間を冒険に見立てています。

アプリを開始し、スタートボタンを押すと、勇者がトマトをもとめて冒険に出発します。

pomodoro-blog-03

勇者は敵を倒しコインを稼ぎながら、前に進んでいきます。

1回の冒険は、勇者がトマトをゲットした時点で終了です。その後、勇者は街に繰り出し、休憩します。

トマトを規定回数(設定画面で変更可)ゲットすると、冒険完了となります。トマト数はリセットされ、最初の画面に戻ります。

冒険はいつでも一時停止したり再開できます。

また、リタイヤボタンをタップすると、今回の冒険は中止され、最初の画面に戻ります。

アプリの利用方法

冒険の間は、みなさんが作業に集中する時間です。画面はあまり気にせず、作業に集中しましょう。

勇者が休憩している間は、もちろん皆さんも自由に休憩して下さい。この間、画面上では、冒険で手に入れたコインを使って、勇者の武器をパワーアップすることができます。

コイン

冒険を進め、敵を倒すごとにコインが貯まります。「コイン数」には今回の冒険でゲットしたコイン数、「累計コイン数」には、これまでゲットしたコインのトータル数が表示されます。

休憩時間と武器強化

pomodoro-blog-04

休憩時間の間は、武器を強化するチャンスです。武器強化ボタンに書かれている、必要コイン数を使って、強化された武器をゲットするためのチャレンジができます。持っている累計コイン数が足りなければ、チャレンジできません。

pomodoro-blog-05

武器強化ボタンをタップすると、抽選画面となります。当選すると、写真のように強化された武器がゲットできます。武器が強くなれば、モンスターを素早く倒すことが出来るようになり、お金がたまりやすくなります。

設定

貼り付けた画像_2016_02_20_15_43

冒険時間、休憩時間、そして冒険を何回繰り返す回数は、設定画面から変更できます。

通知

アプリ起動時に表示されるポップアップ画面で、通知機能を許可頂くと、iPhoneがロックされていたり、別のアプリをつかっている時も、アラーム音が鳴り便利です!

技術的な話

アプリがバックグラウンドに入った時の対策

アプリの利用者がホームボタンを押したり、iPhone がロックされるなどすると、基本的には、通常アプリの動作は止まります。

しかし、このアプリはタイマーアプリであるため、再びアプリを開いた時に、時間が進んでいる必要があります。また、たとえアプリがバックグラウンドにあっても、時間が来たらアラーム音が鳴ってくれる必要があります。

そこで、本アプリでは以下の対応をしています。これらにより、感覚的には、常にタイマーが動作しているように感じられるはずです。

アプリがバックグラウンドに入る時の時間と、フォアグラウンドに復帰した時の時間の差を計算し、その時間の中で起こっていたはずの事を、高速で計算し、各種パラメータや画面表示を更新しています。

コレにより、アプリがバックグラウンドにいる時には実際には動作は停止しているものの、フォアグラウンドに復帰した時、あたかもずっと動作していたかのように見せることを実現しています。

ローカル通知

本アプリでは、バックグラウンドにいる時にアラームを鳴らすため、ローカル通知を使っています。

あらかじめ設定された回数、作業開始・作業終了のアラームを鳴らすため、適切なタイミングで、あらかじめ複数回アラームが鳴るよう事前に登録しています。

以下の記事で、この技術について書かれています。

[iOS] ローカル通知について | Developers.IO

まとめ

手軽に使えて、作業集中ができるアプリです。

ぜひダウンロードしてみてください!

App Store でダウンロードする