iOSの「ヘルスケア」の対応について

『シンプル・ダイエット』では、常に最新の技術に目を向け、使って下さるみなさまにとって有用なものを利用できるように検討を行っております。同時に、世界累計400万回以上ダウンロードしていただいており、何年もの期間にわたって毎日記録をしてくださっているたくさんの方々の大切なデータに対する責任を重く受け止めており、アプリに変更を加える際には、その安全性、安定性、有用性などを非常に慎重に検討しております。

iOS 8より「ヘルスケア」という機能が追加され、体重や体脂肪率などの測定値の他、運動や栄養、睡眠など、ヘルスケアに関するさまざまなデータを1箇所に保存してさまざまなアプリやデバイス間で共有できるようになりました。

『シンプル・ダイエット』でも「ヘルスケア」に対応すべく、多大な時間を使ってさまざまな面から調査・検討とテスト実装を繰り返してきました。その結果、v2.7.0の現時点では対応を見送らせていただくこととなりました。

▲開発中だったヘルスケア関連の設定画面。かなり詳細のオプションまで実装した段階で様々な問題が明らかに。

ヘルスケア連携を期待していただいていたみなさまの中には、なぜ「ヘルスケア」に対応しないのか、詳しい理由を知りたいという方もいらっしゃるのではないかと思い、以下に見送りに至った主な理由と試行の経緯を書かせていただきました。技術的な詳細も含まれた長文で読みにくい文章ではありますが、詳しい理由を知りたいという方は、下記をご覧いただき、ご理解をいただけましたら幸いです。

1.さまざまなアプリとデータを共有することによる混乱

「ヘルスケア」と連携することで、他のアプリやデバイスで記録したデータを取り込むことができるようになります。例えば、ワイヤレス体重計で測定したデータが自動で「ヘルスケア」に書き込まれていれば、『シンプル・ダイエット』アプリで入力をしなくてもグラフでデータを見られるといったことが可能になります。または、今まで使っていた他のアプリからデータを移行するときなどにも便利でしょう。

しかし、「ヘルスケア」では、考え方の異なるさまざまなアプリがデータを書き込み、共有することになります。

例えば、『シンプル・ダイエット』では、1日の中の体重の変化についても重要と考え、測定時刻を秒単位で正確に記録することで、1日に何度でも体重・体脂肪率を記録できるようになっていますが、他の多くの体重管理アプリでは記録は1日に1つだけと決められていて、「ヘルスケア」に書き込む際には、時刻は0:00や書き込み時の時刻など適当な値が記録されます。

また、『シンプル・ダイエット』でテスト実装をした際には、「ヘルスケア」に既に書き込まれているデータを重複して書き込まないように配慮しましたが、別のアプリでは他のアプリが「ヘルスケア」に書き込んだデータを読み込み、そのデータを時刻を変えて「ヘルスケア」に重複して書き込む、ということを行うようになっている場合もあります。

▲(左)『シンプル・ダイエット』で体重を入力した後、”MyFitnessPal”と”Fitness Pro”というアプリを起動した場合の例。”MyFitnessPal”では1日に1つだけ体重データを記録できるようになっていて、1日のうちの最後のデータを選んでその日のデータとして読み込み、次にそのデータを重複して「ヘルスケア」書き込んでしまう。その際、書き込みを行った時刻をそのデータの時刻として記録してしまう。さらに、次に”Fitness Pro”を起動すると、元のデータのコピーのコピーまで作成されてしまう。(右)”Argus”というアプリでは、「ヘルスケア」から読み込んだデータをすべてタイムラインに表示するため、重複したデータが複数表示されてしまう。(2015年9月1日時点での調査)

このような状態で、『シンプル・ダイエット』に他のアプリが書き込んだ体重・体脂肪率のデータを取り込むことを考えた場合、それが実際の測定値なのか、他のデータの時刻を書き換えて再書き込みされたものなのかの区別がつかず、重複したデータを取り込んでグラフがめちゃくちゃになってしまうか、または本来取り込むべきデータを除外してしまいユーザーを混乱させてしまうかのどちらかの状況になってしまいます。

