Skip to content

Present user study/survey to "frequent" users #673

@cassidyjames

Description

@cassidyjames

I kinda brought this up on Slack but wanted to write up some longer-form thoughts here for posterity. This may well also be a bad idea, but I want to hash it out a bit.

If possible, I'd like to ask "frequent" users of the Music app how they use the app (e.g. for #671). For privacy reasons, we want to ensure any interaction with a remote server would be opt-in. We'd also want to ensure we're not spamming users, and I think we'd only really want to ask people who actually use the app—whatever we want to determine that means.

Current thought mulling around in my head:

  • Use GSettings to locally log when the app has been opened, e.g. as last-launch
  • When the app is launched, if it's been less than a week(? but more than a day?) since last-launch, iterate a counter, e.g. frequent-launches; if it's been more than a week, reset the counter
  • If the counter hits 3(?), consider this a frequent user of the app, and show an infobar with a request to fill out a user survey.

An advantage of this approach is that we're "targeting" however we determine frequent users completely client-side and anonymously, and not even doing anything with that data other than showing an opt-in survey. A disadvantage is that it's pretty narrowly limiting the scope of people who would participate.

Other thoughts, in no particular order:

  • We probably only want to consider users with items in their library?
  • Should we count "plays" instead of "launches"?
  • If we really wanted to go nuts, we could do a native, client-side survey that just submits the results to a remote URL; this is more work but would probably be a better overall experience. In that case, we'd need to write/host an open source server-side component instead of using a third-party survey service.
  • Regardless, do we want/need some sort of validation to ensure it's actual users who are filling out the survey instead of randos who somehow got the link?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions