2

可能像很多软件开发人员一样,我几乎从未见过真正的用户使用我的软件。

当然,在这种情况下很难获得良好的用户反馈。即使一些用户同意给我一些关于他们使用软件的方式的信息,但他们真正使用它的方式与他们认为自己使用它的方式之间存在巨大差异。

偶然地,我的软件是客户端/服务器,这意味着我可以很容易地从技术上收集服务器上的一些信息。

当然,没有什么比看真实用户在现实生活中使用该软件更重要,但我认为总比没有好,或者至少值得尝试:)

虽然我在我的数据库中记录了客户端上引发的所有异常,但我还没有离开这一点。

  • 有没有人这样做过?
  • 你会记录什么信息?
  • 有一些法律问题吗?我应该如何处理这些?
4

4 回答 4

1

当我做 UI 开发时,我曾经收集每个用户命令(按钮推送、菜单选择)并使用我自己的内部调试信息将它们记录到文件中,但几天后会自动删除日志文件。在尝试调试您自己的软件时,此信息非常宝贵(用户很少能准确回忆起问题发生时所采取的步骤)。我还记录了每次应用程序的启动,以防我们遇到与第三方软件的兼容性问题。

关键是除非确实发生了问题,否则不会使用该信息,它被保存在本地,没有远程访问,如果没有问题,它会自动被删除。只有当客户因为问题打电话给我们时,我们才会访问日志数据。

主动跟踪用户操作并将它们送回基地完全是一个单独的问题,我一直回避这个问题。

于 2009-02-28T23:48:52.100 回答
1

我正在开发的软件也面临同样的问题,尽管我还没有用户。

我通常认为监控应该始终是可选的,并且您应该能够在发送材料之前进行审查。我想大多数人都会同意这一点。

然而,从法律的角度来看,存在更大的问题。出于安全原因,一些公司限制用户安装包含任何“回家”组件的软件。根据使用上下文,任何监控数据都可能泄露秘密。

例如,我的软件在 IDE 中注释了一些东西。如果我传输有关打开文件(而不是哈希)的“家庭”详细信息,即使没有这些文件的内容,我仍然可能会发送机密详细信息。如果您的工具可用于打开图像或文档,则可能存在类似问题。

我建议在客户端散列或寻找混淆结果的方法,并通过充分的测试确保不会出现您的软件未经同意和混淆将信息发送回家的情况。如果我没记错的话,如果你的软件这样做了,即使是错误的,你也可能违反了美国联邦法律。

此外,请确保在通过网络发送详细信息时对其进行加密。

最后,如果您的一些用户在隐私法更严格的欧盟,您的例外数据库本身可能在法律上被视为“数据库”(例如,如果您在 SQL 语句执行和失败时存储它们并且这些语句包含生产值)。因此,您可能必须遵守许多有关个人身份信息的规则。

于 2009-02-28T23:12:58.893 回答
0

这并不是您所要求的,但您确实有一些与编程无关的解决方案:

1)做一些走廊可用性测试(向下滚动到#12)。

2) 尝试像Morae这样的产品来建立一个更正式但远程的观看会话。

3) 使用 GoToMeeting、CoPilot 或 WinVNC 之类的工具让客户在他们的肩膀上监视。或者去他们的网站呆一天,然后在他们实际的肩膀上闲逛。

这些中的任何一个都会让您很好地了解哪些有效,哪些无效。

于 2009-03-01T00:17:14.807 回答
0

你可以做这样的事情它捕捉鼠标移动并重放它们,让你看到使用 javascript 和 ajax。

于 2009-03-01T00:51:59.950 回答