web-dev-qa-db-ja.com

ユーザーの行動パターンを収集して抽出する方法

いくつかのSDIウィンドウフォームアプリケーションがあります。このアプリケーションには、メインフォーム、膨大なモジュールフォームがあります。同時に、1つのモジュールフォームと多くのサブモーダルフォームを表示できます。したがって、すべてのモジュールフォームが一部の機能を担当します。ユーザーは、1日に何度もいくつかのモジュール形式を切り替えることに気づきます。この情報を収集して、一般的なユーザーの行動を抽出する必要があります。手作業による調査(シャドウイング)の代わりに、この情報を取得するための方法、トリックはありますか?

これを実装するためのコードを書くことができます。

追加:

アクションのログを記録するために、いくつかのプロキシを追加することにしました。

  • リストビュー:アイテムを選択
  • グリッドビュー:アイテムの選択、その他のアクション(フィルター、並べ替え、編集)
  • ボタン:アクション(追加、編集、並べ替え、インポート、エクスポート、リセット、保存、元に戻す、終了...)
  • テキストボックスを検索:テキストを入力(検索ボタンをクリック)

これらのデータを収集することにしました:ユーザー、場所、アクションソース、アクションベースタイプ、日付、アクションデータ

User1 | form1 | button1 |ボタンアクション| 2010/10/28 10:00 |編集する

User1 | form1 | list1 |リストビューの選択アクション| 2010/10/28 10:03 |アイテム

User1 | form2 | grid1 |グリッドビュー選択アクション| 2010/10/28 10:03 | 100654

何か忘れましたか?

4
igor

開発中のアプリにも同様の何かを実装することを検討していますが、目的は異なります(テストと堅牢性の目的でユーザーのアクションを「リプレイ」できるようにしたい)。私たちの状況では、ソフトウェアの元に戻す/やり直しメカニズムを強化して、ユーザーのアクションのスクリプトを保存できるようにしています。

元に戻す機能がない場合は、何らかのジャーナリングが必要になりますが、これはUIの問題よりもプログラミングの問題になっているようです。

1
Hisham

私は悪い考えを持っていますが、それはより良いものをトリガーするかもしれないのでとにかくそれを共有します:)

Webサイトを実装している場合は、Googleアナリティクスや、ユーザーのアクションに関する洞察を提供するその他のソフトウェアを使用できます(例 ClickTale )。

私はそれがデスクトップアプリケーションであることを理解しているため、特定のモジュールとフォームを特定のURLに関連付けることにより、そのようなWebサービスの使用をエミュレートできます。

当然、パフォーマンスについて考えたり、ロギングについてユーザーに知らせたりする必要がありますが、それを機能させることができれば、そのようなサービスが非常に簡単に提供するツールを手に入れることができます。

どう思いますか?

1
Dan Barak

ダイアログやフォームなど、関心のある特定のUIウィジェットがある場合、それらのさまざまなイベントにログを追加することはできませんか?たとえば、ユーザーが1つのタブから別のタブに頻繁に切り替えて、これを測定したい場合、タブが非表示または表示された回数をカウントできます。同様に、ボタンのクリック、キーボードショートカットの使用などを追跡できます。