收集有关应用程序使用情况的数据的最佳方法是什么?

发布于 2024-07-05 13:13:00 字数 256 浏览 10 评论 0原文

我的公司发布了一个小型软件产品,我最近接管了该产品的开发工作。 它是一个 C# Windows 窗体应用程序。

我注意到的一件事是,有关如何使用该软件的大部分信息都是通过我的上级过滤的,我感觉我遗漏了一些消息中的重要细节。

我意识到我必须解决这种情况下的管理问题,但是为了对这个问题提供另一种看法,我一直在考虑技术解决方案。 也许类似于“微软客户体验改善计划”。

我想知道是否有人对监控和报告应用程序中的用户行为有任何经验或建议?

My company releases a small software product for which I've recently been taking over the development side. It is a C# Windows Forms application.

One of the things I've noticed is that much of the information about how the software is used is filtered through my superiors and I get the feeling that I'm missing important detail in some of the messages.

I realise I'll have to work on the management issues with this situation, however in order to give another view on the problem I've been considering a technological solution. Perhaps something similar to the "Microsoft Customer Experience Improvement Program".

I was wondering if anyone out there had any experience or advice monitoring and reporting on user behaviour in their applications?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

囚你心 2024-07-12 13:13:01

一种想法是在用户许可的情况下发送匿名统计数据。

另一个想法是在您的应用程序中提供一个大的报告错误/提问按钮,以便他们可以告诉您,当发生他们认为错误的事情时,您可以沿着报告发送应用程序状态。

始终明确您要发送的内容,并让用户可以选择非匿名(始终将匿名数据设置为默认值),当您通过用户选择获得大量非匿名数据时,您可能会感到惊讶。

使用用户的语言来表达清楚,永远不要说“我要发送应用程序堆栈和堆当前状态的 Blowfish 加密内存转储。是/否?”之类的事情,而要说“我要发送”之类的事情发送您在程序中的活动列表:您单击的按钮以及您打开的文件的类型和数量,这将帮助我们为您创建更好的程序,但您可以选择您希望我们接收的内容。”

One idea is to send anonymous statistics with your users' permission.

Another idea is to provide a big report bug/ask question button in your app so they can tell you when something they think is wrong happens you'd send app state along the report.

Always be clear on what are you going to be sending and make users have an option to be non anonymous (always set anonymized data as default) and you might be surprised when you get a lot of non anonymous data by choice of users.

And be clear by using users' language, NEVER say things like "I'm going to send a Blowfish encrypted memory dump of the current state of the application's stack and heap. Yes/no?", but things like "I'm going to send a list of your activity in the program: the buttons you clicked and the type and amount of files you opened. This will help us to create a better program for you but you can choose what you want us to receive. "

默嘫て 2024-07-12 13:13:01

免责声明:我是这个产品的开发人员,所以我可能对它的伟大程度有些偏见:)

目前市场上有一个产品可以为您提供适用于 .NET 和 Java 应用程序的此功能,我们称之为运行时智力。 请参阅:http://www.preemptive.com/runtime-intelligence-services.html< /a> 了解详细信息。

该产品目前针对 .NET 和 Java 提供,并且提供有限功能集的免费版本将包含在 Visual Studio 2010 中。

可以跟踪应用程序的使用情况,包括执行次数的高级统计信息以及在哪个操作系统上/框架版本降低到单个功能的使用频率。

我们为您提供了一种方式,让您的用户在使用数据传输中选择加入或退出,并且数据通过 SSL(默认)或标准 HTTP 发送。 对您的应用程序的性能影响很小,我们会非常小心地不影响您的代码的响应能力。

该解决方案非常适合评估或 Beta 测试,因为您可以直接跟踪应用程序的使用情况,而不是依靠调查或猜测用户在做什么。

对于已发布的应用程序,这提供了客户体验改进计划的脚手架,并且对累积数据的可见性对于从高层管理人员到开发人员的每个人都很有价值。

我们发现,设置一个用于基本使用情况报告的应用程序只需不到一个小时,无需更改代码,因为我们可以直接处理程序集二进制文件。

如需定价信息或获得评估,请联系我们网站的销售人员,因为我只是一名开发人员:)

如需详细的技术信息或任何其他问题,请随时与我联系。

Disclaimer: I am a developer on this product, so I may be a bit biased on how great it is :)

There is currently a product on the market that can provide you with this functionality for both .NET and Java applications that we call Runtime Intelligence. See: http://www.preemptive.com/runtime-intelligence-services.html for details.

