組み込みソフトウェアのユーザー行動をWeb解析のように確認できる
Qt InsightはQtで開発されたアプリケーションにトラッカーAPIを組み込むことにより、ボタンの押下や画面遷移などのイベントをクラウドに送信する機能を持っている。このプロセスは24時間365日稼働し、ユーザーの行動データをリアルタイムで収集できる。収集したデータはWebブラウザで確認できるダッシュボードで可視化される。Qt Insightには、Web解析で一般的な機能などが備わっており、組み込みデバイスにおいても同様の分析が可能だ。
データはQtが提供するクラウドサービスに収集されるが、ユーザー自身が管理できる「プライベートクラウド」のオプションもある。データの扱いに敏感な顧客に配慮したオプションだ。なお、ネットに接続していないデバイスの場合は、収集データを端末内に保管しておき、それを取り出してクラウドに一括アップロードすることもできる。
「例えば、OTA(Over The Air)アップデート機能を持つデバイスでは、ソフトウェアの行動分析を行った後に、リモートでUI変更などを実施し、その影響をQt Insightを用いて確認できます。A/Bテスト的な活用方法も可能で、インターネットサービスのような柔軟性をもたらします」(平井氏)
QtではさまざまなUIフレームワークを提供しており、美しいUIパーツを使った実装方法を利用できる。しかし、ユーザーが使いやすいUIを作ることは話が別だ。平井氏は「使いやすさは実際に試してみなければ分かりません。そこでQt Insightの役割が重要になります」と説明した。
Qt Insightのダッシュボードにアクセスすると、ユーザーの平均セッションの長さやデバイスの使用間隔が見られる。デバイス数や最も頻繁に利用されているユーザーインタラクション、ソフトウェアバージョン、最も閲覧されているスクリーンなどのデータも提供される。また、ユーザーがどの時間帯や曜日にアプリケーションを最も使用しているか、地域別の使用状況、アプリケーションのクラッシュ率なども確認できる。CPUやOSなどの情報も得られ、フィルタリング機能を使って特定の条件でのデータ抽出ができる。
ユーザーがどのようにアプリケーション内を見て回っているかを可視化する画面「User flows」では、サービス提供側が意図した画面にユーザーが実際にたどり着いているか、または想定とは違う画面に移動しているかなどが分かる。また、ソースコードとして存在しているものの、GUIとしてほとんど利用されていない「デッドコード」を特定することもできる。
Web解析で一般的な直帰率や、画面ごとの滞在時間なども各画面に対して分析できる。比較機能を使用すると、異なる国やデバイスモデル、ソフトウェアバージョン間での使用状況の違いを確認できる。これにより、特定のバージョンアップがユーザー行動にどのような影響を与えているかなどの分析が可能となっている。
さらに、ファネル分析機能もある。これは、設定されたステップに対しユーザーがどの程度完了しているかを示すものであり、特定の目標達成率を測定できる。また、クラッシュ分析機能では、アプリケーションのクラッシュ率を把握し、どのような操作がクラッシュにつながるかを特定することも可能である。