Scoring Apps for Technical Features in App Mining


#1

Blockstack community and staff have both mentioned that App Mining Rewards scoring should consider an App’s use of Blockstack’s technologies beyond authentication.

This would allow Blockstack to incentivize platform improvement and adoption. It should be possible to include this in App Mining Rewards scoring quickly. However, I’m not sure that this is being discussed actively and thought it would be helpful to propose something that the Blockstack community and staff could iterate on to expedite the process.

Ideally this scoring could be automated or eliminate the need for Blockstack to have to manually judge the apps. Lets propose that for each of the following Blockstack technologies used by a Blockstack App, a single point is gained:

  1. Blockstack Auth
  2. Blockstack Encryption / Decryption
  3. Blockstack GAIA storage
  4. Blockstack Desktop API (blockstack.js)
  5. Blockstack Mobile API (Android or iOS)

Beyond these technologies, it is also desirable that Blockstack Apps be open source and of benefit to the developer community, so lets include some points for that:

  1. Current App release is open source on Git or other publicly accessible repository.
  2. Current App can be built and tested / run by members of the public from open source code.

Given the above 7 criteria, an App could score a total of 7 points. It might make sense to apply some curve/modification of the score, but I’ll leave that for Blockstack and the game theorists to consider.

Are there any other technologies I missed or did not mention? (i.e. CLI, multi-player storage etc.)

Do folks have ideas about how to automate this scoring? (i.e. git tools to check presence of features mentioned above etc.? A script using the CLI’s ls ability to test for criteria #3 above)

@hank @patrick @muneeb @jude


#2

Agreed.

Most of the apps not open-sourced because they are using point-of-failure servers.

I’ve failed before at fupio.com because of this. Now trying to build my own little blockchain for my app called orion8 (https://github.com/fupio/orion8)

This is not what I understand about decentralized. Decentralization is not an extension or plugin which you can add your stack easily eq. authentication button. This is like you all-in or all-you-out situation.


#3

For 4./5. should be one point: “Using more than one SDK”

Re 7. Yes, please I want a build farm

I can’t imaging how this can be automated, especially if the app is not open sourced.
Maybe using a service like https://saucelabs.com where the app developer needs to add a test for her app and inspecting the network calls of the test results should show how blockstack is used.


#4

I didn’t realize there was one. I recently created iOS and Android apps for blockslack.io, but I am pushing people through the regular web authentication flow in a system browser. Is there something better I could be doing?


#5

Love the idea of a reviewer that ranks based on the technical quality of apps, and how well they make use of Blockstack tech.

As with all the reviewers, the challenge is finding the right review partner. In this case, it could be a reviewer that manually assess all these attributes. Or, as you suggested, some software could get involved. Even if the software is open source, the question becomes who maintains this repo and makes adjustments, or fixes problems, when the need arrises (which it will). So either route we return to the same challenge of finding a reviewer who:

  • Knows our stack well enough to help evaluate and build evaluation tools.
  • Is impartial and won’t bias unfairly.
  • We trust to uphold Blockstack community values (we can always remove reviewers, but prefer not to of course).

Any ideas on who would make sense? We would be grateful for help finding such a reviewer. Thx!


#6

I didn’t realize there was one. I recently created iOS and Android apps for blockslack.io, but I am pushing people through the regular web authentication flow in a system browser. Is there something better I could be doing?

Feel free to look at Stealthy’s mobile source (Sept. 2018):

The bridges from React Native to Blockstack are here:

Stealthy uses modified Blockstack APIs (to get access to functions in a way consistent with the original Blockstack web API or support GAIA features that weren’t initially available–the iOS API in use is old as dirt, but works for our purposes):


#7

:grimacing: seems like we’re failing on visibility there. https://github.com/blockstack/blockstack-ios and https://github.com/blockstack/blockstack-android

Not sure if I agree about this, as well as extra points for using more than 1 SDK. Not all apps need encryption, or to be both mobile and desktop. Agreed with the rest.

Agreed that having a point-of-failure server is a bad thing. That shouldn’t happen. But there is nothing wrong with having a centralized server, if it’s open source, and anyone can run it, and restore from the same dataset.


#8

I’m not saying centralized is a bad thing. But we are all liars. To be fair our (d?)apps not truly decentralized. In crypto world, everything is a bunch of bullshit and marketing crap.


#9

Taking this up again,next round coming soon. I propose that apps source code is reviewed by peers for the technical judgement.

Only app publishers taking part in the app mining program can agree to become a judge.
Judges are compensated 10$ per app. Each app should be reviewed by at least two randomly picked judges.
App publishers that do not provide access to the source code are scored 0.