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?
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?
Google Analytics isn't just for websites, they have bindings for:
So you can use Google Analytics pretty much anywhere, and they don't seem to have too much of an issue with it.
See also: Google Analytics Core Reporting API Client Libraries & Sample Code
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.
"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."
I have tried several applications. I really like Mixpanel's flexibility, but the best i ever used was this deskmetrics. I'm using the free plan but it really works well and have lots of integration tools.
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.
Check out: Trackerbird Software Analytics for Desktop apps.
Has a freeware version to track installations, runtime trends, feature usage, license conversions, architecture details, etc. You also get API options for running in Privacy Mode for paranoid users.
Disclaimer: I am affiliated with company.