tags:

views:

317

answers:

3

Google Analytics is nice, but it is for websites.

If I have a console application how can I track its usage worldwide? Can i just download an transparent.gif file from the analytics service provider?

What are your thoughts on such analytics?

A: 

For Mac desktop applications, the Sparkle framework has the capability of getting some user demographics data, but this is limited to times when the user updates rather than giving any useage data.

Ian Turner
what about windows platform?
zproxy
A: 

Disclaimer: I am a developer on this product, although even if I was not I would still think it was cool.

If your application is .NET or Java you can use Runtime Intelligence from PreEmptive Soluttions that I describe in the answer to How to Measure Desktop Application Usage By Users

If your applications are .NET you can use the free version included in Visual Studio 2010 to get a feel for how it works. For Java you can get a free evaluation by contacting PreEmptive Solutions.

Edit to answer zproxy's questions from comments:
We traverse most firewalls without a problem since we piggyback on the system proxy settings and we send outbound only on standard http or https ports. The only issues with firewalls may be in highly restrictive environments that require user interaction for each outbound connection, although we have not run in to any of those situations in the wild. For restrictive corporate environments where you may not want the data outside of the WAN we also offer a self hosted solution where the corporation gets an installation of all the required servers and the internal applications are injected to send usage data to the internal endpoint. For somewhat restricted corporate or internal environments where you do not want to host your own servers we also provide a small proxy application that runs under ASP.NET or mod_mono on Apache that will proxy messages sent to it from internal systems out to the hosted environment at PreEmptive. That way you can have take advantage of the hosted environment, not have the overhead of additional servers on site but only a single server with external access is required and all of the internal applications send their data to that endpoint.

Data is presented in a variety of reports, see the blog posts Correlating Downloads To Usage and What's New With Dotfuscator In Visual Studio 2010 Beta 1 for an overview and samples of some of the built in reports. In addition you also have your data available in an Excel format export, summarized by day in CSV files and we also offer an POX API for programatically extracting your data for use in other applications or creating your own reports. PreEmptive also offers professional services for designing and/or implementing any custom report that you would like.

If you have .NET applications and want to test out the free versions you can do so by downloading Visual Studio 2010 Beta 1 (and Beta 2 when it is released). Dotfuscator, which is used as the code injection tool to accomplish the instrumentation, is installed by default. You can then follow the blog posts referenced above to walk through instrumenting your application and then view the usage reports on the free portal (http://free.runtimeintelligence.com ). If you would like to try out the fully featured commercial version (with more functionality and/or Java application instrumentation) you can request a free evaluation.

Joe Kuemerle
How do you guys prevent user firewalls? How is the collected data presented?
zproxy
A: 

"DeskMetrics - real-time relevant information about how your software is being used - allows software companies to understand how their software is being used, helping in the development and decision making processes.

It is a software analytics service which provides a simple and small component to integrate into your application. This component collects anonymous data and sends it to our cloud. We provide a web administration tool to analyze the data collected and create new information from the data available."

Bernardo Porto