App Mining with two Tiers - Growth App Mining + Quality App Mining
Opened this issue · 26 comments
The discussion we had yesterday was very helpful to understand Blockstack’s retrospection on app mining and its possibilities in the coming future. PBC especially @muneeb-ali should make sure calls like this should happen more often (at least once per quarter) so that the developers and app makers understands PBCs perspective on App Mining in terms of how they are foreseeing this program in the long and short term. As far as I could remember the three main considerations were fair distribution of payouts, privacy preserving analytics and moving app mining program towards a more decentralized structure so that PBC is less involved in the distribution of payouts.
Before charting a future path, one has to consider what we want from the app mining program and we should be aware of our expectations from the program.
Two things come to my mind based on our past one years’ experience of participating in app mining program and the discussions we had on github. We have been oscillating between two major aspirational objectives. One is scale and the other is quality. Firstly, awareness and reach of blockstack with respect to app developers has to be expanded. Secondly we need more high quality apps that can retain real users and can compete with apps built on conventional centralized infrastructure without compromising on our 'Can’t Be Evil' ethos. Having said that I believe there is no silver bullet to confront both these challenges together. It would be naive to expect that a one size fits all model of app mining would accomplish both. We need to have a more nuanced and granular approach for that.
Following up on what we discussed yesterday in the call, I would like to propose the following suggestions for restructuring app mining program.
For calculations and simulation I’m taking the time period as March, 2020-October, 2020 with a budget of total $7.8M. Please note that the numbers are indicative and I have borrowed numbers (budget) from this page to make this proposal more explanatory. PBC might change the numbers as per their factor conditions.
Please note that this proposal is just a starting point and completely open to have your inputs on how we can make it better and more effective. The ultimate objective is to create a long lasting, stable, thriving and 'Can't Be Evil' (d)app ecosystem.
1. My first and foremost proposal is to restructure App mining into two components. Tier-1 and Tier-2
App mining- Tier 1
a. Whatever the shortcomings of current app mining program in the past one year, it cannot be denied that it has been the single most important growth engine for engaging new app developers with the blockstack ecosystem. If we have 250+ functional apps right now, that’s only because of app mining program. Tier-1 will be an evolution of current version of App mining wherein the overall payout per month will be pegged at $600,000 per month with a distribution curve of 2%. This is to ensure that a steady flow of new apps are constantly seeding the growth of our app ecosystem. This is to ensure that app mining continues to spread and app developers across the globe continue to come on board the blockstack ecosystem. It is important to understand the implications of having an App mining component solely focussed on attracting new developers to our ecosystem. This is an important requirement for attracting independent developers and app makers at scale to ensure that there is a diverse and wide pool of apps. We have to be cognizant of the fact that our main objective with Tier-1 apps is to reach scale, say 700-1000 apps in next one year. With this obviously we might find apps that are mediocre, simple or plain second rate. But it would also help us in bringing a new set of app makers even if they are making simple and basic apps. This will help us in bootstrapping many things like bug discovery, testing the platform, talent discovery and mutual collaborations. These things are extremely valuable for a nascent growing ecosystem. The community with the help of PBC should keep a check on the process so that we can at least maintain a reasonable quality. Having said that we need to set our expectations according to that. Attaching a screenshot to compare ourselves with other platforms were we stand in terms of scale. Courtesy Dapp.com.
b. A payout pot of $600,000 per month and a distribution curve of 2% will ensure that app ranked 1 would get $12000 per month and app ranked 200 will get $215. With the long tail it will ensure motivation level of app makers is high and influx of new developers will be continuous. This model will incentivize independent developers, weekend projects and hobby app makers to participate in the program and who knows one day we might get an Instagram, shutterfly or Pinterest out of this.
c. I completely agree with @njordhov that Can't Be Evil should be at the core of whatever we do. It can be taken as a multiplier of other parameters. Rather than adding the NIL score and averaging it out with other components make it a multiplier.
d. I would also like to see active users as a parameter that should be added to the current scheme of things. I understand that currently we only have raw users data and privacy preserving analytics is a key challenge for us, but I feel ‘user’ should still be a parameter. To make it fair for new entrants ‘new users acquired every month’ could be one of the parameters. Once measuring is solved we can incorporate that in the scoring algorithm.
e. Make Trymyui to select users who have prior understanding of what blockstack is what should be their expectations from a blockstack app (can’t be evil, data and identity ownership, privacy etc). They should at least have a blockstack id registered before testing the app. A small explainer video could be made with the help of community and shared with trymyui users beforehand.
App mining- Tier 2.
a. Tier 2 will focus on addressing the higher order challenge i.e. maintaining quality of Blockstack App Ecosystem. This could potentially be seed fund for apps targeting mass adoption and complex use cases. Every quarter 10 apps/ideas should be selected based on their idea, team and product. Any team can apply for these rewards. A selection panel comprising of PBC team members, blockstack volunteers like @friedger and active blockstack evangelists should be part of the panel. We can discuss this further to make the process more nuanced and avoid any conflict of interest.
b. Specific time-bound milestones should be finalized for each team with mutual discussion and the funding should be unlocked based on meeting those milestones. Milestones and achievements should be made public to the overall blockstack community to ensure the money isn’t misused.
c. A total payout of $100,000 should be earmarked for each apps/ideas subject to fulfillment of milestones.
The rewards to these teams could be unlocked in the following fashion. Q1 milestone (Initial seed) - $10,000, Q2 milestone (After 3 months) - $20,000, Q3 milestone (After 6 months) - $30,000, Q4 milestone (final instalment)- $40,000.
2. As a key differentiator, the maximum amount an app can be awarded if it is participating in Tier-1 should be significantly lower than what an app can get by being in Tier-2. The above proposal ensures that. This will make sure that apps that want to garner a higher share of stacks tokens aspire to work on critical and difficult problem statements. Further, if people are trying to game Tier-1, we can introduce a criterion to restrict the payouts to apps for a maximum period of 6-9 months which further reduces the incentive to game the system and at the same time enhances the incentives to solve critical problems which come under Tier-2.
Based on the above mentioned points, A total of $4.8M is earmarked for Tier-1 and a total of $3M. A budget of $7.8M will be needed to cater to both these aspects which are crucial for the long term growth of app mining ecosystem. As mentioned previously I have referred this page to get an indicative estimate of the budget for the proposed period.
I disagree in selecting TMUI users that have prior knowledge of how blockstack work as a user. This defeats the purpose in creating a universal experience and would create a bubble where your users are only web3 enthusiasts. The idea here is to create an app EVERYONE will use. Forcing web3 experience only could Pgeon hole your user base and disregard growth. It is time we start building for everyone instead for enthusiasts. If there’s any issue arise due to Blockstack flow (ie blockstack Firefox issue), we can use this to hold blockstack accountable in improving their stack experience.
@sdeepak23 Could you rename the issue to something like "2-Tier App Mining" or "Growth App Mining + Quality App Mining" so that this is distinguishable to other new app mining proposals?
I like the approach to have one fund for growth and one fund for quality!
@sdeepak23 Could you rename the issue to something like "2-Tier App Mining" or "Growth App Mining + Quality App Mining" so that this is distinguishable to other new app mining proposals?
I like the approach to have one fund for growth and one fund for quality!
Just did.
@davidyapdy TMUI is for testing purposes. It gives you a snapshot of how an actual user will experience the app allowing the developer to make changes to improve the user experience. It's not a substitute for in person user testing. Each Dev should be testing on their own with non-Blockstack users. Requiring TMUI testers to be non-Blockstack users just adds more noise to the test, doesn't give good UX feedback and doesn't solve the goal of getting more users on Blockstack.
I'm sorry, I still do not agree with your point. A snapshot or not, it is one motivator to gradually improve your app to be usable to EVERYONE. This is of course if you have no intention to expand outside of your bubble. The better statement should be each dev should be testing the UX with Blockstack user internally to harness their opinion to improve your app for a wider audience use case.
You mention your goal is to get more user on blockstack. How can you get more new user on blockstack if you only take opinion from blockstack users who has already know how to use a blockstack app. Only new users can be acquired when you reach out of your circle to understand user who has no experience in using web3's struggles. Use their feedback and make a better app. Else, it's just shoulder patting. User is more important to me for getting mass adoption.
@davidyapdy @joberding This issue is mainly about splitting the app mining program in two. What do you think about that?
I'm good in splitting in two but I still think there needs to be more defined in tier two and one. Cause essentially, for quality it is also about growth (building for mass adoption). Can user participate in both tier? If not, im sure many user would stick to tier one.
@davidyapdy Growth here means that the number of apps is growing, not the number of users of an app.
Tier-1 is lower and therefore, less interesting for app publishers.
@davidyapdy , @friedger accurately described what I mean by growth here. The primary objective of Tier-1 is to engage more and more developers with blockstack ecosystem and to encourage app makers use blockstack's infrastructure. The goal here is to seed the blockstack app store with 700-1000 apps creating a large pool of app makers. Tier-2 is for apps that confront complex use cases and mass adoptions and which can compete with centralized apps.
I'm sorry, I still do not agree with your point. A snapshot or not, it is one motivator to gradually improve your app to be usable to EVERYONE. This is of course if you have no intention to expand outside of your bubble. The better statement should be each dev should be testing the UX with Blockstack user internally to harness their opinion to improve your app for a wider audience use case.
You mention your goal is to get more user on blockstack. How can you get more new user on blockstack if you only take opinion from blockstack users who has already know how to use a blockstack app. Only new users can be acquired when you reach out of your circle to understand user who has no experience in using web3's struggles. Use their feedback and make a better app. Else, it's just shoulder patting. User is more important to me for getting mass adoption.
The signup flow is the same for most of the apps. By filtering out non blockstack users in the App Mining process we are sure that the core value of the app is tested.
If something wrong happens with the signup, non Blockstack users will have no clue if it comes from the app or Blockstack itself.
Simple example: issuing a blockstack username can take hours or is not happening at all thus breaking the whole user experience sometimes.
Why evaluating an app on something where developers can't do much?
Yes Sam I understand. But that would make it more clear to Blockstack to improve their flow. If no one is able to call that out, there would not be any improvement since blockstack users are already used to those issue. Having more complains could drive action this improving the whole ecosystem as a whole.
@davidyapdy Still, it should not be the responsibility of the App Mining Program.
As a developer, I'd like to be evaluated on my work and if my work brings value (in Blockstack case, new users), be rewarded. That's what makes the App mining program compelling to me.
I hope for Blockstack they are focusing on their flow. This should be their top priority in order to get a chance at becoming a mainstream platform. If they are not aware of this as today, throwing more time and money marketing to developers is a total waste.
The first time I heard about Blockstack and the App mining program, I created an account, it was instantaneous and I've been able to try a few apps. I said to myself, "great, the flow is easy enough for a lot of users, let's build something".
That's what I'm doing right now and while testing with my teammates, we had very different experiences, especially one where it took days to get my colleague a working Blockstack account.
For him, the Blockstack platform is not worth investing in this stage. For me, it's the perfect time to make apps and believe in the team at Blockstack to focus on what matters.
I hope I'll be right 😃
If we are able as a community to define the individuals/organizations (other than Blockstack PBC) that will be in charge of managing different programs, a proposal like this could work.
@sdeepak23 , how will u prevent apps gaming the quality tier? who monitors them? Also in tier 1, do u think $215 incentive to 200th app is enough to grow this ecosystem???
I'd like to see actual specifications for these hopes. There is not yet a proposal here yet, only the seeds of a proposal, and a new payout schedule.
My issues:
-
I can make an argument that paying out 200 places would dramatically decrease "quality", whatever that means. I dont agree with the main objective being to "reach scale" if it means just throwing money away at devs/teams that dont really care about the main objective: DApps serve users. (https://docs.blockstack.org/develop/dapp_principles.html). This can be improved, imho, by adding a NIL/CBE qualifier before admission to app mining. If we add that, I think the revised payment schedule, as a separate proposal is a great idea.
-
The community with the help of PBC should keep a check on the process so that we can at least maintain a reasonable quality.
This is not a proposal, this is a wish. How?
-
d. I would also like to see active users as a parameter that should be added to the current > scheme of things. I understand that currently we only have raw users data and privacy preserving > analytics is a key challenge for us, but I feel ‘user’ should still be a parameter. To make it fair for new > entrants ‘new users acquired every month’ could be one of the parameters. Once measuring is > solved we can incorporate that in the scoring algorithm.
Another wish, not a proposal. We all want to measure active users. We all want to measure active users. We all want to measure active users. This is not a new hope/wish. If we could do it in a responsible way, we'd be doing it already.
- All of "Tier 2" is another hope, with no real proposal behind it. Good idea, imho, but needs more specification, and the devil is in the details. This one can easily go south.
Hello, Jessica here. I like the idea. Was going to comment earlier but I couldn't manage the time.
@dantrevino i understand that we need details. but i like it because i can tell one of the Blockstack's and @muneeb-ali 's biggest argument is how they have over 300 apps in year, which makes me believe one of Blockstack's objectives is to have many apps. I think the "proposal" suggested that "why do we/Blockstack have to pick between Quality and Quantity when we can have both". We might not agree with giving out 600k per month for tier 1 and that can be fixed. I think there are more details we need to come up with within each tier. but I like the idea of separating into 2 tiers.
@babyrusa What problem does this solve? Do you believe quantity is the problem that app mining is facing?
@davidyapdy, @joberding, @samuelroy,
As freidger mentioned this particular issue is mainly about restructuring app mining program into two tiers. My point related to trymyui was making trymyui scoring more effective in the context of app mining. @njordhov had already opened issue #212 which specifically deals with this exact issue so I guess it would be better to route further discussions regarding trymyui there.
@praveenrkp , I'll answer your questions one by one.
how will u prevent apps gaming the quality tier? who monitors them?
I have touched upon those in my initial post itself. I’ll point you to the relevant sections with some explanation to help you understand better. Let me know if you are still unsatisfied and I’ll try to unpack my points further.
A selection panel comprising of PBC team members, blockstack volunteers like friedger and active blockstack evangelists should be part of the panel. We can discuss this further to make the process more nuanced and avoid any conflict of interest. Specific time-bound milestones should be finalized for each team with mutual discussion and the funding should be unlocked based on meeting those milestones. Milestones and achievements should be made public to the overall blockstack community to ensure the money isn’t misused.
The funds aren’t allocated all at once. It incentivizes the team to show progress per quarter since the quantum of funds are unlocked gradually. It makes sense to stay with the problem and keep building since the majority of the funds will be unlocked in later quarters.
Also in tier 1, do u think $215 incentive to 200th app is enough to grow this ecosystem???
Whatever the shortcomings of current app mining program in the past one year, it cannot be denied that it has been the single most important growth engine for engaging new app developers with the blockstack ecosystem. If we have 250+ functional apps right now, that’s only because of app mining program. Tier-1 will be an evolution of current version of App mining wherein the overall payout per month will be pegged at $600,000 per month with a distribution curve of 2%. This is to ensure that a steady flow of new apps are constantly seeding the growth of our app ecosystem. This is to ensure that app mining continues to spread and app developers across the globe continue to come on board the blockstack ecosystem. It is important to understand the implications of having an App mining component solely focussed on attracting new developers to our ecosystem. This is an important requirement for attracting independent developers and app makers at scale to ensure that there is a diverse and wide pool of apps. We have to be cognizant of the fact that our main objective with Tier-1 apps is to reach scale, say 700-1000 apps in next one year. With this obviously we might find apps that are mediocre, simple or plain second rate. But it would also help us in bringing a new set of app makers even if they are making simple and basic apps. This will help us in bootstrapping many things like bug discovery, testing the platform, talent discovery and mutual collaborations. These things are extremely valuable for a nascent growing ecosystem
$200 might not be good enough incentive to a developer to keep building with blockstack. But the primary objective of Tier-1 is to engage more and more app makers so that they start using Blockstack's infrastructure, build on it and start having a relationship with the ecosystem. See it as growth strategy from Blockstack’s perspective. It is to note that Blockstack is a 5+ year old project. Even older than Ethereum and in some way It’s quite concerning that we don’t have the kind of developer traction we should have had till now. I understand we aren’t in a race but we should acknowledge that we are already much behind other platforms in terms of traction and awareness. App developers for w3 are scarce resources and whatever little bit we’ve got till now is all because of the app mining program. It is for everyone to see the kind of dynamism we have observed in our public forums (github, slack, discord) before and after September. I remember when we started building with Blocktack and joined app mining program there were just 32 apps. The number very slowly increased to around 70 till August. The main growth came after applying reduced distribution curve formula (long tail ) which resulted in the upsurge of apps in the program. Anyone who is running a startup would understand how important is to sustain the momentum, and I believe it's time to step on the gas with this initiative and really scale it up rather than putting a brake. It might irrevocably damage the network effect we have achieved in the past few months.
Hi @dantrevino, we meet again :)
-
I'd like to see actual specifications for these hopes. There is not yet a proposal here yet, only the seeds of a proposal, and a new payout schedule.`
I have already mentioned this,
Please note that this proposal is just a starting point and completely open to have your inputs on how we can make it better and more effective. The ultimate objective is to create a long lasting, stable, thriving and 'Can't Be Evil' (d)app ecosystem.
Let’s work on it to make it better and more inclusive. Now moving on to your questions,
-
I can make an argument that paying out 200 places would dramatically decrease "quality", whatever that means. I dont agree with the main objective being to "reach scale" if it means just throwing money away at devs/teams that dont really care about the main objective: DApps serve users. (https://docs.blockstack.org/develop/dapp_principles.html). This can be improved, imho, by adding a NIL/CBE qualifier before admission to app mining. If we add that, I think the revised payment schedule, as a separate proposal is a great idea.
I firmly believe scale is an issue here. Unless and until someone from PBC officially makes a different statement, it would be very hard for me to believe that PBC isn’t concerned with scale at all. Most of their presentations, social media handles and even muneeb’s quarterly updates indicate how much they value scale. It's up to you to consider that as a signal or not.
“Dapps serves users”, I never have and will disagree with that statement. I guess we briefly had a chat over this topic in discord and I’m 1000% with you on that. CBE is the foundation of everything we do. I would like to understand your thought process more deeply to know why you so strongly believe CBE and Scale are mutually exclusive. For me they are two different topics altogether.
NIL was precisely introduced to ensure that apps ‘Can’t Be Evil’. I have previously mentioned somewhere that I agree on making NIL as a qualifier. But we also need to make NIL more granular and sophisticated to make it a qualifier. We can see from January’s audit result that NIL is still evolving and far from perfect at this stage. It would be gross injustice to app developers if we don't have same quality parameters as we have for ourselves. Till the time we have a solid and foolproof NIL tool it can’t and shouldn't be a gating mechanism. I believe larry is working on this and I’m sure we’ll see some progress sooner than later. Till then @njordhov's idea (issue #217) of using NIL as a multiplier looks great to me.
The community with the help of PBC should keep a check on the process so that we can at least maintain a reasonable quality.
-
This is not a proposal, this is a wish. How?
Before responding to this question I’ll define what ‘Quality’ means for me. This is totally my definition and I’ll refrain myself from getting into causal loops and philosophical debates.
For me a high quality blockstack app is something that completely subscribes to CBE ethos and has traction amongst real users.
If an app gets ticked in the NIL component and has traction I’ll take it for a good quality app. I’ll neither venture into subjectivity of it nor would like to be the judge. It ends then and there for me.
-
Another wish, not a proposal. We all want to measure active users. We all want to measure active users. We all want to measure active users. This is not a new hope/wish. If we could do it in a responsible way, we'd be doing it already.
This is a challenge for Blockstack in general. At the moment we cannot measure active users and that’s the truth. So what’s the alternative for that? Just measure how many users an app has. Blockstack does that and uses it as a marketable metric. Nothing wrong in that so why should it be different for the dapps built on blockstack?
-
All of "Tier 2" is another hope, with no real proposal behind it. Good idea, imho, but needs more specification, and the devil is in the details. This one can easily go south.
Ask me something specific and I’ll try to answer to the best of my ability. If I’m not able to then let’s work together to make it more meaningful for all of us.
Guys, I have few more thoughts on this proposal. Will update shortly.
Please note that this proposal is just a starting point and completely open to have your inputs on how we can make it better and more effective. The ultimate objective is to create a long lasting, stable, thriving and 'Can't Be Evil' (d)app ecosystem.
I see people saying they like 219 as a proposal. I think we're on the same page that this is not yet a proposal. It might help to separate out the solid payout proposal from the less robust governance discussion.
I firmly believe scale is an issue here.
100% on the same page here... scale is an issue ... its not the issue. Scale is not the reason Muneeb said during the app miner call that App Mining may pause. I think we can all agree that growth is good and could be better.
But its not the issue that is forcing a re-think of app mining.
#217, #142, #143 are all great ideas. My overall concern is that I'd like to see some of these things codified into a proposal and a plan, rather than github issues.
Until they are, and until the details are specified, I suggest pausing on app mining.
Whatever the shortcomings of current app mining program in the past one year, it cannot be denied that it has been the single most important growth engine for engaging new app developers with the blockstack ecosystem. If we have 250+ functional apps right now, that’s only because of app mining program.
This may be surprising, but I am fairly certain this isn't the case. While it's impossible to 100% say, because many of the campaigns we ran eventually somehow connected into App Mining, the majority of new apps were actually sourced from hackathons, individual outreach, and our contests. Most times those fed into App Mining, so we probably had some benefit there in getting signups with mining as a motivator, but we have proved repeatedly before App Mining that we can get apps in the door by a number of means. I mainly hoped that App Mining would then give them runway to keep working and develop more valuable and quality apps thereafter.
So from my perspective, the growth side is actually pretty easy and doesn't require App Mining - it's the quality/value side that I would prefer it solved, as that's the harder problem.
I mainly hoped that App Mining would then give them runway to keep working and develop more valuable and quality apps thereafter.
This.
- it's the quality/value side that I would prefer it solved, as that's the harder problem.
No this.
This may be surprising, but I am fairly certain this isn't the case.
It actually is quite surprising to me. Just want to be sure if this is your personal insight or there has been a discussion within the team where PBC reached to this conclusion. If that's the case then I believe we have a larger problem to address.
So from my perspective, the growth side is actually pretty easy and doesn't require App Mining
This we'll know once we pause app mining. The following 2-3 months data after the pause would be sufficient enough to conclude whether app mining program has any effect on growth.
the growth side is actually pretty easy and doesn't require App Mining
App mining may not be required for growth, but it could play more of a role in making promising apps stick around and keep on being improved. That's the missing link between intake and valuable quality apps.