create account

Scaling the Utopian Bot by eastmael

View this thread on: hive.blogpeakd.comecency.com
· @eastmael · (edited)
$24.33
Scaling the Utopian Bot
<center>![revelation-2937691_1280.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1513124623/cmnne8ldqesdvpp8gfi2.jpg)</center>

<sup>[Image Source](https://pixabay.com/en/revelation-transformation-awareness-2937691)</sup>

This has been on my mind for a couple of weeks now and [this post](https://utopian.io/utopian-io/@stoodkev/utopian-vote-back-on-range) from @stoodkev finally triggered me to share it with the community.

## Outline 

1. The Issue
1. The Proposed Solution
    1. Working Asynchronously
    1. Foreseen Short-term Challenges
    1. Keeping Track
1. Keys to Making it Work

## 1. The Issue

For those who follow me, I keep track of @utopian-io's growth in my analyses. And one issue I identified in [monitoring](https://utopian.io/utopian-io/@eastmael/utopian-io-s-daily-top-3-with-a-twist-nov-27-2017-steemit-business-intelligence) it was the maximum contributions that the bot can up-vote.

> **How many users, contributions, and projects is Utopian aiming to reward? How many open-source projects are out there? And how many contributions are we expecting 1 to 3 months from now?**

These are just some of the questions I've been pondering on.

## 2. The Proposed Solution

Right now, we have @utopian-io voting on all of our contributions across all categories. What this contributor is suggesting is to have separate voting bots for each category - one bot for each category.

Example:
```
@utopian-io-suggestion
@utopian-io-sub-project
@utopian-io-development
@utopian-io-bug-hunting
@utopian-io-translation
etc.
``` 

Then each of the bots will have it's own delegated STEEM Power (SP). 

> This comes with it the need to request for the delegators to distribute their delegation to these bots. 

The Utopian community or moderators will discuss how much they think they need or will distribute this SP to the different bots and will request the delegators to distribute it as such.

### 2.1. Working Asynchronously

The effectiveness of this solution lies in it being distributed. Each of the bot will then be able to recharge at different times and be able to offer it's reward across more contributions.

Given the [past performance](https://utopian.io/utopian-io/@eastmael/utopian-voting-performance-how-s-the-bot-performing-steemit-business-intelligence) of @utopian-io of up-voting a current best of **318 contributions,** creating one bot for each of the 12 categories can potentially give us **3816 contribution up-votes.**

Depending on the number of contributions up-voted, each of the bot will then be able to recharge at different times. The bots don't need to use 20% max of it's voting power at the start of the implementation, but in the long-term, this 20% will be reached depending on the number of contributions on the category it's assigned to.

If we want the bots to start voting synchronously, we can have an API for that. But again, I don't think this can be called distributed if they have to wait for each other before starting to vote (just this author's opinion).

### 2.2. Foreseen Short-term Challenges

As mentioned in the previous section, in the short-term, while the number of contributions on each category is small, the number of contributions that need to be up-voted on will also be small and the bot's full 20% voting power may never be used. Or if it must make use of it's full 20% VP, then it may result in the contributions to be overvalued.

For reference, as of December 8, this was how the **rewards for each category** were distributed and how the contributions per category grew over time.

| <center>Contribution Per Category</center> | <center>Growth of Top 5 Categories</center> |
| -- | -- | 
| ![image.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1513123551/holu94raqjxihwsqvpaq.png) | ![image.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1513123590/w4l8e8cs6p6cykrftd8h.png) |

Again, the community can use the bot's past 2 to 3 month's data to guide this decision.

In the long-run, this author looks at the scenario wherein the number of contributions on each category will reach its max and the 20% VP will be used.

### 2.3. Keeping Track

> The third principle is that the community produces products to serve its members. This principle is
exemplified by credit unions, food co-ops, and health sharing plans, which serve the members of their
community rather than sell products or services to people outside the community. -- [Steem White Paper](https://steem.io/SteemWhitePaper.pdf)

This requires the need to keep track and measure each of the bot's performance and tweak them so that the SP delegated to them will be equal to the rewards the community or moderators think or believe the contributions in such category deserve. This also needs to be directly proportional to the contributions each category receives and up-vote. 

## 3. Keys to Making it Work

> More SP is not really better. Before we ask for more, it's better to find ways to make better use of what we have.

The critical thing to make this work, besides the implementation, is the request or movement of the delegated SP. Currently, @utopian-io's SP comes from delegation. If we were to make this solution work, it may entail a lot of movement of delegated SP from one bot to another, until a balanced distribution is reached. 

As such, it may need work on talking with the delegators and requesting them to move their delegated SP from one bot to another, which I don't think the delegators are willing to do.

Again, this is just an idea being put out into the community to peruse.

<br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@eastmael/scaling-the-utopian-bot">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authoreastmael
permlinkscaling-the-utopian-bot
categoryutopian-io
json_metadata"{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":106805299,"name":"api.utopian.io","full_name":"utopian-io/api.utopian.io","owner":{"login":"utopian-io","id":18612062,"avatar_url":"https://avatars2.githubusercontent.com/u/18612062?v=4","gravatar_id":"","url":"https://api.github.com/users/utopian-io","html_url":"https://github.com/utopian-io","followers_url":"https://api.github.com/users/utopian-io/followers","following_url":"https://api.github.com/users/utopian-io/following{/other_user}","gists_url":"https://api.github.com/users/utopian-io/gists{/gist_id}","starred_url":"https://api.github.com/users/utopian-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/utopian-io/subscriptions","organizations_url":"https://api.github.com/users/utopian-io/orgs","repos_url":"https://api.github.com/users/utopian-io/repos","events_url":"https://api.github.com/users/utopian-io/events{/privacy}","received_events_url":"https://api.github.com/users/utopian-io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/utopian-io/api.utopian.io","description":"Node API for Utopian.io - Utopian rewards open-source contributors for hard work!","fork":false,"url":"https://api.github.com/repos/utopian-io/api.utopian.io","forks_url":"https://api.github.com/repos/utopian-io/api.utopian.io/forks","keys_url":"https://api.github.com/repos/utopian-io/api.utopian.io/keys{/key_id}","collaborators_url":"https://api.github.com/repos/utopian-io/api.utopian.io/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/utopian-io/api.utopian.io/teams","hooks_url":"https://api.github.com/repos/utopian-io/api.utopian.io/hooks","issue_events_url":"https://api.github.com/repos/utopian-io/api.utopian.io/issues/events{/number}","events_url":"https://api.github.com/repos/utopian-io/api.utopian.io/events","assignees_url":"https://api.github.com/repos/utopian-io/api.utopian.io/assignees{/user}","branches_url":"https://api.github.com/repos/utopian-io/api.utopian.io/branches{/branch}","tags_url":"https://api.github.com/repos/utopian-io/api.utopian.io/tags","blobs_url":"https://api.github.com/repos/utopian-io/api.utopian.io/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/utopian-io/api.utopian.io/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/utopian-io/api.utopian.io/git/refs{/sha}","trees_url":"https://api.github.com/repos/utopian-io/api.utopian.io/git/trees{/sha}","statuses_url":"https://api.github.com/repos/utopian-io/api.utopian.io/statuses/{sha}","languages_url":"https://api.github.com/repos/utopian-io/api.utopian.io/languages","stargazers_url":"https://api.github.com/repos/utopian-io/api.utopian.io/stargazers","contributors_url":"https://api.github.com/repos/utopian-io/api.utopian.io/contributors","subscribers_url":"https://api.github.com/repos/utopian-io/api.utopian.io/subscribers","subscription_url":"https://api.github.com/repos/utopian-io/api.utopian.io/subscription","commits_url":"https://api.github.com/repos/utopian-io/api.utopian.io/commits{/sha}","git_commits_url":"https://api.github.com/repos/utopian-io/api.utopian.io/git/commits{/sha}","comments_url":"https://api.github.com/repos/utopian-io/api.utopian.io/comments{/number}","issue_comment_url":"https://api.github.com/repos/utopian-io/api.utopian.io/issues/comments{/number}","contents_url":"https://api.github.com/repos/utopian-io/api.utopian.io/contents/{+path}","compare_url":"https://api.github.com/repos/utopian-io/api.utopian.io/compare/{base}...{head}","merges_url":"https://api.github.com/repos/utopian-io/api.utopian.io/merges","archive_url":"https://api.github.com/repos/utopian-io/api.utopian.io/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/utopian-io/api.utopian.io/downloads","issues_url":"https://api.github.com/repos/utopian-io/api.utopian.io/issues{/number}","pulls_url":"https://api.github.com/repos/utopian-io/api.utopian.io/pulls{/number}","milestones_url":"https://api.github.com/repos/utopian-io/api.utopian.io/milestones{/number}","notifications_url":"https://api.github.com/repos/utopian-io/api.utopian.io/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/utopian-io/api.utopian.io/labels{/name}","releases_url":"https://api.github.com/repos/utopian-io/api.utopian.io/releases{/id}","deployments_url":"https://api.github.com/repos/utopian-io/api.utopian.io/deployments","created_at":"2017-10-13T09:32:24Z","updated_at":"2017-12-11T02:32:55Z","pushed_at":"2017-12-12T22:17:08Z","git_url":"git://github.com/utopian-io/api.utopian.io.git","ssh_url":"git@github.com:utopian-io/api.utopian.io.git","clone_url":"https://github.com/utopian-io/api.utopian.io.git","svn_url":"https://github.com/utopian-io/api.utopian.io","homepage":"https://utopian.io/","size":775,"stargazers_count":14,"watchers_count":14,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":19,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":19,"open_issues":4,"watchers":14,"default_branch":"master","score":43.539005},"pullRequests":[],"platform":"github","type":"ideas","tags":["utopian-io","subproject","idea","utopiandev","development"],"users":["stoodkev","utopian-io","eastmael","utopian-io-suggestion","utopian-io-sub-project","utopian-io-development","utopian-io-bug-hunting","utopian-io-translation"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1513124623/cmnne8ldqesdvpp8gfi2.jpg","https://pixabay.com/en/revelation-transformation-awareness-2937691","https://utopian.io/utopian-io/@stoodkev/utopian-vote-back-on-range","https://utopian.io/utopian-io/@eastmael/utopian-io-s-daily-top-3-with-a-twist-nov-27-2017-steemit-business-intelligence","https://utopian.io/utopian-io/@eastmael/utopian-voting-performance-how-s-the-bot-performing-steemit-business-intelligence","https://res.cloudinary.com/hpiynhbhq/image/upload/v1513123551/holu94raqjxihwsqvpaq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1513123590/w4l8e8cs6p6cykrftd8h.png","https://steem.io/SteemWhitePaper.pdf"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1513124623/cmnne8ldqesdvpp8gfi2.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1513123551/holu94raqjxihwsqvpaq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1513123590/w4l8e8cs6p6cykrftd8h.png"]}"
created2017-12-13 00:24:42
last_update2017-12-14 14:05:30
depth0
children10
last_payout2017-12-20 00:24:42
cashout_time1969-12-31 23:59:59
total_payout_value18.030 HBD
curator_payout_value6.303 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length5,736
author_reputation78,967,407,130,763
root_title"Scaling the Utopian Bot"
beneficiaries
0.
accountcnts
weight10
1.
accountdamla
weight24
2.
accountfreedom
weight658
3.
accountnetuoso
weight6
4.
accountsimnrodrguez
weight21
5.
accounttransisto
weight70
6.
accountutopian-io
weight536
7.
accountxeldal
weight27
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,301,945
net_rshares5,461,016,667,268
author_curate_reward""
vote details (28)
@hiroyamagishi ·
$1.30
I like the picture. It seems simple but it depicts a lot of values. Congratulations on your contributions in utopian-io!
👍  ,
properties (23)
authorhiroyamagishi
permlinkre-eastmael-scaling-the-utopian-bot-20171213t045346382z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2017-12-13 04:53:48
last_update2017-12-13 04:53:48
depth1
children1
last_payout2017-12-20 04:53:48
cashout_time1969-12-31 23:59:59
total_payout_value1.282 HBD
curator_payout_value0.022 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length120
author_reputation71,901,302,671,995
root_title"Scaling the Utopian Bot"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,321,910
net_rshares260,131,594,868
author_curate_reward""
vote details (2)
@eastmael ·
Thanks bro! The picture was not my first choice. I just tried to search for a picture in pixabay and the one used here caught my eye. :)
properties (22)
authoreastmael
permlinkre-hiroyamagishi-re-eastmael-scaling-the-utopian-bot-20171213t053154027z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2017-12-13 05:31:54
last_update2017-12-13 05:31:54
depth2
children0
last_payout2017-12-20 05:31:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length136
author_reputation78,967,407,130,763
root_title"Scaling the Utopian Bot"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,325,027
net_rshares0
@mkt · (edited)
$0.10
Your contribution cannot be approved yet, because it is in the **wrong category.** The correct category for your post is `Suggestion`.

You say it yourself in the end:
> Again, this is just an idea being put out into the community to peruse.

The `Sub-Project` category is only for comprehensive and formal project concepts/whitepapers. It might be a seamless transition from one to the other but I think your contribution would be better off in the `Suggestion` category.

Please edit your post to use the right category at [this link](https://utopian.io/utopian-io/@eastmael/scaling-the-utopian-bot), as shown below: 
![](https://res.cloudinary.com/hpiynhbhq/image/upload/v1509788371/nbgbomithszxs3nxq6gx.png)

You can contact us on [Discord](https://discord.gg/UCvqCsx).
**[[utopian-moderator]](https://utopian.io/moderators)**
👍  
properties (23)
authormkt
permlinkre-eastmael-scaling-the-utopian-bot-20171213t125209306z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"busy","app":"busy/1.0.0"}
created2017-12-13 12:52:09
last_update2017-12-13 12:57:24
depth1
children6
last_payout2017-12-20 12:52:09
cashout_time1969-12-31 23:59:59
total_payout_value0.076 HBD
curator_payout_value0.025 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length830
author_reputation45,513,283,519,678
root_title"Scaling the Utopian Bot"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,360,952
net_rshares19,948,087,881
author_curate_reward""
vote details (1)
@eastmael ·
Hello @mkt. Thank you for the feedback. I hope you reconsider. These were the criteria I used to define it under the sub-project category (from the [utopian rules](https://utopian.io/rules)).

> * A Sub-Project is a set of new unseen features having a great impact on the project.

I considered this contribution as an 'unseen feature having a great impact on the project' don't you think?

> * If you believe your idea does not qualify as a Sub-project use the Suggestions category instead.

I believe sub-projects are also ideas. Saying that it's an ' idea being put out into the community to peruse' does not make it automatically categorized as a Suggestion. If I removed that statement at the end of the post and state it as a formal project proposal, can this be accepted as a sub-project?

> The Sub-Project category is only for comprehensive and formal project concepts/whitepapers. It might be a seamless transition from one to the other but I think your contribution would be better off in the Suggestion category.

Do you have a sample contribution I can refer to for me to follow so that this can be accepted as a sub-project? This was the [post](https://utopian.io/utopian-io/@dez1337/steemj-image-upload-has-been-released-upload-images-to-steemitimages-com-out-of-your-java-application) I referred to.

And lastly, please correct me if I'm wrong, I think the Suggestion and Sub-Projects category were split into two depending on the size of the 'idea'. Small 'ideas' (such as make this font small, move this button to another position, etc.) are what can be categorized as 'Suggestions'. But for 'ideas' that will have a big impact and trigger other 'unseen features' on a project are what can be considered as a 'sub-project.'

Again, just asking for reconsideration.
properties (22)
authoreastmael
permlinkre-mkt-re-eastmael-scaling-the-utopian-bot-20171213t141438697z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"users":["mkt"],"links":["https://utopian.io/rules","https://utopian.io/utopian-io/@dez1337/steemj-image-upload-has-been-released-upload-images-to-steemitimages-com-out-of-your-java-application"],"app":"steemit/0.1"}
created2017-12-13 14:14:36
last_update2017-12-13 14:14:36
depth2
children5
last_payout2017-12-20 14:14:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,782
author_reputation78,967,407,130,763
root_title"Scaling the Utopian Bot"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,369,061
net_rshares0
@mkt ·
$0.45
Well, I'm afraid there is no absolute answer. The [post](https://utopian.io/utopian-io/@dez1337/steemj-image-upload-has-been-released-upload-images-to-steemitimages-com-out-of-your-java-application) you mentioned is an existing project but to be honest, I think it also would have been better off in the development category. Until now we don't have a really good example for this category yet. Maybe our expectations for it are not very well represented by the current rules but this will change in the near future, quite drastically I guess. We know that it's not clear to many people how each category should be used and there are a lot of edge cases. This will be improved!

In our case here, I must say I still think `Suggestion` is the better category, because I know the vision for the `Sub-Project` category, which is more like a Kickstarter approach. However, I will discuss this with the other mods. :)
👍  ,
properties (23)
authormkt
permlinkre-eastmael-re-mkt-re-eastmael-scaling-the-utopian-bot-20171213t144000240z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"busy","app":"busy/1.0.0"}
created2017-12-13 14:40:00
last_update2017-12-13 14:40:00
depth3
children4
last_payout2017-12-20 14:40:00
cashout_time1969-12-31 23:59:59
total_payout_value0.346 HBD
curator_payout_value0.109 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length912
author_reputation45,513,283,519,678
root_title"Scaling the Utopian Bot"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,371,865
net_rshares84,957,779,098
author_curate_reward""
vote details (2)
@utopian-io ·
### Hey @eastmael I am @utopian-io. I have just upvoted you!
#### Achievements
- You have less than 500 followers. Just gave you a gift to help you succeed!
- Seems like you contribute quite often. AMAZING!
#### Suggestions
- Contribute more often to get higher and higher rewards. I wish to see you often!
- Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!
#### Get Noticed!
- Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!
#### Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER!
- <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a>
- <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a>
- Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a>

[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)

**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
properties (22)
authorutopian-io
permlinkre-eastmael-scaling-the-utopian-bot-20171215t023536327z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2017-12-15 02:35:36
last_update2017-12-15 02:35:36
depth1
children0
last_payout2017-12-22 02:35:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,506
author_reputation152,955,367,999,756
root_title"Scaling the Utopian Bot"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id23,566,962
net_rshares0