我的公司发布了一个小型软件产品,我最近接手了该产品的开发工作。它是一个 C# Windows 窗体应用程序。
我注意到的一件事是,关于软件使用方式的大部分信息都是通过我的上级过滤的,我觉得我在某些信息中遗漏了重要的细节。
我意识到我必须解决这种情况下的管理问题,但是为了对这个问题提出另一种看法,我一直在考虑采用技术解决方案。也许类似于“微软客户体验改善计划”。
我想知道是否有人在他们的应用程序中监控和报告用户行为有任何经验或建议?
我的公司发布了一个小型软件产品,我最近接手了该产品的开发工作。它是一个 C# Windows 窗体应用程序。
我注意到的一件事是,关于软件使用方式的大部分信息都是通过我的上级过滤的,我觉得我在某些信息中遗漏了重要的细节。
我意识到我必须解决这种情况下的管理问题,但是为了对这个问题提出另一种看法,我一直在考虑采用技术解决方案。也许类似于“微软客户体验改善计划”。
我想知道是否有人在他们的应用程序中监控和报告用户行为有任何经验或建议?
我建议你让你的应用程序在某处写下它的“使用信息”,然后在用户许可的情况下,每隔一段时间以电子方式传输它。
注意上面的重点。根据您所在的司法管辖区,您可能会在未经许可的情况下从其他人的计算机传输任何类型的数据时遇到严重问题。
在以下情况下,您更有可能获得许可:
1/ 您在安装或更新时明确表示,您的程序只会在获得许可的情况下收集和传输信息。
2/你清楚地解释了信息是什么,它只包含“使用信息”,没有任何东西可以追溯到软件的用户(没有序列号等)。
3/ 您请求不经常传输的许可。如果我有一个讨厌的程序每天都问我,我很快就会完全停止使用它。
我相信您已经就技术解决方案的隐私方面的问题得到了很好的回答。
我还想提一下,您应该尝试在正常的 80/443 端口上使用 HTTP 或 HTTPS - 这些是最不可能导致防火墙和代理问题的。使用 MS IE 代理设置,因为它们通常设置正确。
从完全不同的角度来看,我想说了解您的软件使用情况的最佳方式是检查您的安装群中是否有任何“友好”用户并采访他们。可能是一些合作伙伴公司或人员,他们是您新版本测试版的“试点小组”。跟他们讲话。抓住你的经理,如果可能的话,花一天时间去他们的网站,自己看看怎么做,然后他们点击按钮。做笔记。听取反馈。建立个人关系,以便下次他们直接与您交谈。
如果您的应用程序很小并且您的公司不是 Microsoft,那么靠近您的用户群比收集匿名使用数据要好得多,因为匿名使用数据需要花费大量精力来收集和处理,然后甚至需要更多的精力来理解。
一种想法是在用户许可的情况下发送匿名统计信息。
另一个想法是在您的应用程序中提供一个大的报告错误/询问问题按钮,以便他们可以告诉您何时发生他们认为错误的事情,您将在报告中发送应用程序状态。
始终清楚您将要发送什么,并使用户可以选择非匿名(始终将匿名数据设置为默认值),当您通过用户选择获得大量非匿名数据时,您可能会感到惊讶。
并且通过使用用户的语言来明确,永远不要说“我要发送应用程序堆栈和堆的当前状态的 Blowfish 加密内存转储。是/否?”,而是像“我要去发送您在程序中的活动列表:您单击的按钮以及您打开的文件的类型和数量。这将帮助我们为您创建更好的程序,但您可以选择您希望我们接收的内容。
免责声明:我是这个产品的开发人员,所以我可能对它的伟大程度有点偏见:)
目前市场上有一种产品可以为您提供用于 .NET 和 Java 应用程序的此功能,我们称之为运行时智能。有关详细信息,请参阅:http ://www.preemptive.com/runtime-intelligence-services.html 。
该产品目前可用于 .NET 和 Java,并且提供有限功能集的免费版本将包含在 Visual Studio 2010 中。
可以跟踪应用程序的使用情况,范围从执行次数和操作系统/框架版本的高级统计信息到各个功能的使用频率。
我们为您提供了一种方式,让您的用户在传输使用数据时可以选择加入或选择退出,并且数据通过 SSL(默认)或标准 HTTP 发送。对您的应用程序的性能影响很小,我们非常注意不影响您的代码的响应能力。
此解决方案非常适合评估或 beta 测试,因为您可以直接跟踪应用程序的使用情况,而不是依赖调查或猜测用户在做什么。
对于已发布的应用程序,这提供了客户体验改进计划的脚手架,并且对累积数据的可见性对从高层管理人员到开发人员的每个人都很有价值。
我们发现只需不到一个小时就可以为基本使用情况报告设置应用程序,而无需更改代码,因为我们可以直接处理程序集二进制文件。
有关定价信息或获得评估,请联系我们网站的销售人员,因为我只是一名开发人员 :)
如需详细的技术信息或任何其他问题,请随时与我联系。
实际上,我认为您正在尝试做简单的商业智能。
不要忘记设置“适当的”仪表板以跟踪您收集的数据,深入思考您将实施的指标。