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