This product is currently shipping for both .NET and Java and a free version offering a limited feature set will be included in Visual Studio 2010.

Usage of an application can be tracked ranging from high level statistics on number of times executed and on which Operating System/Framework versions down to the frequency of usage of individual features.

We provide a way for you to give your users either an opt-in or opt-out choice in the transmission of the usage data and the data is sent either over SSL (the default) or standard HTTP. The performance impact on your application is minimal and we take great care to not impact the responsiveness of your code.

This solution is great for evaluations or beta testing as you can track the usage of your application directly rather than relying on surveys or guessing at what the users are doing.

For released applications this provides the scaffolding of a customer experience improvement program and the visibility into the accumulated data is valuable to everyone from upper management down to the developer.

We have found that it takes less than an hour to set up an application for basic usage reporting with no code changes required since we can work directly on the assembly binaries.

For pricing information or to obtain an evaluation please contact sales from our website as I'm just a developer :)

For detailed technical information or any other questions feel free to contact me.

桃酥萝莉 2024-07-12 13:13:01

我相信您已经得到了有关技术解决方案隐私方面的问题的良好答案。

我还想提一下,您应该尝试通过普通 80/443 端口使用 HTTP 或 HTTPS - 这些最不可能导致防火墙和代理出现问题。 使用 MS IE 代理设置,因为它们通常设置正确。


从完全不同的角度来看,我想说,了解软件使用情况的最佳方法是检查您的安装基础中是否有任何“友好”用户并采访他们。
它可能是一些合作伙伴公司或个人,他们是新版本测试版的“试点小组”。 与他们交谈。 抓住你的经理,如果可能的话,花一天时间去他们的网站,亲眼看看如何,然后他们点击按钮。 做笔记。 听取反馈。 建立个人关系,以便下次他们直接与您交谈。

如果您的应用程序很小并且您的公司不是 Microsoft,那么靠近您的用户群比收集匿名使用数据要好得多,因为匿名使用数据需要花费大量精力来收集和处理,然后甚至需要更多的精力来理解。

I believe that you've already received a good answer to your question re the privacy aspect of the technological solution.

I would also like to mention that you should try to use HTTP or HTTPS over normal 80/443 ports - these are the least likely to cause problems with the firewalls and proxy. Use MS IE proxy settings as they are usually set properly.


From a totally different prospective I would like to say that the best way to learn about the usage of your software is to check if you have any 'friendly' users in your install base and interview them.
It could be some partner company or people who are your 'pilot group' for the betas of new release. Talk to them. Grap your manager and spend a day going to their site if possible and just seeing for yourself how and then they click the buttons. Make notes. Listen to the feedback. Establish personal relationship so next time they talk to you directly.

If your application is small and your company is no Microsoft its much better to be close to your userbase than to collect anonymous usage data which takes significant effort to collect and process and then even more effort to understand.

夜访吸血鬼 2024-07-12 13:13:01

实际上,我认为您正在尝试做简单的商业智能。

不要忘记设置“适当的”仪表板来跟踪您收集的数据,深入思考您将实施的指标。

Actually, I think you're trying to do simple Business Intelligence.

Don't forget to set the "appropriate" dashbord in order to track your collected data, think deeply on the indicator you'll implement.

聊慰 2024-07-12 13:13:00

我建议您让您的应用程序将其“使用信息”写入某处,然后,在用户许可的情况下,经常以电子方式传输它。

注意上面的强调。 根据您所在的司法管辖区,未经许可从其他人的计算机传输任何类型的数据可能会遇到严重麻烦。

如果满足以下条件,您更有可能获得许可:

1/ 您在安装或更新时明确表示,您的程序将收集信息并仅在获得许可的情况下传输信息。

2/ 您清楚地解释了该信息是什么,并且它仅包含“使用信息”,没有任何内容可以追溯到软件的用户(没有序列号等)。

3/ 您请求允许不频繁传输。 如果我有一个令人讨厌的程序每天都询问我,我很快就会完全停止使用它。

I would suggest you get your application to write its "usage information" somewhere and then, with the users permission, transmit it electronically every so often.

Note the emphasis above. Depending on your jurisdiction, you could get into serious trouble transmitting any sort of data from someone else's computer without permission.

You're more likely to get permission if:

1/ You make it clear, on install or update, that your program will collect information and transmit it only with permission.

2/ You explain clearly what the information is and that it only holds "usage information", nothing that can be traced back to the user of the software (NO serial numbers, etc).

3/ You request permission to transmit infrequently. If I had an obnoxious program that asked me daily, I'd soon stop using it altogether.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文