ヘルスケアのデータを書き出して、実際に見る方法

あなたのiPhoneのどこかに、購入以来の歩数がすべて記録されています。Appleはそれを丸ごと渡してくれます。ヘルスケアAppには書き出しボタンがあり、隠されてもいません。

渡されるのは、たいてい数百メガバイトになる単一のXMLファイルが入ったZIPです。開いても、タグの壁が見えるだけ。技術的にはデータを手に入れた状態ですが、実際には読めないファイルを持っているだけです。

この記事では、そのファイルに実際に何が入っているのか、なぜこれほど扱いにくい形なのか、そしてどうすれば見られるものに変えられるのかを短くまとめます。

書き出しを取得する

ヘルスケアを開き、右上のプロフィール写真をタップし、一番下までスクロールして「すべての健康データを書き出す」をタップします。iPhoneはしばらく処理します。数分は普通で、Apple Watchを何年も使っていればもっとかかります。その後 export.zip というファイルが渡されます。

あとで見つけられる場所に保存してください。MacへAirDrop、ファイルApp、iCloud Driveなど、やりやすい方法で構いません。書き出しはスナップショットであり、リアルタイムの連携ではありません。ボタンを押した時点の状態を映したものです。

中身は何か

解凍すると、容量のほとんどは export.xml という1つのファイルです。ヘルスケアが記録してきたすべてが、Record要素のフラットな一覧として入っています。測定ごと、ソースごと、区間ごとに1件です。

この「ソースごと」がサイズの理由です。1日歩いた記録は1行ではありません。iPhoneが一部を記録し、Apple Watchが一部を記録し、それぞれが数分おきに別々の項目を書くため、数十行になります。さらに睡眠段階、ワークアウト中は数秒おきの心拍数、環境音レベルまで加わり、ファイルは急速に膨らみます。

同じ理由で、書き出しの歩数がヘルスケアの表示より多く見えることがあります。ヘルスケアは1日の合計を描くときに重複するソースを除外しますが、生の書き出しは除外しません。しかも、その処理をそのまま再現するのに必要な情報は含まれていません。

表計算ソフトでは解決しない

次に思いつくのは何かで開くことですが、たいていの人はここで止まります。表計算ソフトは100メガバイトのはるか手前で音を上げますし、そもそもXMLは表形式ではありません。1つの数字を見る前にパーサーを書くことになります。

もう一つよくある提案は、グラフにしてくれるウェブサイトにアップロードすることです。それが何を意味するか考えてみてください。あなたの身体に関する、現存する最も詳細な記録を見知らぬ相手に渡すことになります。いつ眠り、いつ動き、いつ3週間動かなくなったか。棒グラフ1枚と引き換えにする価値はありません。

1日1マス

このデータに合う可視化は折れ線ではありません。グリッドです。1日1マス、動いた量で濃淡をつけ、1年を一度に表示します。開発者にはGitHubのコントリビューショングラフとして知られています。活動記録で機能する理由はコードの場合と同じで、平均は空白を隠しますが、グリッドは隠せないからです。

私たちは、それだけを行うページを作りました。export.zip を選ぶと、ブラウザの中であなたのウォールを描きます。ファイルは開いているタブの中で読み取られます。アップロードも保存もなく、アカウントも不要です。この種のファイルを扱う、唯一誠実な方法だと考えています。

濃淡は1万歩といった固定の目標ではなく、あなた自身の活動日に合わせて調整されます。だから誰かが決めた数字との比較ではなく、あなたの習慣の形そのものが見えます。

見えるようになったら何を見るか

たいてい2つのことに気づきます。1つ目は、空白が記憶していた場所とはたいてい違うことです。多くの人は「あの月に途切れた」と言えますが、当たっていることはまれです。

2つ目は、再開の形です。空白のマスが並んだあとに再び緑が戻る様子は、1年を一度に見ると失敗には見えません。2つの連続記録のあいだの空白に見えます。実際にそのとおりだったのです。

1画面であなたの1年を。自分の書き出しからウォールを作るか、iPhone版 Wall of Truth を入手してください。

App Storeでダウンロード