【問題点①】「ヘルスケア」には1つの測定データのコピーがどれが元の測定値か分からない状態で複数混在し、時刻も不正確。ここから読み込んだデータを正確に表示することは出来ない。重複したデータをそのまま表示するか、または、「平均する」「最後の1つを選ぶ」などの方法で統合して表示するかのどちらかしかなく、『シンプル・ダイエット』が目指す正確な測定記録の表示ができない。

そこで、「他のアプリのデータを取り込まない」というオプションをつけ、これをオンにするときには警告文を表示することを考えましたが、やはりこのオプションをオンにして他のアプリのデータを取り込んだユーザーが予想外の動作に困惑してしまうことは避けられないと思います。また、「他のアプリから取り込んだデータを全て削除」というボタンを追加して、予想外の状況になってしまったときには元に戻せるようにすることも考えてみましたが、おそらくそのボタンの存在自体に気付いてもらうのが難しく、結局どのような対策をしても根本的に混乱を招く状況を避けられず、解決策にはならないと考えました。

『シンプル・ダイエット』ではシンプルにわかりやすく使えることを非常に大切にしており、システム上の都合で「重複したデータを読み込んでせっかく毎日記録したグラフがめちゃくちゃになってしまった」「取り込まれるはずのデータがなぜか取り込まれない」といった体験させてしまうことは避けたいという思いから、他のアプリやデバイスからのデータの読み込みは難しいと判断しました。

2.不特定多数のアプリにデータを晒すことの不安

次に、他のアプリやデバイスで記録したデータを読み込むことなく、『シンプル・ダイエット』で記録したデータのみを読み書きするように制限することで、『シンプル・ダイエット』のデータを他のアプリで読み込んで利用したり、またデータのバックアップとしても利用価値があるのではないかと考えました。

しかし、「ヘルスケア」に書き込んだデータはユーザーが許可したものならどんなアプリからでも読むことが出来てしまいます。「ヘルスケア」と連携したアプリは、Appleの審査を通過しているので信頼できるはずだ、というのが基本的な考え方であると思いますが、App Storeの現状を見る限り、審査基準に違反しているにもかかわらず審査を通過してしまっているアプリは多く見られ、審査を通過したから必ずしも安心だと言える状況ではないと思います。

また、「ヘルスケア」ではどのアプリがどのデータにアクセスできるかを詳細に設定できるようになっているため、信頼できるか分からないアプリにはユーザーの責任でアクセスを拒否すればよいと考えることもできますが、例えばFacebookの診断アプリなどで個人情報が流出してしまう件が後を絶たない状況を考えると、全てをユーザーの責任としてしまうのは無理があるのではと考えます。

▲「ヘルスケア」のアクセス許可設定。各アプリ毎に、どの項目に読み込み/書き込みが出来るかをユーザーが詳細に設定できる。しかし、そのアプリが本当に信頼できるかを判断することは難しく、よくわからないままアクセスを許可してしまう人も多いのが現状ではないだろうか。

表向きは普通の体重管理アプリでも、実はユーザーが気付かないうちにバックグラウンドで「ヘルスケア」のデータを自社サーバに収集してマーケティングデータとして販売していた、などという悪質な例が今後発生しないとも言い切れません。

【問題点②】「ヘルスケア」に保存したデータには不特定多数のアプリがアクセスできる。たとえAppleの審査を通過したアプリで、ユーザーがアクセス許可を設定したとしても、悪意のあるアプリがデータを流出させるリスクを完全に回避することはできない。

「ヘルスケア」にデータを書き込むことが一概に危険であると考えているわけではありませんが、『シンプル・ダイエット』ではより安心して使っていただくために、ユーザーが自分のデータを完全にコントロールできることを非常に大切に考えていますので、大切なユーザーのデータを今後いつ現れるかわからない悪意を持った業者によるアクセスに晒してしまうリスクを冒してまで「ヘルスケア」から得られるメリットがあるかどうかということを吟味する必要があると考えました。

3.暗証番号ロックが無意味化してしまう

もう一つ単純な問題としては、『シンプル・ダイエット』ではアプリを起動する際に暗証番号ロック画面を表示して、暗証番号を入力しないとデータの入力や表示ができないようになっていますが、「ヘルスケア」アプリを使うと暗証番号なしでデータを見ることが出来てしまうため、暗証番号ロックの意味がほとんどなくなってしまうという問題もあります。Appleの意図としては、iPhone自体に暗証番号または指紋認証でのロック機能があるので、アプリ単位でのロックは不要ということだと思いますが、iPhoneのロックだけでは十分ではなくアプリ単位でのロックもあった方が安心だと思うユーザーも多いため、アプリでの暗証番号ロックの意味がなくなってしまうのは問題だと考えます。

