Small updates to Utopian.rocks and more

in utopian-rocks •  6 years ago  (edited)


Thanks to @podanrj for the image
https://utopian.rocks/

A couple of day's ago the 1st version of the new Utopian bot was released. Of course it's not 100% perfect yet, but it's already an improvement over the previous one and will get even better over time, in my opinion. With this I have also made some other small changes to Utopian.rocks and the code that handles the spreadsheet.

Utopian.rocks

https://github.com/amosbastian/utopian.rocks

Updating the queue



Thanks to @oups for the image 😍

The behaviour of the voting bot has changed, and so has https://utopian.rocks/queue. It now shows the exact order of the next voting round, and the remaining contributions not included sorted by score.

As you can see in the image above the #1 contribution of each category is inserted at the front of the voting round, while also being sorted by score. The remaining contributions in the voting round are the remaining eligible contributions sorted by score. It's clear that the scores across categories aren't really consistent across categories, as for example translations generally have a higher average score compared to development contributions. This means that those contributions are voted on earlier in the voting round when @utopian-io's voting power is higher, whereas contributions in other categories are generally voted on when the voting power is nearing 80%. There are some ideas floating around that could be a solution for this, so if you have any thoughts then please let me know!

Note: this order will probably change in the future once I figure out a solution to a problem I've been having a very hard time explaining to others. Because of that I won't bother trying to explain it here.

The above was pretty easy to implement as I could just use the bot's code to find out which contributions will be in the next voting round. One of the only things I had to change was the removal of contributions that will be older than 6 days and 12 hours by the time the next voting round starts. In these last 12 hours the reward is scaled down linearly if I can recall correctly, so upvoting them is inefficient and thus not done. If you saw that your contribution had disappeared from the queue after a voting round, then this is why.

UPDATE (04/11/2018)



Since posting this contribution I have changed it so that all contributions are first sorted by creation date, and then by score. This results in a new voting round which can be seen above. It's obvious there is still a "problem" with the average score of translations being so high, which results in them being voted on very early into the voting round. A solution for this would to for on the #1 contribution per category like before, but then repeat this for the #2, the #3 etc. What do you guys think about this?

I also added the score at the request of @elear, so contributors can see for themselves how contributions are sorted. All scores have been rounded, so it may happen that your actual score is a 99.5, but it shows 99 instead. Clicking on the score will take you to the moderator's review comment as well.

Improved filtering



Improved filtering

Before this update you could only filter by one category at a time, and it wouldn't update the contribution counter in the top left. Now you are able to toggle categories, which allows you to filter by multiple categories, and actually updates the number of contributions. It's a small change, but I think it's a good quality of life one.

I'm not very good at JavaScript at the moment, so if you have any tips or things I could improve about it, please let me know!

Updating the countdown & voting power



Improved countdown & voting power

I was watching Wes Bos' JavaScript 30 a couple of weeks ago and he has a video where he creates a countdown similar to the one on Utopian.rocks. In this video he mentioned a better way to use setInterval which means that the countdown is updated properly (I had sometimes noticed it would get out of sync after a while). Because of this I decided to adapt the code from this video and use it to improve the countdown. Since the voting power was static before, I also decided to improve this and use the same method to so that it also increases over time.

I also added the countdown to the document's title, so you can see the countdown without actually being on the page (not that useful, but still thought it was neat).

Fixing responsiveness



I noticed that because of "iamutopian" being added as a category, Utopian.rocks wasn't looking to great on my mobile phone. The number of category filtering buttons were causing the page to be too wide, so I added some small changes to the CSS to fix this. If you stopped visiting Utopian.rocks on your mobile because of this it is now hopefully fixed (just wanted to let people know).

Utopian-spreadsheet

https://github.com/amosbastian/utopian-spreadsheet

Marking "expired" contributions


Marking contributions that won't be upvoted

As I mentioned earlier, some contributions will be older than 6 days and 12 hours by the time the next voting round starts, which means they won't get voted on. This is already reflected on Utopian.rocks, but wasn't actually updated in the spreadsheet. Obviously this could by pretty confusing if you see a contribution's status is "Pending" in the sheet, but not showing on Utopian.rocks. Because of this I created a simple script that will run every 5 minutes and update the status of the contribution to "Expired" in the spreadsheet.

