2009-07-29 103 views
2

我相信观察用户正在使用应用程序正在做什么。我认为这是得到人们正在做什么的准确情况的唯一方法。然而,我并不总是想和他们坐在一起,盯着他们的肩膀;除了时间上的负担之外,这对他们来说是一种干扰,也可能改变他们的行为。观察或监视使用应用程序的用户远程

我真的很喜欢的是观察/记录/监视/记录用户在Windows窗体应用程序中做什么的方式。

我还想分析50位用户的行为并收集一些统计数据。

而且观察就像这样http://www.useit.com/alertbox/20010805.html不喜欢对人进行监视。

有什么建议吗?

+0

使用'诚实'系统,结合使用诸如'KArm'之类的秒表工具可能是一个更好的主意,从长远来看,这种监控可以收集大量数据,而且没有任何背景隐藏实际信息。如果没有这种微观管理,你聘用的人不能有效地工作,你雇用了错误的人,或者他们有错误的经理。 – 2009-07-29 09:32:08

+0

这不是关于管理人员。这是关于软件开发人员试图查看可用性方面的问题。对于一个漂亮的用户界面有多好的经验的人 - 例如37个信号 - 不知道要报告什么。就像尼尔森说的那样,你不能听别人说什么,你必须观察它,并且如果可能的话,测量。 尽管您对数据量有所了解。数据库擅长于大量数据,但只有当你知道你在找什么时,这就是关于屏幕录制的事情,他们给你一个很好的概述。 – 2009-07-29 14:23:37

回答

0

你想要一个操作记录?或者你只是想观察?

也许简单地DrawToBitmap在计时器上? (虽然这有点hit'n'miss; WPF有更好的工具在这里...)

有时这不是邪恶的...我们(实际上,Steve)在finguistics原型做了类似的事情来模仿一个教师控制台(用于跟踪活动等)。

0

你可以看看oDesk的小工具。他们为监督海外自由职业者提供了这样的工具。该工具将以随机间隔捕获屏幕截图,计算每分钟的键盘事件编号和鼠标事件编号。因此,你知道他是否在工作。

+1

我不会为需要我使用这种软件的公司工作。 – 2009-07-29 07:57:58

3

您可以使用TimeSnapper,它以可配置的间隔拍摄截图并允许您像电影一样播放截图。免费版本可以满足你的需求。您可以将其配置为快照整个桌面或只是活动窗口。

对于实时观察,您可以使用再次免费的VNC。

编辑:用于从远程PC回放Timesnapper文件,将它们从配置的快照目录复制到您自己的目录中。您当然也可以使用Timesnapper截取您的VNC窗口截图,以在本地捕获观察结果。

+0

尽管我不喜欢观察+1的行为来呼叫免费工具 – 2009-07-29 08:30:35

+0

啊哈!波长上的男人。我已经尝试过使用Timesnapper,但我不想提出答案。我认为Timesnapper的录制是完美的,但他们还没有回过头来看看播放其他人的快照的好方法。另外,对于用户说 - 在按下“保存”按钮之前他们的方式的整体视图是非常好的,但它缺少机器可读性。 – 2009-07-29 08:47:37

0

有了这种类型的实现,请提供某种隐私策略,通知和对话框来询问用户的权限!正如Marc Gravell所说的,您可以将DrawToBitmap放在一个计时器上,并只捕获您的应用程序窗口。这些图像可能很大,具体取决于您的应用程序,因此如果您通过网络传输,这是一个很大的考虑因素。我可能会考虑一些第三方库,而不是在这里重新发明轮子,就像我用远程桌面应用程序那样做的,而当我使用GDI +以超过60FPS的速度运行时,我无法将分组大小降低到最低限度,我可以通过互联网传输。

+0

同意。我甚至认为,在未经许可的情况下记录这件事情在欧盟是不合法的。 这就是为什么TimeSnapper Pro很甜蜜。它可以捕捉一些应用程序而不是其他应用程序,而不是整个桌面。 – 2009-07-29 08:49:21

2

如果你想'看'他们在做什么,那么关于间隔抓屏的建议可能是你最好的选择。这将允许你看到他们如何做(根据他们期望UI的行为),但不一定是他们试图达到的目标。

