体調管理(と会社での感染予防)のために毎朝体温を測るのが習慣化しています。
しかし、朝の1分1秒は非常に貴重な時間です。できればiPhoneでの体温データ入力も極限まで無駄を減らしたいところです。
そこで、体温を最速で入力するためにはどんな入力インターフェースがいいのかを検討してみようと思いました。
HealthKitへの体温データ追加については前回調査しました
Swift: HealthKitに体温データを入力する。できるだけ公式ドキュメントだけを見て。
開発環境
- Xcode 13
- swift 5
- 対象プラットフォーム:iOS 14以上(主にiphone)
条件
- 主なユーザー:私
- 体温の単位は摂氏です
- 平熱は36℃台中盤で、35℃台になることはありません
- 40℃台になったことはありません。
タップ数ベースの参考記録
新規入力時
- ヘルスケアアプリ起動(1タップ)
- お気に入り登録してある「体温」の項目をタップ(1タップ)
- 「データを追加」をタップ(1タップ)
- iOSのソフトウェアキーボードで体温を入力(4タップ:"36.5"など)
- 「追加」をタップ(1タップ)
合計8タップ
ユーザーインターフェースの検討
※そもそも体温を測ったらiPhoneと接続して勝手に記録してくれる体温計があればいい話ですがそれは置いておきます。
どんな入力方法があるか考えてみます(実現方法は置いておきます)
画像入力
以下の2方法を思いつきました
- 計測後の体温計にカメラをかざして体温の文字列を読み込む方式
- 計測後の体温計の写真を撮って解析する方式
今後Try予定です
音声入力
「Hey Siri! 今日の体温は36.7度だったよ!」と言う方式です
今後Try予定です
タッチ入力
ソフトウェアキーボードをはじめとしたタッチ操作で入力する方式です。
とはいえソフトウェアキーボードを使用したアプリだと上記参考記録とタップ数は大差なくなってしまうので別の方法を考えてみます。
ソフトウェアキーボードじゃダメなの?
※1秒を惜しむ人間の思考です
- 仮に体温が「36.5度」だったとして、「3」と「.」は入力しなくて良のではないでしょうか?大抵変わるのは「6」と「5」の部分です。冒頭で示したように40度行くことはほぼないです。
- 修正するときにBackSpace入力するのがめんどくさいという思いもあります
これらに対して、「小数点以上」「小数点以下」それぞれで上書きで入力することができればいいのでは?と思い作成したプロトタイプが以下になります。
理想的には
- アプリ起動(1タップ)
- 小数点以上の桁入力(1タップ。平熱の場合タップ無しになることも)
- 小数点以下の桁入力(1タップ)
- 登録ボタン(1タップ)
合計4タップ
小数点以上、以下それぞれ独立して数値を上書きしていくため、入力後の修正もBackSpace不要です
repository
結果
今回は使用者を限定することで理論上ではタップ数が半減するインターフェースとなりました。
次回以降試してみたいことの一覧です
- タッチ入力
- スワイプなどの操作も活用できないか
- 画像入力
- 音声入力