A central concept in how your application is being used and indeed in how your EQATEC Analytics account is being used is the concept of installations. I image that you are interested in the number of installations of your software that are out in the wild and your subscription plan is also being metered according to this number. So let's dive in and understand how this number if calculated and how this reflects on your software and your account.

Counting installations

In EQATEC Analytics the number of installations is counted based upon the number of unique, anonymous identifiers that has been encountered within the current 30-day period. This anonymous identifier is obtained by the monitor library when communicating with the EQATEC servers and is stored on the PC or device. This anonymous identifier is then passed along with all data to the servers and is used for uniquely identifying the number of installations.

So when counting installations the EQATEC servers are really counting the number of unique anonymous identifiers for a given period of time. Let's see how this surfaces in an EQATEC account.

In the screenshot above, taken from the Account page in the web client, the account have 1649 installations for the current period. This means that the EQATEC servers have seen data from 1649 different unique identifiers in that time period for all product belong to this account. But how does installation compare to users and machines?

Installations, Machines and Users

The monitor library that you include in your application will store the anonymous identifier it receives from the server (along with other metadata) somewhere on the file system of the machine or device that your application is running on. The specific location where this data is stored is important in terms of correlating the installations reported in the application to machines and/or users. 

On platforms that does not support multiple users (such as mobile phones) the installation count will be equal to the number of devices (with one exception, see below). On platforms with multiple users accessing the same software such as on standard computers, the location of this meta data becomes important. Let's take a few examples:

  • If the meta data is stored individually for each user logging in to the machine (which is the default behavior for e.g. the .NET library) the installation count is equal to the number of unique users and not the number of actual computers
  • If the meta data is stored so it is shared for all users logging in to the machine the installation count is equal to the number of machines and not the number of actual unique users.

Please note that the numbers will also be affected by the indirect removal of the meta data (for instance, by a re-installation of the computer or a factory reset of the device) since a new anonymous identifier will be assigned on the next communication with the EQATEC servers.

Can I affect this for my products?

Yes, you absolutely can. All monitors have built-in default locations for storing this data and most monitor libraries offer the ability to override this default location. This is done by assigning a new IStorage implementation to the IAnalyticsMonitorSettings.StorageInterface property which controls the location for the meta data. You can implement the required interface yourself but we highly recommend that you make use of the various CreateStorage(...) methods on the AnalyticsMonitorFactory for creating specialized instances of the storage interface that can be assigned to the StorageInterface property. For instance, the .NET library provides overloads for storing in IsolatedStorage (with various settings) and in specific folders on the filesystem.

How about virtualized environments?

The same thing applies to virtualized environments such as Citrix, where users are mounted on different machines. When you instrument an application that is to be deployed in such an environment, you should make sure that the meta data file is stored such that it roams along with the user profile. This can e.g. be done by using the CreateStorage overloads that accept a specific folder path which you can then programmatically supply as a location within the user profile,

Hope this helps to clarify how installations are counted in EQATEC Analytics. Feel free to share your thoughts and ideas on this.

Boyko Nistorov is a software developer and blogger at Telerik.
About the Author

Boyko Nistorov

Boyko is a software developer at Telerik.  


Comments are disabled in preview mode.