PopWeightとiOS 8 HealthKitについての特にオチの無い話

Flaskのアプリ「体重記録 PopWeight」と、iPhone/iPadの次期OS、iOS 8で追加される「HealthKit」についてのひとりごと的な結論のない話。

HealthKitとは

HealthKit」とは、健康・フィットネス関連の個人的なデータを集中的に管理して、安全に保存・共有するiOSのフレームワークだ。

HealthKitに保存できるデータは、身長、体重、体脂肪、歩数、心拍数、血圧、呼吸数、摂取カロリー、消費カロリー、飲食物の栄養素、ほかにもいろいろ。
(今のところ任意のタイプのデータは保存できないらしい。たとえば腕立て伏せ何回やった、とかは記録できない)

データの記録方法は、iOS 8で追加される「Health」アプリやほかの対応アプリから手動で記録できるのはもちろん、さまざまなセンサーデバイス(Nike FuelBandやFitbit、Withings、UPなど)から自動で読み込むこともできる。

今まで各アプリごとにバラバラに保存されていたデータを一カ所に集めることができ、さらにユーザの許可のもとHealth以外のアプリでもそのデータを使うことができる! というのが「HealthKit」のメリットだ。

PopWeightではどうするか

我々の「体重記録 PopWeight」も、今はアプリ内にデータを持っているが、HealthKitに対応したいと思っている。

ユーザにとってみれば、データがアプリ内に囲い込まれなくなるわけなので、ほかのアプリへ乗り換えがしやすくなる。つまりアプリ開発者にとっては、ある意味リスクでもある。PopWeightはダウンロード数もそこそこあるので、囲い込んでたほうがいいんじゃないのかーって向きもあるかもしれない。
しかし、我々は開発者でありつつユーザでもあるし、囲い込むのも囲い込まれるのも嫌だ。「いろいろアプリ使ったけど、これが一番いい」と言われるのが大好きだし。最初から、CSVインポート・エクスポート付けてて元から乗り換えやすいアプリなわけだし。乗り換えて我々のアプリにたどりついてもらえる機会が増える、と思っている。

それに、メリットも大きい。
・ユーザがうっかり操作でアプリを消してしまって、かつバックアップ取り忘れていたとしても、HealthKitに保存されたデータは無事。
・HealthKit内に保存されたほかのデータを読み込めるので、ダイエットに有効な他のデータを表示できる。
端末間でデータを同期してくれる。(HealthKit、iPad対応と同期は今のところないようだ。残念)

さて、HealthKit対応するぞっ、と軽く言っても、データのフォーマットや保存先を変えるだけで済むのかというとそうでもない。PopWeightは1日1記録に徹していたこともり、内部的な整合性をとるのがなかなか難しいし、追加したい機能もある。

今までやりたいやりたいと思いながらユーザ数を考えるとなかなか踏み切れなかった「歩数」の追加。
またPopWeightによく来ている要望のひとつに「筋肉量」を記録したい、というものがあるが、それもHealthKit内に保存できるデータ(HealthKit的には正確にはLean Body Mass)だし、ちゃんと検討したい。
ほかにも摂取カロリーとか消費カロリーなんかも、記録している人にとっては体重に関連深い大切なデータだろう、とか。

HealthKitに保存できる項目を見ながら、ああ、ダイエットに関連するデータをすべて好きに表示できるようにしたいと、一瞬思ったりもした。だが、それもどうなのか。何でもできるというのは、何ができるかわかりにくいってことだ。PopWeight的には絞り込みたい。
アプリの目的(体重管理&ダイエット達成)、内部的な整合性、UIの分かりやすさを保ったまま、さあどうするか。HealthKitに保存できないデータはどうするか。

今まさにそこを考えていて、楽しいけど苦しいけど楽しいけど苦しいけど(以下ループ)、という感じでノートにいろいろ書き散らしてはそのまま寝落ち、みたいなことになってます。

iOS 8が出るのは秋、と言ってもきっと9月とかだ。あっと言う間だ。
ほかのiOSデベロッパのみなさまに置かれましても、きっと熱い夏を過ごすのだろうな。