#6 タイムトラッキングツールActivityWatchを拡張してみる
前のマガジンから、かなり時間が経ってしまったのですが、その間に前回紹介したActivityWatchで記録したデータを分類したり、その結果を表示したりするための拡張GUIプログラムを作っていました。yet-another-UI-for-AWという(長い)名前です。
ActivityWatchはOSSで、そのサーバにアクセスするためのAPIもPythonパッケージとして整備されています。これを使って機能を拡張することができます。
実験版ですが、とりあえずWindowsとMacで動くものができました。
yet-another-UI-for-AWが提供する機能
元々、ActivityWatchにも同じようなGUIが用意されていますが、わざわざこのようなものを、別に作った理由は以下です。
1. 色々な観点で作業時間分析をしたい
ActivityWatchは、PCでの作業中にアクティブになっているウインドウとそのタイトルやURLの情報を記録します。これらのデータと、設定情報(例えば、どのようなキーワードを含む場合どのカテゴリーに分類するかなど)を元に、何の作業をしていたかを分類して表示してくれます。
ただ、設定できるカテゴリー情報は一種類です。これはこれで良いのですが、企業などの組織で使う場合には日々の作業を、もっと色々な観点で分析したくなるように思います。例えば、
「文書作成」「プログラミング」「会議」「学習」など作業項目によって分類
「A案件」「B案件」など案件やプロジェクトによって分類
直接作業と間接作業に分類
など複数の異なる視点(ビュー)が考えられます。
このような複数の観点での異なった分類を行い、グラフ表示ができるようにしてみました。また、「プロジェクトごとに作業項目を分類する」など、2つのビューを掛け合わせて分類することもできるようにしました。
2. 日本語がうまく扱えるようにしたい
前のマガジンの記事でも書きましたが、ActivityWatchは、日本語文字列を扱ったときに文字列のマッチングがうまくいかず正しく分類ができなかったりするなど、色々と不都合が起きます。このような問題が起きないように処理を加えてみました。また、プラットフォーム(OS)が持つ言語/地域などの情報(ロケール)を参照して、メニューの文字列などを日本語で表示できるようにしてみました。
3. 簡単に設定ができるようにしたい
ActivityWatchは、カテゴリー設定を行うために正規表現が必要だったりと、ちょっとハードルが高いところがあります。もう少し簡単に設定ができるように、カテゴリーやキーワードを選んだり入力したりするだけで設定ができるような機能を作ってみました。また、設定画面に記録されているイベントをリスト表示し、設定によってどの時間イベントが何のカテゴリーに分類されるのかを確認しながら設定ができるようにしてみました。
インストール方法
ActivityWatchのインストール
まだ、ActivityWatchを使っていない方は、まずActivityWatchをインストールして動かしてみてください。
yet-another-UI-for-AWのインストール
ActivityWatchがインストールされて動いていることを確認したら、拡張GUIプログラムをインストールします。インストール方法には、ソースコードからインストールする通常の方法と、Windows(64bit)にのみ対応した簡易インストールの二種類があります。
(1)ソースコードインストール
以下のサイトから、今回作ったGUIプログラムのインストールモジュールをダウンロードしてください。
プログラムはPythonで作られているので、動かすのにはPythonの実行環境と、Pythonのパッケージマネージャであるpoetryが必要です。READMEに書かれている手順でインストールしてみてください。
(2)簡易インストール(Windowsのみ)
Windowsのユーザで、あまり面倒なことはしたくない方には、All-in-oneパッケージも用意しています。こちらには、Pythonの実行環境や必要なPythonパッケージなども同梱されていますので、zipファイルを任意の場所に展開することですぐに使えます。
注意事項:
All-in-oneパッケージのファイルサイズは199Mバイトと巨大なので、ダウンロードに時間がかかることがあります。
Windows標準の機能でzipファイルを展開すると、「展開するファイルのファイル名が長すぎる」ために展開に失敗することがあります。この場合、7zipなどの圧縮・解凍ソフトを使って展開してみてください。
ya_aw.batというバッチファイルをダブルクリックして実行しますが、セキュリティの警告ダイアログが表示されることがあります。ダイアログのメッセージを確認して「実行」を選択してください。
使い方
カテゴリーを設定するエディター画面と、統計情報を表示するビューアー画面の二つがお使いのブラウザに表示されます。英語表記ですが、操作方法は以下にあります。そのうちもう少し詳しい解説をこのマガジンに載せるつもりです。
最後に
まだまだ実験版ですが、ぜひ使ってみてください。機能や使用方法などについて色々なコメントをいただけると幸いです。