Activity Recognition Transition API による状況認識機能をすべてのデベロッパーに開放
2018年4月19日木曜日
この記事は Android Activity Recognition チーム、Marc Stogaitis、Tajinder Gadh、Michael Cai による Android Developers Blog の記事 "Activity Recognition’s new Transition API makes context-aware features accessible to all developers" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
スマートフォンは、人々がどこにでも持ち運ぶ中で最もパーソナルな端末です。これまで、ユーザーの環境や行動の変化に合わせてアプリの体験を調整することは困難でした。デベロッパーの中には、ユーザーが歩行や運転といった行動をいつ始めていつ終えたのかを判断するために、ロケーションやセンサーのデータなどのさまざまな信号を組み合わせて開発していました。ただ、アプリが独自にユーザーの行動の変化をチェックし続ける事は、電池寿命に悪影響が生じます。そこで本日(*原文公開当時)、すべての Android デベロッパーに Activity Recognition Transition API を公開します。これは、実際に知りたいこと、すなわち、ユーザーの行動がいつ変化したのかということを教えてくれるシンプルな API で、他の処理はすべて自動的に行ってくれます。
Transition API の導入は、Pixel 2 で導入された Driving Do-Not-Disturb 機能に利用するために、昨年 11 月より始まっていました。スマートフォンのセンサーで車の動きを検知して Do-Not-Disturb をオンにするというのは簡単に思えるかもしれませんが、実際には多くの課題が発生します。たとえば、車が停止した場合、ユーザーが駐車して運転を終えたのか、単に信号で停止しただけで運転は継続されているのかは、どうすれば判断できるでしょうか。また、運転以外の行動が急激に増加した場合、それを信じるべきでしょうか。それとも、それは一時的な分類エラーなのでしょうか。Transition API を使うと、すべての Android デベロッパーが Google で使われているのと同じトレーニング データやフィルタ アルゴリズムを利用して、高い確度でユーザーの行動の変化を検知できるようになります。
Transition API のテストは、Intuit と協力して行われました。そして、Intuit はこの API が QuickBooks Self-Employed アプリの理想的なソリューションであることに気づきました。
「QuickBooks Self-Employed は、自営業者が納税時の控除を最大限に活用できるようにするアプリです。節税をする上で必要となる、業務に自動車をどれくらい利用しているのかを簡単に表示する為に、走行距離は自動的に追跡することで、それを実現しています。Transition API が登場するまでは、GPS やスマートフォンのセンサー、その他のメタデータを組み合わせて走行距離を追跡する独自のソリューションを作成していました。しかし、Android 端末は非常に多様なので、アルゴリズムは 100% 正確ではなく、一部のユーザーからは、移動が記録されていなかったり不完全だったりしたという報告も寄せられていました。Transition API を使ったコンセプト実証版は、わずか数日で構築できました。現在は、それが既存のソリューションに置き換わっており、信頼性が高く電池の消費も少ないソリューションを提供できるようになっています。Transition API のおかげで、最良の税務ソリューションであり続けることに労力を集中できます」と、Intuit の Pranay Airan 氏と Mithun Mahadevan 氏は話しています。
同じように、Life360 もアプリで Transition API を実装したところ、行動検知の際の遅延や電池消費が大幅に改善されました。
「1000 万を超える家族に実際に利用されている Life360 は、世界最大の家族向けモバイルアプリです。私たちのミッションは、いつでもどこでも家族に心の安らぎを与えられる、家族の必需品になることです。現在私たちは、家族の運転をモニタリングするなど、現在地の共有と 24 時間 365 日の安全機能を通してそれを実現しています。そのため、電池の消費を最低限に抑えつつ正確に行動を検知することがとても重要になります。私たちの以前のアプリは、ユーザーがいつ運転を始め、いつ終えたかを判断するために、ジオフェンス、Fused Location Provider API、Activity Recognition API を組み合わせて使っていました。しかし、このアプローチには、たくさんの問題がありました。たとえば、どうすれば電池を極端に減らさずに運転の開始をすばやく検知できるか、Activity Recognition API から直接取得した粗く急激に変化するローデータをどう解釈するか、などです。しかし、Transition API をテストすると、以前のソリューションよりも精度が高く、電池の消費も少ないことがわかりました。私たちのニーズを満たす以上の結果でした」と、Life360 の Dylan Keil 氏は話しています。
今後数か月のうちに、さらに Transition API に行動を追加し、Android でサポートされる状況認識機能の種類を増やしていく予定です。たとえば、自動車と鉄道の区別などを検討しています。アプリで Transition API を使ってみたいという方は、API ガイドをご覧ください。
Reviewed by Takuo Suzuki - Developer Relations Team
スマートフォンは、人々がどこにでも持ち運ぶ中で最もパーソナルな端末です。これまで、ユーザーの環境や行動の変化に合わせてアプリの体験を調整することは困難でした。デベロッパーの中には、ユーザーが歩行や運転といった行動をいつ始めていつ終えたのかを判断するために、ロケーションやセンサーのデータなどのさまざまな信号を組み合わせて開発していました。ただ、アプリが独自にユーザーの行動の変化をチェックし続ける事は、電池寿命に悪影響が生じます。そこで本日(*原文公開当時)、すべての Android デベロッパーに Activity Recognition Transition API を公開します。これは、実際に知りたいこと、すなわち、ユーザーの行動がいつ変化したのかということを教えてくれるシンプルな API で、他の処理はすべて自動的に行ってくれます。
Transition API の導入は、Pixel 2 で導入された Driving Do-Not-Disturb 機能に利用するために、昨年 11 月より始まっていました。スマートフォンのセンサーで車の動きを検知して Do-Not-Disturb をオンにするというのは簡単に思えるかもしれませんが、実際には多くの課題が発生します。たとえば、車が停止した場合、ユーザーが駐車して運転を終えたのか、単に信号で停止しただけで運転は継続されているのかは、どうすれば判断できるでしょうか。また、運転以外の行動が急激に増加した場合、それを信じるべきでしょうか。それとも、それは一時的な分類エラーなのでしょうか。Transition API を使うと、すべての Android デベロッパーが Google で使われているのと同じトレーニング データやフィルタ アルゴリズムを利用して、高い確度でユーザーの行動の変化を検知できるようになります。
Transition API のテストは、Intuit と協力して行われました。そして、Intuit はこの API が QuickBooks Self-Employed アプリの理想的なソリューションであることに気づきました。
「QuickBooks Self-Employed は、自営業者が納税時の控除を最大限に活用できるようにするアプリです。節税をする上で必要となる、業務に自動車をどれくらい利用しているのかを簡単に表示する為に、走行距離は自動的に追跡することで、それを実現しています。Transition API が登場するまでは、GPS やスマートフォンのセンサー、その他のメタデータを組み合わせて走行距離を追跡する独自のソリューションを作成していました。しかし、Android 端末は非常に多様なので、アルゴリズムは 100% 正確ではなく、一部のユーザーからは、移動が記録されていなかったり不完全だったりしたという報告も寄せられていました。Transition API を使ったコンセプト実証版は、わずか数日で構築できました。現在は、それが既存のソリューションに置き換わっており、信頼性が高く電池の消費も少ないソリューションを提供できるようになっています。Transition API のおかげで、最良の税務ソリューションであり続けることに労力を集中できます」と、Intuit の Pranay Airan 氏と Mithun Mahadevan 氏は話しています。

