長い間、自動車向けアプリにとってのもっとも大きな障害は法律でした。運転中に携帯電話を使用することは、重大な犯罪であり危険運転行為として取り締まられます。
州知事幹線道路安全協会(Governors Highway Safety Association)によると、運転中の携帯電話の使用は、米国の14州とワシントンDCで禁止されています。一方、Android AutoやApple CarPlayなどでステレオを操作することは50州すべてで合法です。
編注: Android AutoとApple CarPlayは、スマートフォン端末を自動車と接続し、ステレオやカーナビなどの機能を提供するシステム。
しかし、従来のアプリデザイナーやUXデザイナーが自動車のコンテキストに慣れていないこともあり、スマートカーにはデザイン上の課題がいくつかあります。
車と携帯電話をつなぐ目的
スマートカーのコンセプトは、運転手がステレオを操作する時間を最小限にするというものです。そのため、Android Autoでは携帯電話がステレオヘッドユニット(編注:カーオーディオの装置)に接続されると携帯電話の機能を無効化するようになっていました。
しかし、ユーザーはその無効にする機能をすぐに解除する方法を見つけ出してしまい、Googleはその抑止機能を廃止することになりました。そして、このアップデートにより、Android AutoはApple CarPlayよりも大きな一歩を踏み出すことができました。
車向けアプリの初期は、携帯電話のOSに関係なく、タッチスクリーンステレオが必要でした。携帯電話の機能の無効化は、運転手の携帯電話を操作したいという誘惑を(そして結果として交通違反を犯すこと)を排除するためのものでした。
さまざまな回避策がオンラインで投稿された結果、Androidは方向性を変えて、Android Autoのプラットフォームとして携帯電話を採用しました。これにより、旧式のステレオシステムを搭載した車両やステレオを搭載していない車両に機会が訪れました。
Android Autoアプリのための検証可能な最小限の機能(MVP)を設計するときは、自分の携帯電話からアプリを起動する人がいる一方で、ステレオヘッドユニットから起動する人もいることに注意してください。
もちろん、iOSとApple Car Play用にデザインしているのであれば、当面はステレオプラットフォームについてだけ注意すれば良いでしょう。
電話と車の接続
Apple CarPlayでもAndroid Autoでも、ステレオはUSBを介して携帯電話と通信します。Bluetooth接続を求める声もありますが、バッテリー容量の制約もあるためUSB接続が必要とされています。
ほとんどのユーザーにとって、GPSナビゲーションはAndroid Auto / Apple CarPlayのもっとも大きな魅力です。デザイナーは、バッテリーの消耗を最小限に抑えるためにGoogleマップを最適化するよう努めていますが、地図アプリは携帯電話のプロセッサに負担をかけます。
GoogleのエンジニアであるRobert Lowe氏は、以下のように述べています。
GPSは、長時間にわたって3つまたは4つの衛星と通信する必要がある非常に遅い通信チャネルです。モバイル機器はスリープ状態とアクティブ状態を素早く切り替えることによってバッテリーの消耗を抑えているのですが、GPSアプリはこの機能を妨げてしまいます。
Android Auto / Apple CarPlayのアプリを設計(または移植)するときは、プロセッサ(およびバッテリー)が、GPSナビゲーションアプリにより専有される可能性があることを理解しておきましょう。携帯電話のプロセッサの負担を最小化することはアプリのデザインでは常に重要ですが、ユーザーがほかの大きな電力を必要とするアプリを使う可能性があると考慮することがさらに重要になります。
自動起動
自動車向けアプリのデザインにおける重要な目標の1つは、ユーザーからの入力を最小限に抑えることです。
自動起動を実装することで、アプリを開くために必要な入力を省略することができます。音楽やナビゲーションに関するアプリであれば、ステレオヘッドユニットへのUSB接続時にアプリの自動起動をおこなうオプションをユーザーに表示しても良いでしょう。
運転手にとって便利なアプリ(ナビゲーション、音楽、天気などのカテゴリのもの)でない場合は、ステレオヘッドユニット接続時にアプリを自動起動するとスパムと解釈される可能性があります。自動起動を無効にする機能を追加するようにしましょう。
自動車向けアプリにおける入力方法
自動車向けアプリにおいて、ユーザーが入力をする方法は3つあります。3つの方法のうちの2つは、車とステレオシステムの仕様に依存しています。
物理的なボタン
現代の多くの車には、ハンドルに物理的なボタンが付いています。サードパーティ製のアクセサリーを使用すると、ハンドルから手を離さずにステレオを制御可能です。
このような物理的なボタンからの入力に対応したアプリを設計することで、運転手がより利用しやくなります。また、物理的ボタンとの互換性を最大限にするには、さまざまなコントローラーからの入力に対応する必要があります。
さまざまなタイプのコントローラーをすべて理解する作業が大変な場合は、任天堂の古いコントローラーに立ち返ってみましょう。
上記の任天堂のコントローラーにある8つのボタンは、最新のハンドルで一般的に見られるコントローラーの、最小限の実用的な製品モデルです。このコントローラーからの入力を考慮して車載アプリを設計すれば、そのアプリはほとんどの入力と互換性があるでしょう。
ステレオヘッドユニット
2つめの入力源は、ステレオヘッドユニットです。Android Auto / Apple CarPlayと互換性のあるほとんどのステレオユニットは、タッチスクリーンディスプレイを持っています。携帯電話やタブレット向けのアプリを既に設計している場合、ステレオヘッドユニットのタッチスクリーンはiOSやAndroidのプラットフォームと違いはありません。
ただし、ステレオヘッドユニットは、接続されている携帯電話よりも性能が良くないことが多いことに注意しましょう。ユーザーからの入力を受け取る最良の方法は、USB接続をした携帯電話のアプリをステレオタッチスクリーンに映すことです。
もう一度言います、ユーザーの入力を最小限に抑えることが自動車向けアプリの目的だということを忘れないでください。ステレオヘッドユニットの操作は、運転中のメールのような重大な犯罪ではありませんが、運転中の注意をそらしてしまうものであると覚えておきましょう。
音声入力
おそらく、もっとも安全な(そして、もっとも不満足な)入力方法は、音声入力でしょう。音声入力は、ユーザーがハンドルに手を触れたまま、アプリに入力することを可能にします。
ですが音声入力が、「play White Water」と「play Right Rudder」の違い(編注:違う言葉でも音が似ている)を解釈できるかどうかは議論の対象です。しかし、Android Autoを使ってGoogleの音声コマンドを利用すると、電話をかけたり、目的地を設定したり、メッセージを送信したり、別の曲を選択したりすることができます。
音声入力に対応したアプリでない場合は、音声入力に関するAndroidデベロッパーのガイドラインをご覧ください。
結論:カーステレオは携帯電話ではない
Android AutoとApple CarPlayを利用したアプリの設計は、携帯電話のアプリの設計と似ています。しかし、自動車向けアプリの設計には、独自の課題があります。
目的地へたどり着くということであれば、携帯電話だけで十分であるということを前提として自動車向けアプリを設計しましょう。入力方法は、ハンドルの物理的なボタン、ステレオヘッドユニット、または音声入力のうちの、いずれかでなければなりません。
このような限られた選択肢の中でも、ユーザビリティの階層が存在します。強力な音声認識アルゴリズムを使用している場合は、音声入力がもっとも使いやすい入力手段となります。ハンドルの物理的なボタンによる入力は2番目に使いやすい入力手段で、ユーザーのステレオヘッドユニットのタッチスクリーンでの入力が続きます(これは道路上で非常に注意をそらしてしまう可能性があります)。
クライアント用に自動車向けアプリを設計する場合は、この記事で紹介した独自の課題について覚えておいてください。