但是,我会说日志可能是更好的方法来查看人们在做什么。如果您的日志足够详细,则可以将每个操作绑定到事件跟踪,并且构建时间线和类型的堆栈跟踪,以显示应用程序执行的操作。从这个(并且假定您的软件UI设计相当不错),你可以看到正是他们试图做,但可以推断的他们怎么也有细节(同样,这取决于你的日志的详细程度而异) 。

+0

我已经玩过事件追踪的事情,并且像所有非常简单的想法一样难以实现!我有一些控制与0努力挂钩,有些不会触发“正确”的事件。与他们联系在一起的问题是,日志非常非常嘈杂(即100个鼠标移动eventargs) – 2009-07-29 08:50:54

+0

我不建议将日志跟踪器放置在可能快速连续发射多次的事件中。 根据你的软件如何实现(只有你可以决定实现这个目标的最好方法),最好只跟踪事件,如按钮点击和重要的方法(不要打扰日志助手方法或类似的东西那只是重要的东西)。另外,如果您的应用程序是多线程的,请确保您不会多次为同一个事件分配相同的事件处理程序,否则您的日志文件中会出现大量垃圾信息! – Beardy 2009-07-29 10:22:28

2

没有必要开发自己的解决这个问题。有相当多的商业可用的应用程序。

  • 主持远程可用性测试:在这里你看通过VNC风格的流媒体镜头的用户
  • 未经协调的远程可用性测试:其中用户自己做的测试,定量数据收集。

退房http://remoteusability.com/了解更多信息

+0

这是有趣的东西,但不是我正在寻找的东西。 – 2009-07-30 08:05:25

+0

所以你正在寻找一些代码,可以让你在后台进行屏幕录制?出于道德原因,它必须是选择加入。顺便说一句,你看过Clicktale的表格分析工具吗?可能对灵感有用: http://blog.clicktale.com/2008/06/18/form-analytics-opens-to-the-public/ – Harry 2009-08-03 07:09:57

1

免责声明:我是,我要提到的产品的开发人员。

如果你正在寻找一个工具,可以让你知道什么是用户与您的应用程序做什么,但并不需要实际的屏幕截图,你可以考虑使用运行时从智能解决方案抢占。

我们所做的是在您的应用程序构建后向您的应用程序注入额外的代码(类似于PostSharp的IL Weaving),只要您使用属性装饰的方法被执行,就会将数据发送回中央集合和报告门户。这允许您跟踪用户何时使用您的应用程序,执行了哪些装饰方法(并且还可以测量装饰方法执行的时间)以及用户是否按预期退出了应用程序,或者如果有一个错误。如果您想自己捕获和存储数据,则可以将数据发送回PreEmptive托管的服务器(免费和商业版本)或任何您选择的URL。

因为这依赖于使用Dotfuscator作为代码注入引擎,所以这个功能可以作为后期构建步骤添加到任何.NET应用程序(控制台,Winforms,WPF,Silverlight等)。如果您想要在源代码中装饰方法,我们提供了一组自定义属性,或者您可以使用我们的用户界面来指定哪些方法将被检测,并且数据将存储在Dotfuscator项目文件中。如果使用扩展属性功能将注入点存储在项目文件中,则可以在不触摸原始源代码的情况下完成对应用程序的测试。

我们提供了一个钩子,这样就可以给你的用户或缩小使用情况跟踪的个人化广告的选择。由于我们的工作水平较低,因此需要编写一个包含布尔值的方法,属性或字段,以指示是否应在运行时检查数据。您有责任实际创建用于选择加入/退出的用户界面。

这一切,包括一个可以自由进出的数据报告门户的免费版本,将是在Visual Studio 2010中提供的Dotfuscator社区版的一部分。您可以继续下载Visual Studio 2010 Beta 1,并根据需要今天试用。

免费的功能是什么在商业版本可用的一个子集,但它会给你是多么易于使用的一个好主意。与往常一样,PreEmptive很乐意为您提供免费的,有时间限制的商业版评估版,以便您可以测试无限的功能版本。

我目前正在撰写一系列关于将此作为Visual Studio 2010的一部分使用的博客文章,第一篇文章是here,并且Visual Studio 2010 Beta 1中的所有内容的概述均为here

通过使用DashO for Java作为代码注入平台,运行时智能也可用于任何Java应用程序。目前没有社区版本,但总是有时间限制的评估版本。