Announcing a new analytics module

Hi all,

We have just released a new analytics module on the develop branch:

This module simplifies collecting analytics from your app by providing a wrapper around functionality to collect information and either save it locally or transmit it to an online analytics service. A new example application, AnalyticsCollection, illustrates how to do this for Google Analytics. Other analytics collection endpoints, like Firebase, are also easy to support, and you can communicate with multiple analytics destinations simultaneously.

6 Likes

Nice!

To be generic enough to support any Google Analytics (or other system) action, shouldn’t the ButtonTracker allow dynamically changing the triggered event’s parameters?

For example, changing and posting a different ev for a Google Analytics event.

It depends on your use case. Typical use case is probably that you want to track certain events in your app like “enable chorus” or “show advanced mode” and if you have a button in your UI for each of these events, then each button will keep sending the same events all the time. Unless you need some buttons that trigger different actions depending on given state of the app.

I think that you may have misunderstood what the analytics module is providing…

JUCE users can use the new module to add their own analytics collection capabilities to their own apps… if they want to. There’s absolutely nothing here that is invading your privacy!

4 Likes

I cannot in clear conscience support such practices though. Hopefully I’m not alone on this.

Tracking how people use your product(s)/service(s) for you to help gauge how to better your product(s)/service(s) is a bad thing?

It’s entirely up to app developers to use things for good instead of evil.

2 Likes

That’s rather unfair. Why on earth do you think we’re OK with both abusing people’s trust and breaking the law?

We added this functionality in response to multiple questionnaires we have sent to JUCE users - this was one of the most requested features.

1 Like

So, how do you plan on gauging anything worthwhile for your product/service then? Constantly polling users in emails which are extremely difficult to sift through? Forums that tend towards gathering too much noise?

@falktx1 Also, thanks for stripping out information from my post to take it out of context. That’s a load of horseshit and you know it.

1 Like

I do see what you’re saying. I just think it’s too polarised of an outlook, and unbacked.

You can say something as blanketed and biased as:

I can make viruses with JUCE so I’m not going to use JUCE.

I’m open to hearing more about your motivation behind this perception privately, or continuing on a different thread if you feel like it. At the same time, disregarding JUCE as a whole because of the potential of it being used in a way you dislike is hasty.

2 Likes

Even if my rebuttal was a hint strawman, I still haven’t seen evidence or any points against on your part that any of this is bad… You have only stated that you do not like this, and that other people do this.

Like @jrlanglois said, how else are developers supposed to aggregate information about how their products are being used, where crashes are happening, etc.?

In a FOSS cupcake world, nothing would be tracked because everyone would be an expert developer who knows every language and has infinite free time so that when they find a bug or want a new feature, they can pull the source, fix it, and contribute back. That’s not how the world works. Analytics are widespread nowadays because software is massive and complex and deployed to thousands or millions of users who are likely running into issues, share trends in usage, or are looking for something that isn’t there.

I feel like you’re confusing usage analytics with user data mining, where personally identifiable information is used to build a profile of a user and use it to sell stuff to them or to give to governments. I think we can all agree that type of data collection is not good. I suppose this “evil” version could be built using JUCE’s analytics module, but that’s basically a 1:1 analogy with @jrlanglois’s point that JUCE can be used to build viruses.

Even many (most?) FOSS Linux distros use some form of analytics to automatically track and aggregate issues and usage trends.

5 Likes

Analytics in JUCE sounds great. Thanks guys!

2 Likes

Hmm, interesting opinions.

This thread has made me think that perhaps we should reconsider the stuff we were planning to release next week, because I guess there’s a chance that juce::RootkitInstaller and juce::BombDetonationTimer could also be misconstrued as “bad” by some crazy liberals. SAD!

:slight_smile:

17 Likes

With the advent of the latest data protection legislation you pretty much have to allow people to opt out as well (or even have them specifically opt-in).

1 Like

What the f*** is a cupcake world? :slight_smile:

2 Likes

I hope it exists - it sounds absolutely delicious

I know … and I imagine really colourful and it never rains…

It might just be a midwestern idiom (likely why I haven’t heard it outside of southeast Michigan) - synonym for a perfect/fantasy world.

1 Like

This is great!

I understand falktx1 concerns.

But that’s interesting.
I don’t know much about analytics, but I always thought it was mostly used for tracking and marketing purpose rather than really aiming at improving the products, so I disregarded it. How does the use of google analytics on juce.com helps improving the library for instance?

I would be happy reconsider my opinion about analytics honestly. I really don’t know much anything about it, and I’m sure there are some good usage. It would be cool to hear how you all use it, a few short case studies/examples.

1 Like

I don’t suppose that’s for the library as such, but rather for optimizing/analyzing the use of the website itself.