QFilter: An Experimental Content Filter On Top Of The Steem Blockchain

in #q-filter7 years ago (edited)

Last week, I proposed a quality discovery algorithm as an alternative to current filters on the Steemit website. I read some of the feed back and some of the criticism on the algorithm. I appreciate the discussion on the topic and I have started brainstorming on some solutions to address some of those concerns. In the meanwhile, I decided to code up a quick version of that algorithm pulling data from the STEEM blockchain in order to run an experimental version of the filter. I'll also describe some of the implementation ideas below.

First, off I did not implement the entire system I designed as that would require either a very clever workaround or changes to the actual blockchain. What I did do was implement the quality score which was a stake-weighted average divided by some measure of spread. The equation can be seen below:



Last time, I mentioned the need for having a more expressive language to express one's opinion in a better way. Steemit only has upvotes and downvotes, but you are able to give partial votes, thus I came up with a conversion from upvote percentage to score. A table of example values can be seen below:

TypeUpvote PercentageEquivalent Rating
Upvote100%10.00
Upvote75%8.75
Upvote50%7.50
Upvote2%5.10
Flag5%4.75
Flag100%0.00

It is not perfect, but it gives people more of a range to vote with and somewhat correlates with current voting patterns. Typically you would expect a user to give a full upvote to pieces of content that they thought were great quality. But again, this idea is not perfect, especially given the current ecosystem, but that is one of the reasons for setting up this experimental demo.

Speaking of demo, I'll briefly talk about the interface and how to participate. The non-existent user interface is a raw HTML web page (90's style) with a list of links to posts so you can read and judge for yourself. The are several good reasons for not having a sexy modern UI but the main one was that I didn't feel like doing one. A screenshot can be seen below:

To have one of your posts show up on the interface simply use the q-filter tag as one of your tags. I will warn you now that I take no responsibility on how your post will be received and how it will be voted on. The better the post, the less you have to worry.

In order to vote on the post, you'll have to use an already existing interface. For those with low Steem power, I recommend using Busy.org as it allows you to give a variable vote. Not sure why that is available to everyone on Steemit, but it isn't. Or you could just use Steemit and give out 0's and 10's. It's your choice. Given that it is a stake-based voting system, the small votes shouldn't really impact the score unless it is only smaller voters voting on the post.

What incentives do you have to participating in this experiment? If there is a small enough sample size, I'll try to vote on as much content as possible. And as long as that content is not trash, I'll try to give you an upvote proportional to the quality of your post as seen through my eyes. If the content is trash, I'll avoid giving that 100% flag unless I think you are doing some morally wrong. An important note: My 100% upvote is not big.

One last note: The webpage is hosted on a free server, and thus will be really slow if it experiences a lot of traffic. So, be patient with the webpage. If such things bother you don't have to participate in the demo. Also, if people actually use it, the scheduler is programmed to keep the 1000 freshest posts in the database. But I don't expect seeing that type of volume in this experiment. Also, there may be a delay between the time your post is posted before it shows up. The script takes a look for q-filter posts every ten minutes.

If there is a lot of demand for this sort of thing, I might upgrade the server and push some more updates up or not. But I do think that a lot more experimental projects should take place before changes are made to the blockchain, so we avoided unintended consequences. Who knows? This might be the stupidest idea on this side of the blockchain. But I'm curious, so that's why I set it up.

If you have any complaints, criticisms, ideas, questions, or anything other information you generally consider useful, then feel free to comment or ask below and I'll respond if I feel like it. I usually feel like it.

EDIT: Here's a link to the demo page. That might be important.

Sort:  

Congratulations @greer184! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63914.63
ETH 2664.93
USDT 1.00
SBD 2.77