我相信观察用户正在使用的应用程序。我认为这是了解人们正在做什么的唯一方法。但是,我并不总是想和他们坐在一起,凝视他们的肩膀;除了时间负担之外,它会分散他们的注意力,也可能改变他们的行为。
我真正喜欢的是一种观察/记录/监控/记录用户在Windows窗体应用程序中执行操作的方法。
我还希望能够分析50多个用户的行为并收集一些统计数据。
观察就像这样http://www.useit.com/alertbox/20010805.html不喜欢监视人。
有什么建议吗?
答案 0 :(得分:3)
您可以使用TimeSnapper,它会以可配置的时间间隔截取屏幕截图,并允许您像电影一样播放屏幕截图。免费版本可以满足您的需求。您可以将其配置为对整个桌面或活动窗口进行快照。
对于实时观察,您可以使用再次免费的VNC。
编辑:要从远程PC播放Timesnapper文件,请将它们从已配置的快照目录复制到您自己的目录。您当然也可以使用Timesnapper截取您的VNC窗口的截图,以便在本地捕获观察结果。
答案 1 :(得分:2)
如果你想“看到”他们正在做什么,那么关于屏幕抓取的建议可能是你最好的选择。这将允许您查看他们如何做某事(基于他们期望UI的行为),但不一定是他们想要实现的目标。
但是,我会说日志可能是一种更好的方法来查看人们正在做什么。如果您的日志足够详细,则可以将每个操作绑定到事件跟踪,并构建应用程序执行操作的时间线和堆栈跟踪。从这一点(并假设您的软件UI设计得相当好),您可以确切地看到他们正在尝试做什么,但是必须推断它们如何做的细节(同样,这取决于您的日志的详细程度)
答案 2 :(得分:2)
无需针对此问题制定自己的解决方案。有很多商业应用程序可供此使用。
答案 3 :(得分:1)
免责声明:我是我要提及的产品的开发人员。
如果您正在寻找一种工具,可以让您了解用户对您的应用程序的操作,但不需要实际的屏幕截图,您可以使用PreEmptive Solutions的Runtime Intelligence来查看。
我们所做的是在构建应用程序之后将其他代码注入到应用程序中(类似于PostSharp的IL编织),只要执行了使用属性修饰的方法,就会将数据发送回中央集合和报告门户。这允许您跟踪用户何时使用您的应用程序,执行哪些修饰方法(并且还可以测量装饰方法执行的时间)以及用户是否按预期退出应用程序或是否有一个错误。如果您想自己捕获和存储数据,可以将数据发送回PreEmptive托管的服务器(免费版和商业版)或您选择的任何URL。
由于这依赖于使用Dotfuscator作为代码注入引擎,因此可以将此功能作为后期构建步骤添加到任何.NET应用程序(控制台,Winforms,WPF,Silverlight等)中。如果要在源中装饰方法,我们提供一组自定义属性,或者您可以使用我们的用户界面来指定将要检测的方法以及数据将存储在Dotfuscator项目文件中。如果使用扩展属性功能将注入点存储在项目文件中,则可以完全检测应用程序,而无需触及原始源代码。
我们提供了一个钩子,以便您可以选择选择是否进入使用情况跟踪。由于我们的工作水平较低,因此需要编写一个方法,属性或字段,其中包含一个布尔值,指示是否应该在运行时检查数据。您有责任实际创建用于选择加入/退出的UI。
所有这一切的免费版本,包括可自由访问的数据报告门户,将作为Dotfuscator Community Edition的一部分在Visual Studio 2010中提供。如果您愿意,可以继续下载Visual Studio 2010 Beta 1并立即试用。
免费功能是商业版中可用功能的一个子集,但它可以让您清楚地了解它的易用性。与往常一样,PreEmptive很高兴为您提供商业版的免费限时评估版,以便您可以测试无限功能版本。
我目前正在撰写一系列博客文章,将其作为Visual Studio 2010的一部分使用,第一篇是here,并且对Visual Studio 2010 Beta 1中所有内容的概述为here。
通过使用DashO for Java作为代码注入平台,Runtime Intelligence也可用于任何Java应用程序。目前没有社区版本,尽管总是有时间限制的评估版本。
答案 4 :(得分:0)
您想要记录行动吗?或者你只想观察?
或许只是在计时器上DrawToBitmap
? (虽然这有点受欢迎; WPF在这里有更好的工具......)
有时这不是邪恶的......我们(实际上,Steve)在finguistics原型上做了类似的事情来模仿教师的控制台(用于跟踪活动等)。
答案 5 :(得分:0)
您可以查看oDesk的小工具。他们提供了监控海外自由职业者的工具。该工具将以随机间隔捕获屏幕截图,计算每分钟的键盘事件编号和鼠标事件编号。因此,你知道他是否在工作。
答案 6 :(得分:0)
通过此类实施,请提供某种隐私政策,通知和对话框,以征得用户的同意!正如Marc Gravell所说,你可以将DrawToBitmap放在一个计时器上,只捕获你的应用程序窗口。这些图像可能很大,具体取决于您的应用程序,因此,如果您通过网络进行传输,这是一个很大的考虑因素。我会调查一些第三方库,而不是在这里重新发明轮子,就像我使用远程桌面应用程序那样,当我使用GDI +使其在60FPS以上运行时,我很难将数据包大小降低到最小,所以我可以通过互联网传输。