Removing deleted contributions

Sometimes a contribution is added to the spreadsheet before it is deleted. This was causing an exception when moving contributions to the "reviewed" worksheets. Simply adding a try except which deletes contributions from the spreadsheet when they have been deleted makes it so this doesn't have to be done manually anymore. It's not a big change, but I thought I'd mention it just incase people think they still have to do it manually.

I mentioned this in a previous update, but you also don't need to enter the review date anymore. Just your name and score!


I have an idea to improve the order of contributions in the voting round, so I'll probably work on that next. If you have any further questions, then please let me know. You can contact me on Discord at Amos#4622 if needed.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Great updates.

Remembering the first version of utopian.rocks, you have made a great progress in time. :) The addition of score is a great touch.

Thank you.


Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thank you for your review, @emrebeyler! Keep up the good work!

Nice updates the problem is whether you like it or not luck is an element of the equation, for example some good contributions will not be upvoted because there are others with higher score that keep delaying it in the queue, the same goes for low contributions, some of them will get upvoted simply because there were no better contributions. Obviously we cannot vote all contributions but I suggest to add the age of the contribution as an element of the overall rank inand the queue, for exp let's say 80% of the score counts for the quality of the contribution and 20% for the age. The higher the age the more the score, of course that's just a random distribution, all we have to do is to find that sweet spot.This way we ensure that at a certain level, older contributions will get higher chance (with time )to get rewarded before their expiration. I believe it's a great fix ...
[Ps:upvoted for visibility]

Categories have their own reward share, so it's not unfair if a contribution in that category doesn't get upvoted because other contributions in that category have a higher score. It simply means that the author of the contribution with the low score should try to up the quality of their contributions. Luck has nothing to do with it.

The fact that contributions with a low score get upvoted simply because there aren't any other contributions in the category is not a problem with the bot.

Finally, the queue is sorted by creation date and then by score. This means that contributions when contributions in the same category have the same score, older ones will be prioritised.

Shares remain as they are, this suggestion is for categories with high competition such as translation, if you make a good contribution but there are better ones, you might not get an upvote.

Great update Amos!
The quality of your posts is amazing!
I love the countdown in the document's title, it's good for anxiety :P

Thanks! And yes, the countdown to the next voting round has definitely caused some anxiety on my side as well, haha.

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 3 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 12 SBD worth and should receive 104 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Hey Amos, quick question! As you know the translation category gets a lot of posts, and because of the scoring there are a lot of posts with similar score.
How does the bot deal with that?
Is it a matter of first come first serve, in case there are 2 posts with a let's say 78 score? Is it based on post age? Is it ignored? I'm very curious!

Great work on both the bot and the site!

ps: The site does look amazing again on mobile, great update!

Thanks! There is no specific behaviour for that at the moment. Currently it just uses Python's sorted() to sort contributions by score, so I'm not sure exactly happens when they have the same score. I can see if I can make sure it's sorted by each contribution's age in the case of scores being the same.

Cool! Because I'd understand if it looked at either post-age or time in queue (not sure how often those are very different) to make sure that posts that are older aren't getting butted out of a reward simply by being later to the party, or a post getting shoved down and missing payout because newer posts with slightly higher points keep it out of certain payout range.

I just changed it so it's sorted by creation date first, and then by score. I also added the score of each contribution to Utopian.rocks at the request of @elear, so people can see it for themselves.

Awesome, great change! Thanks for listening to the community :D!

Well, I'm happy to read this, because I missed out on two votes last week. And to be honest, it wasn't very appealing to continue translating after that. I saw new posts rising above mine in the queue, and eventually bumping my post out of the queue :(

Congratulations @amosbastian! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 7000 upvotes. Your next target is to reach 8000 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:

The new Steemfest³ Award is ready!
Be ready for the next contest!

Support SteemitBoard's project! Vote for its witness and get one more award!

Hi, @amosbastian!

You just got a 0.25% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Hi @amosbastian!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @amosbastian!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!