CAT GETTING OUT OF A BAG

What the tester is thinking.

コーヒーの香りを楽しむための Apple Watch アプリを作りました

普段、紅茶やルイボスティーを飲むことが多いのですが、猫廼舎さんコーヒー豆が通販で買えるようになったので、毎日1杯だけハンドドリップする時間を作りました。コーヒーを淹れるときの香りには、人間の脳に働きかける二つの効果(癒しと集中力)があるそうです。

20秒間、時計の秒針を見てるのが辛い

コーヒーを淹れるのは、頭の回転が鈍くなる午後2時から3時くらい。リフレッシュして(午後5時まで)あと1、2個のテーマでテストするぞーと思う時間帯です。

コーヒーを淹れるときの手順はこんな感じ。

  1. ペーパーフィルターをドリッパーにセットする
  2. ドリッパーにコーヒーの粉を入れる
  3. 粉の表面に20cc程度のお湯を注ぎ、20秒ほど蒸らす
  4. 中心部に「の」の字を描くように、お湯を数回に分けて注ぐ
  5. できあがり

この手順 3 のとき、ハンドドリップならではのふわっとした良い香りがするのですが、時計(Apple Watch)の秒針を20秒間見てなきゃならない。これが地味に辛い。

20秒たったらお知らせしてくれる Apple Watch アプリを作りました

コーヒーを淹れるときの手順はこんな感じになります。

  1. ペーパーフィルターをドリッパーにセットする
  2. ドリッパーにコーヒーの粉を入れる
  3. 粉の表面に20cc程度のお湯を注ぐ
  4. Apple Watdh アプリを起動する
  5. ボタンを押す
  6. 香りを楽しむ ← ここが重要
  7. お知らせ(チャイム音と手首トントン)がくる
  8. 中心部に「の」の字を描くように、お湯を数回に分けて注ぐ
  9. できあがり

手順が増えたけど(笑)蒸らし時間を気にしないでコーヒーの香りだけを楽しむことができます。

このアプリの特徴やこだわり

  • 20秒たったらお知らせすることに特化する
  • 視覚以外(聴覚と触覚)でお知らせする
  • 時間を設定することはできない(20秒固定)
  • アイコンでも20秒以外は対応しないという強い意志を示す
  • アイコンの背景色は「モカ」という色を使用(コーヒー豆を意識)

f:id:miwa719:20181111144340j:plain f:id:miwa719:20181111145742j:plain

  • 画面は見ないので凝ったデザインにしない 
  • 画面に Button とか Label という文字が表示されていても気にしない *1

f:id:miwa719:20181111145752j:plain f:id:miwa719:20181111150257j:plain f:id:miwa719:20181111145812j:plain

問題点:Apple Watch がスリープしてるとお知らせしてくれない

シミュレータでまあまあいい感じに動くようになったので、実機(Apple Watch)にインストールして動作確認をしていたら、20秒たってもお知らせ(チャイム音と手首トントン)してくれないときがあるんですよ。どうやら Apple Watch がスリープしてしまうと通知しないみたい(そうなるように実装しているんだろうけど…)。大問題ですね。アプリを動かしたら Apple Watch がスリープしないように目で監視しなきゃならないわ*2。これでは困ります。

解決方法

そもそもなんでスリープするのか調べていたら、Apple Watch の設定で「タップ時」というものがあるのですね。知らなかった。

f:id:miwa719:20181111162127j:plain

「15秒間スリープ解除」というのは「画面が表示されたままになる時間が15秒間」という意味で(分かりづらい)鋭い人はもう分かったと思うけど、この設定を変更しました。

f:id:miwa719:20181111162136j:plain

こうすればアプリ起動後、70秒間はスリープ状態に移行しないので問題解決です。(自分のためだけのアプリだから、これで良いことにする)

タップ時の設定をこれまでの15秒から70秒に変えたことで、バッテリーの持ち時間にすこし影響が出るかもしれませんね。Apple Watch がスリープ中でもアプリからお知らせする方法を調べるのは、必要に迫られたらやろう。

新しく覚えたこと

開発環境

その他

来月のとちぎRubyの勉強会 #toruby で Rubyist にコードレビューしてもらおうかな。Swift だけど。前にキッチンタイマー(言語はC#)を作ったとき、みんなにコードを見せたらでダメ出しされたので耐性はついてる。

f:id:miwa719:20181111153242p:plain

 

ドリッパーとペーパーフィルターは、こちらで購入したものを使っています。

item.rakuten.co.jp

item.rakuten.co.jp

猫廼舎さんはスイーツも美味しいです。お店に猫はいないけど、猫好きな店主がいます。コーヒー豆はこちらから購入できます。(スイーツと店主の @ogijun さんは通販してません)

cafenekonoya.shop

*1:これは自分に言い聞かせています。開発環境など諸々のアップデートをしながら、週末の二日間で動くものを作りたかったので。プロジェクト名も sec20 にしてあれこれ手を出さないように自分で自分をコントロールしたよ。名前重要!

*2:こんな運用回避は嫌だ