QuickBooks Self-Employed の走行距離自動追跡機能
同じように、Life360 もアプリで Transition API を実装したところ、行動検知の際の遅延や電池消費が大幅に改善されました。
「1000 万を超える家族に実際に利用されている Life360 は、世界最大の家族向けモバイルアプリです。私たちのミッションは、いつでもどこでも家族に心の安らぎを与えられる、家族の必需品になることです。現在私たちは、家族の運転をモニタリングするなど、現在地の共有と 24 時間 365 日の安全機能を通してそれを実現しています。そのため、電池の消費を最低限に抑えつつ正確に行動を検知することがとても重要になります。私たちの以前のアプリは、ユーザーがいつ運転を始め、いつ終えたかを判断するために、ジオフェンス、Fused Location Provider API、Activity Recognition API を組み合わせて使っていました。しかし、このアプローチには、たくさんの問題がありました。たとえば、どうすれば電池を極端に減らさずに運転の開始をすばやく検知できるか、Activity Recognition API から直接取得した粗く急激に変化するローデータをどう解釈するか、などです。しかし、Transition API をテストすると、以前のソリューションよりも精度が高く、電池の消費も少ないことがわかりました。私たちのニーズを満たす以上の結果でした」と、Life360 の Dylan Keil 氏は話しています。

Life360 のリアルタイム現在地共有
今後数か月のうちに、さらに Transition API に行動を追加し、Android でサポートされる状況認識機能の種類を増やしていく予定です。たとえば、自動車と鉄道の区別などを検討しています。アプリで Transition API を使ってみたいという方は、API ガイドをご覧ください。
Reviewed by Takuo Suzuki - Developer Relations Team