タイムトラッキングツール「Quality-Work」Ver 2.0をリリースしました
リモート会議やリモート通話などを記録する機能を追加
Quality-Work1.0は、基本的に端末画面のウインドウがアクティブになっている時間を計測して、これを元にどの作業にどれだけの時間をかけていたのかを推定しています。また、マウスやキーボードからの入力が一定時間(3分間)以上ない場合は、作業が終了して端末の前から離れていると推定する仕組みになっています。しかし、これだけではうまく計測できないケースがあります。リモート会議、リモート通話、Webセミナーなど、ストリーミングデータを扱うアプリケーションでは、マウスやキーボードはあまり使いませんので入力が一定時間以上ないというのは普通に起こります。リモート会議をやっているのに、Quality-Work1.0では「作業をしていない」とみなされてしまうわけでです。
昨今では、リモートでのコミュニケーションの時間は日頃の業務のかなりの部分を占めるようになっているわけで、「何の仕事にどれだけの時間を使っていたのか」を正しく知るためには、この問題の解決は避けては通れません。
そんな訳で、V2.0版ではリモート会議、リモート通話で使うストリーミングを記録する機能を追加してみました。(ちなみに、私の調べた限りでは、リモート会議や通話を自動的に記録するようなものは見当たりませんでした。全てのソフトを使ってみたわけではありませんので、本当のところはどうかわかりませんが、、)

新機能の実現方法
ピーカーやイヤホンなどの再生デバイスへのオーディオ出力の有無を監視して、オーディオを使ったアクティビティがあったかどうかを判断しています。一定レベルのオーディオ出力が連続してあった期間を「音声アクティビティ」として記録します。

これにより、リモート会議、通話をはじめ、動画や音楽の再生も記録できます。音声デバイスへの出力を監視するためには、Quality-Workとは別に「ループバック機能を持つ仮想オーディオデバイス」用のソフトウェアをPCに組み入れる必要があります。「仮想オーディオデバイス」とは、必ずしもハードウェアではない仮想的な出力先のことです。ハードウェアではなくプログラムを出力先にする場合などに使います。「ループバック」というのは、システムからの音声出力を受け、これを入力に戻す機能のことです。これらを使うことで、下図のように、音声デバイスに出力される音声と同じデータをプログラムに取り込み監視することができるようになります。

このような仮想オーディオデバイスソフトウェアは、市販のもの、シェアウェアなどを含めいくつかありますが、Quality-Workで動作することを確認しているのは以下の組み合わせです。(その他の仮想オーディオデバイスソフトウェアでも動くとは思いますが、確認していません。)
Mac版
- BlackHole(仮想デバイスソフト:シェアウェア)+ 複数出力装置(ループバック機能:Mac標準ソフト)
Windows版
- VB-Audio Virtual Cable」(ループバック機能付き仮想デバイスソフト:シェアウェア)
なお、Windows10以降標準で装備されている「ステレオミキサー」というループバック機能付き仮想デバイスソフトでも動きますが、USBやBlueToothでヘッドセットや外部スピーカー等は使えません。
課題
このような実現方法でストリーミングを記録しているのですが、課題もいろいろあります。
1. 使うまでの設定などが結構面倒
Quaity-Workをインストールしただけてすぐに使える訳ではなく、サードパーティーのソフトウェアをインストールしたり、OSのオーディオ関係の設定を適切に行わないと使えません。色々と面倒ですし、間違えると最悪音が出なくなってしまったりもします。また、出力デバイス(スピーカーとかイヤホンとか)を変える度に設定を変更しなければいけません。
中々難しい問題ですが、Quality-Work専用の仮想オーディオデバイスを開発し、一緒に提供できればある程度は解決するかもしれません。(今のところ、自分で作る予定はありませんが、、)
2. 音声アクティビティーがどのアプリケーションと紐づいているのか確実に特定できない
残念ながら、この方式ではPCから出力された音声がどのアプリケーション(どの画面)により出力されたかを直接知ることはできません。そこで、音声出力があった期間に表示されていたウインドウの情報から推定し、以下のいずれかで音声アクテビティと画面の情報を紐付けるようにしています。(どれに紐づけるかを設定するための画面を設けています)
- 音声出力が始まった時にアクティブになっていたウインドウの情報と紐付ける(デフォルト)
- 音声出力があった期間中、一番長い間アクティブになっていたウインドウの情報と紐付ける
- 音声出力と紐付ける情報を、手動で入力する
おわりに
色々と課題はありますが、それでも「何の仕事にどれだけの時間を使っていたのか」を正しく客観的に知ることは大事なことです。業務を改善していくにしても、客観的なデータがあるのとないのでは大きく違います。
(もしかしたら世界初かもしれない、)ストリーミング記録機能付きタイムトラッカーQuality-Work V2.0を使って、ぜひ日々の業務のデータを記録してみてください。