stacks-archive / app-mining

For App Mining landing page development and App Mining operations.
https://app.co/mining
MIT License
48 stars 16 forks source link

Proposal: New App Reviewer - App Usages (reviewer unknown) #123

Open polluterofminds opened 5 years ago

polluterofminds commented 5 years ago

What is the problem you are seeing? Please describe. There is a significant reward being allocated to apps that do not necessarily bring new users to Blockstack. Of course, this is only indicated through multi-player apps. Currently, there is not a way to track single-player app usage. This proposal is to find a mechanism that can act as an app reviewer that tracks app usage (multi-player and single-player apps included).

There was a proposal that fizzled out a few months ago but it was specific to TheBlockStats. See the issue here: https://github.com/blockstack/app-mining/issues/67

I believe there is a simple way to track user growth for apps but it may not have been built yet. I know there was a time when @jcnelson was working on an analytics package that could be dropped into Blockstack apps. Curious what the status is there. If not ready, can we get a commitment from Blockstack to build something in X amount of time? Or do we need to have someone from the community build it?

How is this problem misaligned with goals of app mining? The problem is that there is currently no metric in app mining evaluating actual app usage. App Mining is supposed to bring more developers and users to Blockstack, but it's not clear that is happening.

What is the explicit recommendation you’re looking to propose?

  1. Commit to this type of App Review
  2. Set a timeline to avoid this falling off the radar
  3. Work as a community to come up with who the reviewer will be and how apps will use it

Describe your long term considerations in proposing this change. Please include the ways you can predict this recommendation could go wrong and possible ways mitigate. Such an app reviewer will need to be able to take into account all-time uses of an app, if possible. Not sure how that's possible with Single Player Apps.

friedger commented 5 years ago

There are https://app.co/app/agaze (open source) and https://app.co/app/nfogix as blockstack apps.

polluterofminds commented 5 years ago

That's great. Didn't realize there were already analytics apps built on Blockstack. I wonder, though, if using a Blockstack app that qualifies for app mining presents too much of a conflict of interest?

dantrevino commented 5 years ago

+1 for a native platform solution, vs a separate app.

For my personal curiousity, I would like to understand the architecture of how this would work. We can surely check redirects to blockstack web auth, but this would discount anyone running a local node, which is what I think we should encourage.

polluterofminds commented 5 years ago

The browser could, in theory, handle all of this. It’s already receiving manifest info. So not matter whether it’s a hosted browser or local (and no matter whether it’s a hosted app or local), usage/sign ups could be tracked. This can be totally anonymous if ip addresses are not used and they wouldn’t need to be used for what we’re discussing here.

GinaAbrams commented 5 years ago

Adding @jeffdomke to please give an update here.

stackatron commented 5 years ago

Thx for starting this thread @jehunter5811

I'll address your recommendations first:

1. Commit to this type of App Review We'll be announcing some reviewer news soon that will mention this — at PBC we already have committed to the goal, but still not sure how we can get there.

2. Set a timeline to avoid this falling off the radar The community is welcome to set a timeline. I think that would be great. For PBC, we reevaluate priorities each quarter and it is challenging to commit without factoring in the opportunity costs. One of our biggest goals is hiring so we can move beyond this current resource crunch.

3. Work as a community to come up with who the reviewer will be and how apps will use it I hope this happens. 👍

What PBC has done: Starting about three months back we internally brainstormed around the question:

Is it possible to generate truly anonymous and decentralized analytics that we would trust enough to use for App Mining?

There are a ton of factors to consider here and we ruled out several plans because they involve compromising anonymity or decentralization. One approach that still shows promise is using ring signatures to ensure anonymous, but provably valid, Blockstack IDs are associated with the event metrics. This would let us track retained users per app over time.

That said, we also realized how big an effort this would be in terms of research, time, and implementation which is why we haven't committed to building it yet.

I'm sharing that background to let you know we're also thinking about this. Retained users is probably the most important metric or reviewer of all.

We welcome input and help. This could include hiring help. Or, helping gather support for less complex, interim solution that will do the job until we can build the long term solution.

And apologies for the lack of transparency. When it comes to data privacy topics I try to be more cautious with what we announce. When we have something concrete we'll share it in full.

polluterofminds commented 5 years ago

Thanks so much for the detailed post Jeff! I’m excited to see what you all come up with. I am willing to bet there are others working on solutions for this too, so I hope they speak up if they are.

stackatron commented 5 years ago

I'd like to propose we split this into two problems:

  1. Simple tracking for app developers
  2. Tracking that cannot be gamed and we can use as an app reviewer.

Moving this to icebox for now as we do more R&D. Feel free to keep the conversation going here.