Search code examples
delphigoogle-analyticsdelphi-xe

Google event tracking used by a Delphi desktop application


I've come to a crazy idea to use Google event tracking in Delphi desktop application. I want to track users behaviour workflow to make application better. But it's in javascript.

Is it possible somehow to do it directly from application? Or do I need for example to make a webpage which communicates with Google event tracking API and application sends REST queries to that webpage?

Or maybe I can do it without javascript at all and directly from application?


Solution

  • You should be very careful with this, and warn your users.

    Though software running locally is a different thing than software running from a web-site in a browser, the interconnectedness of software is increasing. So is the general feeling in the public on what is right and not to communicate.

    For instance, a lot of software 'phones home' to check for the latest version without even asking permission to their users. I can understand that some users have a problem with that, but it indicates the general opinion on this is shifting. The vendors can track usage statistics based on that 'phone home' alone.

    I'm not sure if the Google Event Tracking would be the best way to solve usage tracking from a desktop application, but the general idea (collecting usage statistics and error information) can work out very well.

    Software from big vendors have been getting usage statistics from their software for years, and they ask their users up-front if sending statistics is OK, and at the time of an error, each time ask them if that is OK too.

    In fact the book "Why Software Sucks ... and What Can You Do About It" and presentations from David Platt explains really well how to do this and how to communicate this to your users.

    You need to do this in a very anonymous way, and you can because basically you are interested in these things:

    • what is the largest percentage of errors
    • what is the largest percentage of features used
    • what is the smallest percentage of features not used

    As long as you communicate percentages, it is clear to explain to your users that the data will be very non-specific.

    On the other hand: being able to focus on the actual errors can improve your software a lot.

    The errors communicated back to you can contain much detail, so you need to either strip that detail out, or be very upfront with your users indicating which details are being sent to you when communicating individual errors.

    --jeroen