agregore-browser icon indicating copy to clipboard operation
agregore-browser copied to clipboard

Opt-in analytics

Open RangerMauve opened this issue 3 years ago • 2 comments

It'd be good to have a way to collect some basic usage statistics on Agregore to get a sense of how many folks are using it. This could be useful for finding funding and for seeing which functionality is getting used the most (or not getting used at all).

People would be prompted to enable analytics the first time they set up Agregore, maybe on the "welcome" page? And if they enable it then we'll start collecting the following:

  • Record when Agregore gets started up for the first time
  • Record when a protocol gets loaded for the first time (since startup)
  • Record when a protocol gets used to load a URL (don't send the URL anywhere, just that it was loaded successfully or not)
  • Record when the browser boots with an extension that wasn't there by default (don't send the extension name, just want to see if people are actually using custom extensions).

The analytics server will be self-hosted on my personal infrastructure so the data won't be going to Google or anything, and I'd like to avoid storing any sort of identifying information like IP addresses. I'm not sure if we'll need to have some sort of unique ID being sent over to differentiate unique users, but it might be needed for getting an accurate "active user count".

Some options for analytics services:

  • https://prometheus.io/
  • https://plausible.io/open-source-website-analytics
  • https://matomo.org/

In terms of implementation, I was thinking of shoving it into a new web extension which would get enabled at runtime if the configuration setting is there. Alternately it can be loaded at runtime regardless and just configured to be enabled or not (disabled by default)

Are there any objections folks can think of or recommendations for services to use / things that would be useful to track?

RangerMauve avatar Jan 22 '22 21:01 RangerMauve

as long as identifying info like ip address is not tracked, i am fine. so yeah everything you mentioned sounds good to me.

resession avatar Jan 22 '22 21:01 resession

I'm personally totally okay with this, especially if it is "opt-in" and not "opt-out", and it helps the project move along.

Kinda like how some projects call it "telemetry data", just to see what is going with the project. cf Next.js

Beaker Browser has an opt-out "Beaker Analytics" - the menu item at the bottom of beaker://settings/ says:

Help us know how we're doing! Enabling analytics will send us the following information once a week:

An anonymous ID
Your Beaker version, e.g. 1.1.0
Your operating system, e.g. Windows 10

Code: https://github.com/beakerbrowser/beaker/blob/63dd71e3cd0ae151ec6160b5b02d10afe483614f/app/bg/analytics.js

Your approach would probably go a bit more deeper, as it would check how the app is used. But still okay.

johanbove avatar Jan 29 '22 22:01 johanbove