I have been using the GINA bot on Discord for quite a long time now, mainly for notifications on new posts from selected people and activity on specific topics. It has been an invaluable companion in my daily, not so publicly visible, activity on Steem. If I put aside occasional delays or service outage, I would say it is the best customizable notification service I could imagine. Actually, those delays generally have a minor impact on the user experience.
Don't get me wrong. There are great frontends such as Busy, SteemPeak and mobile apps that have a notification system. I suppose I should not forget about steemworld, a complex set of tools to keep track of one's recent activity that could be used for similar purposes.
The bot's greatest feature is that you can follow not only your activity but, by setting several criteria and parameters, others' as well. With all the positives of using this notification system, there is one issue I face as a Steem user, reader and curator. Instant notification of a new post is a real advantage for any activity tracking system on Steem. However, as a curator, you may not want to upvote the post at the exact time you read it (a short time after it was published) because you lose a portion of your potential curation rewards.
Unlike automated services or scripts which could help you increase your curation rewards, I would like to talk about enhancing manual curation after actually reading the content. I also use a shamefully bad script to vote for a set of selected people to support them with the expectation of higher curation rewards. Still, I'd like to propose a feature that could be integrated to any frontend on Steem, as the function is not for the blockchain but the user interface enhancing the experience.
Let's talk about delayed voting. I honestly don't know whether there is an app that has this feature but the major apps definitely don't. It's true that anyone with the relevant skills could write a short program to do this for their own use. However, I believe that implementing this simple idea could improve manual curating on the blockchain.
Of course, I assume good intentions on the users' part. I would really like to see fewer posts with hundreds of curation trail votes, or any automated votes from people that don't even know what they are voting for. Sure, some of the influential authors with enough SP can utilise voting services of any kind to use their VP and SP effectively. Anyway, this post isn't about automated votes.
Last note before we jump into the details. I looked for relevant tools and similar ideas. I will list them here.
The first one I found was a Google Chrome extension that supposedly gave the option to make a delayed vote with whatever weight you choose. You can read more about that in Delayed upvoting - Google Chrome Extension.
The second resource I found is an idea proposed to @steem-plus many months ago in Suggestion:[Steem Plus] add delay upvoting at 100% Voting Power, and also directly submitted to the creator @stoodkev as a comment to one of his updates post.
As you can see, I am not the first person to have this idea. However, it seems to have been overlooked for a long time.
Delayed votes on Busy
As I mentioned above, delayed manual voting is an idea that could be implemented in any Steem frontend (e.g. Steemit, SteemPeak) but I will try to demonstrate the proposed feature on Busy.
Busy.org has been an alternative to Steemit.com, serving as an interface for all content on the blockchain. It is not an app that shows content based only on the app, topics, or users. As such, it contains the most used and essential functionality for ordinary users in their daily activities on the blockchain.
Although Busy has not presented any new features lately, I still believe that proposing this functionality to them is as beneficial as to anybody else.
Placement of the delayed votes option
A user can currently enable a vote weight slider in the settings. Delayed votes could be enabled there as well, following the same principles as the weight slider.
A user will be able to decide whether they are interested in using such a feature. If they are, they will be able to pick a delay from 0 minutes (instant vote cast) to 20 minutes. The maximum delay is arbitrary, but I believe that 20 minutes is sufficient time. I don't feel it makes much sense to delay a manual vote more than that.
Note: I edited the Voting Power settings to demonstrate the slider, but the intention is not to replace the VP settings.
Delayed votes should apply to both posts and comments as, as both can receive votes, and different users prefer voting for different kinds of content. One may prefer a quick read through comments, and thus the option should apply to comments too.
Demo on a post
Let's assume that we have the voting weight slider and the voting delay slider enabled. Then we will see two sliders when we want to cast a vote.
As displayed above, users will be able to choose the delay time of the vote. I would still recommend casting the votes immediately as often as possible. On the other hand, as it is the point of this post, a reader/curator will have an advantage when reading the post "too early".
The same set of sliders would apply to comments. They are not much different.
I have presented a suitable location to enable the option, and how it could look. But how can such a feature actually work? I believe that the idea is not difficult, but there may be different ways to implement it. Therefore, I will only describe the basic flow.
For the functionality to be implemented, we'll need a priority queue of votes sorted by the time left for the vote to be cast.
When a user wants to upvote a post or a comment, they will see the sliders. After setting all parameters and confirming the action, the vote transaction will be put into the priority queue. There is going to be a regular check to see if there is any action/vote to be done. Using such a mechanism could cause votes to collide. Therefore, and because there must be a time gap of 3 seconds between two votes, there should be a check for a possible collision by error handling. In that case, there will be another attempt to cast a vote (repeated 3 times at most). If the vote was not successful, the user is notified via an error message with an exact post/comment link so that they have a chance to repeat the action manually.
For simplicity, we assume that the user does all voting activity in one active window. If they close the window, all pending actions are cancelled. This enhancement is out of the scope of this suggestion and is entirely up to the developers.
I believe that delayed manual voting can increase engagement in the manual curating process, as opposed to any automated services with similar functionality. For the best outreach, I feel the function should be implemented in one of the significant Steem user interfaces, i.e. the Busy.org frontend as I presented in this post.
I hope that I am not the only one who often thinks, while reading a post, that such functionality would improve the user experience. Some may say that wishing for such a feature is selfish. Reasoning that you are trying to maximise your curation by balancing your prediction of the number of votes before your vote, and actually trying to vote as late as 30 mins after publishing of the content. However, I believe that this feature can only enhance the overall experience.
- post banner image created by @oups