▲(左)『シンプル・ダイエット』アプリは暗証番号ロックを設定していた場合、起動時に暗証番号の入力が求められる。(右)「ヘルスケア」アプリは暗証番号なしで開くことができ、『シンプル・ダイエット』で入力したデータも見ることが出来てしまう。特に、バックアップの目的でメモのデータも「ヘルスケア」に書き込んだ場合は、それも丸見えになってしまう。
【問題点③】『シンプル・ダイエット』アプリ内で暗証番号ロックを設定していても、「ヘルスケア」アプリを使えばデータを見ることが出来てしまい、暗証番号ロックを設定している意味がなくなってしまう。

4.「ヘルスケア」の機能を有効に活用したアプリケーションがまだない

「ヘルスケア」の理想的な利用方法は、他のアプリやデバイスから得られたデータと比較したり統合したりすることで、新たな価値を生み出すことだと思います。

例えば、体重と睡眠のデータを比較することで、その人の睡眠が体重に与える影響を解析して、その人の体重管理にとって理想的な睡眠時間を算出したり、体質の類型を割り出して予想される病気やその予防方法をアドバイスしたりといったことで新たな知見が得られるならば、それは大変有用なことと思います。

しかし、「ヘルスケア」の発表から1年が経過した現在のところでは、具体的にこのような活用ができる有用なアプリケーションはまだほとんど見当たりません。Apple製の「ヘルスケア」アプリはユーザー向けに使いやすく作られたものというよりかは、むしろ「ヘルスケア」データベースの全データを閲覧・追加・編集・削除する機能を網羅した開発者向けのツールという意味合いが強いものになっています。また、「ヘルスケア」に対応した既存のアプリでは、「ヘルスケア」から読み込んだデータを単に別々のグラフに表示したりといったことはできますが、異なるアプリ間でデータを共有することで単体のアプリで利用する以上に有効に活用できているとは思えません。

▲『シンプル・ダイエット』で入力した体重のデータを”MyFitnessPal”で表示した例。”MyFitnessPal”は食事のカロリー管理アプリとして非常に優れているが、体重のデータをカロリーのデータと並べて表示して比較したりすることはできない。これならば体重のグラフは『シンプル・ダイエット』で、食事のデータは”MyFitnessPal”で別々に見た方が見やすく、「ヘルスケア」の利点をあまり有効に活用できているとは言えない。

また、例えば「体重と歩数を比較する」といった単純な応用が有用であるとするならば、「ヘルスケア」との連携をしなくても、iPhone 5sから追加された歩数計の機能を使えば、例えば『シンプル・ダイエット』アプリ内で体重と歩数や登った回数を比較できるようにするといったことも将来的には可能です。

『シンプル・ダイエット』には従来からGoogleドキュメントのスプレッドシートにエクスポートする機能があり、「ヘルスケア」を活用した実用的なiOSアプリがない中で独自の解析を行いたい場合には、この機能を活用していただく方が、現実的により自由度の高い利用が可能だと思います。

【問題点④】現状では「ヘルスケア」の機能を有効に活用したアプリケーションがなく、リスクに見合うだけの利点がまだない。

5.「iCloud」と「ヘルスケア」の両立ができないことによるバックアップ先の問題

『シンプル・ダイエット』の次回のアップデートを考えたときに最も重要な課題の一つは、自動的にデータを安全な場所にバックアップして、大切なデータの喪失を防ぐことです。

iOSでは極希に、アプリのアップデート時にネットワーク接続の問題等でダウンロードに失敗した際にデータが全て失われてしまうという問題が内在しています。この問題はiOSの黎明期から存在し、未だに解決されておらず、アップデートをリリースする度にデータが全て消えてしまったという報告を数件いただいて、非常に申し訳なく、何とか対策をしなければならないと考えてきました。

バックアップ先の候補としては、iOSを使っている人なら誰でも必ず利用できる場所が理想的で、「ヘルスケア」が発表される前はAppleのクラウドサービスである「iCloud」を検討してきました。

その後、iOS 8と同時に「ヘルスケア」の機能が発表され、こちらも本来の機能に加えてバックアップとしての機能も担えるのではないかと候補に加えて検討してきました。

しかし、Appleの規約により、「ヘルスケア」と連携するアプリはデータを「iCloud」に保存することはできなくなってしまいました。そこで、「ヘルスケア」に対応するか、「iCloud」を選ぶか、どちらか一方を選ばなければならなくなってしまいました。

▲Appleの審査基準の一部。”27. HealthKit and Human Subject Research”の項目27.3には、「ヘルスケア」と連携するアプリでユーザーの健康データをiCloudに保存するものはリジェクトされると規定されている。

そこで、まずは「iCloud」を諦めて「ヘルスケア」をバックアップとしても利用することを検討しました。しかし、ここで2つの問題に遭遇しました。

1つ目の問題は、「ヘルスケア」を完全なデータのバックアップ先として利用するには、体重と体脂肪率だけでなくメモのデータも「ヘルスケア」に保存しなければならないという点です。メモのデータはとてもプライベートな情報を含み、他の人には見られない前提で記入をしていることが多いと思います。しかし、上記2と3で述べたとおり、メモのデータを「ヘルスケア」に保存すると、他のアプリからでも読めるようになってしまう上、「ヘルスケア」アプリを使えば暗証番号ロックを回避してメモの内容を読むことが出来てしまいます。これではバックアップはとりたいけど他のアプリには公開したくないというニーズには応えることが出来ません。

2つ目の問題は、『シンプル・ダイエット』アプリを削除する際に、「ヘルスケア」に保存したデータも削除するかを確認するメッセージが表示され、「削除」を選ぶと「ヘルスケア」からもデータが全て削除されてしまうことです。これでは、間違えてアプリを削除してしまった場合のバックアップとしては不安が残ります。

▲「間違えてアプリを削除してしまったのでデータを復元したい」というお問い合わせをいただくことは意外に多い。間違えてアプリを削除してしまう状況を想定すれば、この確認メッセージも誤って「削除」が選ばれてしまう可能性は高く、バックアップ先としては適していない。

これらの問題を考慮すると、やはり「ヘルスケア」をデータのバックアップ先として利用するのは適切ではありません。そう考えると、「ヘルスケア」か「iCloud」かの選択で「ヘルスケア」を選ぶと、「iCloud」という有力なバックアップ先の選択肢が失われてしまいます。

バックアップ先として独自にサーバを用意する方法も検討してみましたが、やはりデータを外部のサーバに送信することを全てのユーザーに強要するというのは受け容れられないでしょう。バックアップはできる限り全てのユーザに行っていただきたいものですから、やはり「iCloud」が適切な選択肢であると考えました。

【問題点⑤】Appleの規約により、「ヘルスケア」か「iCloud」かは二者択一。両方を同時に使用することはできず、「ヘルスケア」を選択した場合には「iCloud」にデータをバックアップするという選択肢が永遠に失われてしまう。不特定多数のアプリからアクセスできる「ヘルスケア」は非常にプライベートなメモのデータを保存しておくには適しておらず、また、間違ってアプリを削除してしまった場合に「ヘルスケア」からもデータを全て削除するオプションが選べてしまい、バックアップ先としてはあまり適していない。

このような不安や問題点と、得られる利点と比較すると、現状ではリスクに見合うほどの十分な利点があるとは言えず、現時点での「ヘルスケア」の対応は見送らせていただくこととしました。

思想の異なる不特定多数のアプリやデバイスがヘルスケア関連のデータを共有するという試みはまだ始まったばかりで、今後を注視していきたいと思います。もし将来的に有用なアプリケーションが登場し、データの安全性が確保できると確信できれば、また対応を検討したいと思います。

「ヘルスケア」に対応して欲しいというご要望を多くいただいている中でご要望にお応えすることが出来ず、また既に詳細な実装と検討に多くの時間を費やしてしまった後での苦渋の判断となりましたが、ご理解いただけましたら幸いです。

『シンプル・ダイエット』は今後も安心して使っていただけることを第一に考え、シンプルでわかりやすいというコンセプトを大切に、より便利に使っていただけるように進化して参ります。

今後とも『シンプル・ダイエット』をどうぞよろしくお願いいたします。